SSブログ
前の30件 | -

No.378 - クロテンの毛皮の女性:源氏物語 [文化]

Parmigianino - Antea_2.jpg
パルミジャニーノ
「アンテア」
No.332「クロテンの毛皮の女性」のテーマは、16世紀イタリアの画家・パルミジャニーノの『アンテア』(ナポリ・カポディモンテ美術館)でした。女性の全身像を描いた絵です。この絵の大きなポイントは、超高級品であるクロテンの毛皮で、しかもその毛皮にクロテンの頭部の剥製がついている(当時の流行らしい)、そのことによる "象徴性" でした。それは、描かれた女性の気性きしょうと感情を暗示している(と、絵を見る人が感じる)のでした。

ところで『アンテア』とは何の関係もないのですが、日本文学史上で著名な、"クロテンの毛皮を身につけた女性" がいます。源氏物語の登場人物の一人である "末摘花すえつむはな" です。以下、源氏物語でクロテンの毛皮がどのように扱われているかをみていきます。漢字で書くと、クロテン = 黒貂 です。


末摘花


源氏物語の第六帖は「末摘花」と題されています。末摘花は、赤色染料に利用する紅花べにばなの別名で、同時に、源氏がある姫君につけた "あだ名" です。名前の理由は物語の中で明かされます。

第六帖「末摘花」において源氏は18歳(数え年)す。この年齢では、物語の先々まで影響する重要な出来事が起こります。まず、父(桐壺帝)の妃である藤壺との密通があり、藤壺が懐妊します。また、不遇の身である紫の上(藤壺の姪)を見い出し、二条院(源氏の邸宅)に引き取ります。これらの出来事は第五帖の「若紫」で語られますが、同時並行で進むのが「末摘花」です。

大輔たいふ命婦みようぶという女官がいました。彼女の母親は源氏の乳母です。つまり、大輔の命婦と源氏は一緒に育てられたわけで、兄妹も同然であり、二人は何でも言い合える間柄です。

あるとき、大輔の命婦がふと源氏にもらしたことがありました。故常陸宮ひたちのみやの姫君が一人残されていて、常陸宮邸でひっそりと暮らしている。誰とも会わず、琴だけを友としているとのことです。源氏は俄然、この "深窓の姫君" に興味を持ちました。故常陸宮は琴の名手として知られていたので、姫君も上手ではとの思いもありました。

源氏は、今は荒れた常陸宮邸の庭に忍び込み、姫君が奏でる琴の音を聴きました。そのあと姫君に恋文を送ります。しかし姫君からは何の返事もありません。

らちがあかないので、源氏は大輔の命婦に手引きをさせ、八月のある日、ついに姫君と結ばれます。しかし、姫君のあまりに初心うぶでぎこちない様子に源氏は失望しました。翌朝すぐに出すべき後朝の手紙も気が乗らず、夕方になってやっと書く始末で、それっきり姫君を訪ねる気にはなりませんでした。

手引きをした大輔の命婦は責任を感じ、姫君を訪ねようとしない源氏を責めます。それもあって源氏は秋になってから、上皇への行幸に関連した公務が一段落したあと、何度か姫君を訪ねます。しかし姫君の様子には不満が残りました。

やがて冬を迎え、源氏は久々に常陸宮邸で一夜を明かしました。翌朝は一面の雪景色です。雪の美しい景色を見るように誘った源氏の声に、姫君はやっと部屋の外に出てきました。その雪明かりの中で、源氏は初めて姫君の顔をよく見るのです。その描写が次です。瀬戸内寂聴の現代語訳で引用します。


源氏の君は、姫君を見ぬふりをしながら、外の方を眺めていらっしゃいますが、横目でしきりに御覧になります。さて、どうだろうか、こうして打ちとけた時に見て少しでもよく見えるようだったらどんなに嬉しいだろうとお考えになるのも、身勝手なお心というものです。

何よりもまず、座高がいやに高くて、胴長なのが目に映りましたので、やはり思った通りだと、お胸もつぶれるお気持でした。その次に、ああ、みっともないと思われたのは、お鼻でした。ふとそこに目がとまってしまいます。普賢菩薩ふげんぼさつのお乗り物の象の鼻のようです。あきれるばかり高く長くのびている上に、先の方が少し垂れ下がって、赤く色づいているのが、ことのほかいやな感じでした。

顔色は雪も恥ずかしいほど白くて青味を帯びています。額つきはむやみにおでこで広く、それでもまだ顔の下の方が長く見えるのは、たぶん恐ろしく長いお顔立ちなのでしょう。痩せていらっしゃることといったら、お気の毒なほど骨ばっていて、肩のあたりなどは、痛そうなほどごつごつしているのが、お召物の上からでもありありと見えます。

源氏の君は、どうして何もかもすっかり見てしまったのだろうと思いながら、姫君があまりにも珍しい御器量なので、やはりついお目がそちらへよせつけられてしまうのでした。

頭の格好や、髪の顔に垂れかかった様子だけは、申し分なく美しいとお思いになっていらっしゃる女君たちにも、おさおさ劣らないくらいに見えます。うちきの裾に長い黒髪がたまって、なお床にあふれている部分は、一尺にあまるだろうと思われます。

お召物のことまで言いたてるのは口さがないようですが、昔物語にも、まず人物の着ている衣裳について語っているようです。それにならっていえば、姫君は薄紅うすくれないの、ひどく古びて表面が白っぽく色褪せた一襲ひとかさねの上に、色目も見えないほどすっかり黒ずんだ紫色の袿を重ねて、表着うわぎには黒貂くろてん皮衣かわぎぬの、たいそう艶やかで香をたきしめてあるのを着ていらっしゃいます。古風な由緒ある御衣裳ですけれど、やはり若い姫君のお召物としては不似合いで、ものものしすぎるところがとりわけ目につきます。けれども、やはりこの皮衣がなくてはさぞお寒いことだろうと思われる姫君のお顔色なので、お気の毒だと同情なさって御覧になるのでした。

紫式部『源氏物語』
第六帖「末摘花」
瀬戸内寂聴・訳(講談社 1997)

瀬戸内寂聴・源氏物語・巻二.jpg
瀬戸内寂聴・訳「源氏物語 巻二」
(講談社 1997)
第六帖「末摘花」から、第十一帖「花散里」までが収められている。

何度か一夜を共にしたにもかかわらず、雪の朝に初めて姫君の顔をよく見たというのは、当時の夜の照明事情を反映しているのでしょう。その、源氏がびっくりしてしまった末摘花の様子をまとめると、

・ 座高が高くて、胴長
・ 鼻が高くて長い。鼻先が少し垂れて赤く色づいている
・ 雪も恥ずかしいほどの色白
・ おでこで広く、面長の顔
・ 痩せていて骨ばっている
・ 頭の格好はよい
・ 床に届いてなお余る長い黒髪

となるでしょう。要するに、プラスポイントである頭の格好と長い黒髪は別にして、源氏が見なければ良かったと後悔するぐらい "不器量な" 女性であり、紫式部はそれを、これでもかと言わんばかりに描写しているわけです。源氏がのちに姫君を末摘花(= 紅花)と呼んだのは、"鼻先が赤い" ことによります(= ベニバナ)。源氏は後に二条院で、鼻に紅を塗って幼い紫の上とたわむれるという、人としてどうかと思える行為をしています。その末摘花の召し物は、

・ 色褪せた薄紅の一襲(ひとかさね)
・ 黒ずんだ紫色の袿(うちき)
・ 黒貂の毛皮

です。この召し物の描写で、"荒廃した邸宅に住む、没落した宮家の姫君" が表現されています。黒貂の毛皮は、当時の渤海国(現在の極東ロシア南部から朝鮮半島の国。698-926)からの輸入品でした。渤海国と日本の関係は深く、30回以上も "渤海使" が日本に派遣されています。日本からも使者が送られました。

瀬戸内寂聴・訳「源氏物語」の注釈によると、黒貂の毛皮は高級品で、主として貴族の男性の召し物であり、村上天皇のころには流行したが、一条天皇(在位 986-1011)の頃には時代遅れであったらしい、とあります。紫式部が「源氏物語」を執筆したのは一条天皇の頃です。その頃、渤海国はすでに滅んでいて、渤海使も途絶えていました。要は、黒貂の毛皮が象徴するのは、

・ 輸入された高級品 = 皇族や上位貴族
・ 少々時代遅れ
・ 女性が着るには不適

ということです。黒貂の毛皮は故・常陸宮の遺品と想定されているはずです。このあたり、末摘花の容姿の記述と合わせて、"没落した宮家の不器量な姫君" を "意地悪く" "丹念に" 描く紫式部の筆力が冴えています。紫式部が「源氏物語」を書いた当時、"黒貂の毛皮を着た女性" がどういう意味をもつのか、同時代の読者にはすぐに分かったのでしょう。それを知った上で、わざわざ「黒貂の毛皮というレアなアイテム」を女性に着せた紫式部の技量を感じます。もちろん、源氏物語の女君で黒貂の毛皮を着ているのは末摘花だけです。

クロテンの毛皮は、現在でもミンクの毛皮より高級品です。絵画や小説の登場人物で「クロテン(黒貂)の毛皮を着た女性」というと、最高級の毛皮ということから「裕福」「富裕層」「上位階級」が連想されます。さらに女性のイメージとしては「美人」とか「意思の強さ」などでしょう。パルミジャニーノの『アンテア』はまさにそのような象徴性もった絵画でした。

それに対して、紫式部が「末摘花」に着せたクロテンの毛皮は、全く逆の象徴性で使われています。姫君の容貌と召し物をネガティブに描写するなかで、トドメを刺すように使われている。そこがおもしろいところです。「荒れた邸宅なので毛皮なしでは寒いのだろう」と源氏が思うのも、不適切な召し物を通り越して同情を誘うレベルだということでしょう。



姫君に同情した源氏は、その後姫君を援助し、手紙のやりとりをし、何度か姫君を訪れました。



常陸宮の姫君・末摘花のその後は、第十六帖「蓬生よもぎう」で語られます。蓬生とは、蓬などの雑草が茂る荒れた場所の意味です。

須磨、明石と、流離の生活を送った源氏は、その後、都への復帰を果たしました。ある都の通りを源氏が過ぎると、藤の咲いている荒れ果てた邸宅が目にとまります。見覚えがある気がしたのですが、それは末摘花の常陸宮邸だと思い出しました。流離の身であった間、源氏からの援助は途絶えていて、荒れ放題だったのです。源氏は、生い茂った雑草をかきわけて邸に入っていき、久しぶりに末摘花と再開します。

実は末摘花は、ずっと源氏のこと一途に想い、源氏との再会を信じて常陸宮邸で暮らしていたのでした。困窮の生活でしたが、邸を人手に渡さず、調度品を売ることもなく、使用人が離反していく中で、宮家の誇りをもって邸を守ってきたのです。内気で不器用なのは以前の通りですが、その純情さ、身のこなしの優雅さ、気品、皇族としての矜持に、源氏はいたく感動します。源氏は薄情だった自分を深く恥じ、人をやって雑草を刈らせ、邸の修理もさせて、末摘花の生活の面倒をみました。

そして再会の2年後、源氏は末摘花を別邸である二条東院にじょうひがしのいんへ引き取り、末摘花はそこで安寧に暮らしたのでした。ここで第十六帖「蓬生」は終わります。



この末摘花について、別の解釈をされる方がいます。以降はその話を続けます。


ウェイリー版・源氏物語


NHK Eテレの「100分 de 名著」は、2024年9月2日から23日の4週にわたって「ウェイリー版・源氏物語」をとりあげました。イギリスの東洋学者・詩人のアーサー・ウェイリー(1889-1966)が英訳した「源氏物語」(1925~1933 出版)を再び現代日本語に "戻し訳" した「ウェイリー版・源氏物語」(2017)がテーマです。戻し訳をしたのは、毬矢まりやまりえ(俳人、評論家)、森山 恵(詩人、翻訳家)の姉妹です。

ちなみにアーサー・ウェイリーの英訳は世界に「源氏物語」を知らしめ "世界文学の傑作" との評価を得るに至った意義あるものです。故・ドナルド・キーンさんも、ウェイリー訳のとりこになって日本文学研究を志したといいます。

与謝野晶子が現代日本語に訳した「源氏物語」が出版されたのは1912年~13年で、これによって多くの日本人が「源氏物語」に接することになりました。原文で読める日本人はごく少なかったからです。ウェイリー訳の出版は与謝野晶子のわずか13年後です。一般の日本人がじかに「源氏物語」に触れた時期と、イギリス人が「源氏物語」に読んだ時期がほとんど同じだった ・・・・・・。この事実もってしても、アーサー・ウェイリーの仕事の偉大さが分かります。

ウェイリー版・源氏物語1.jpg
「ウェイリー版・源氏物語 1」
毬矢まりえ・森山恵訳
(左右社 2017)

第六帖「末摘花」が収められている。表紙はクリムトの「接吻」(1908)だが、「源氏物語」のすべての発端となった "桐壺の更衣を寵愛する桐壺帝" を象徴している。
「100分 de 名著」の番組 MC は、伊集院光さんと、NHKの安部みちこアナウンサーで、テーマとする名著ごとにゲストが招かれます。「ウェイリー版・源氏物語」のゲストは能楽師の安田登氏でした。安田氏は古典の魅力を伝える本を数々出版されています。

そして、2024年9月23日に放送の第4回(最終回)には「ウェイリー版・源氏物語」を戻し訳した毬矢・森山姉妹が出演しました。この回に末摘花の話題が出てきました。ウェイリーの英訳で読むと、紫式部の原典に比べて最も印象が変化した人物が末摘花だと、姉妹は口を揃えて言います。そのあたりを文字で引用します。

以下の引用で、"ナレーション" は毬矢・森山訳「ウェイリー版・源氏物語」を要約している部分、"朗読" はそのまま朗読している部分です。朗読中の( ...... )はウェイリー版にある記号で、【 ...... 】は朗読では省略された部分です。また、〈 ...... 〉はこの引用をする上での補足です。


ナレーション
スエツムハナは皇族、常陸宮の姫。しかし父をなくし、今は荒れ果てた家にひっそりと暮らすロンリー・プリンセス。そのシチュエーションに深く惹かれたゲンジは、引っ込み思案で顔も見せない彼女と関係をもちます。しかしある朝、その姿をはっきり見て、ゲンジは仰天するのです。

朗読(松永玲子)
ああ、それにしても、なんという馬鹿げた間違いを犯したのだろう。この姫君がとにかく背丈がとても高いのは座高でわかります。これほどの胴長の女性がこの世にいるとは。やにわに、最大の欠点に目が引きつけられました。

鼻です。鼻から目が離せません。まさにサマンタバドラ〈漢字のルビで "普賢菩薩"〉さまの白象の鼻! 驚くほど長く目立つうえに、(なんとも不思議なことに)少し下向き加減に垂れたその鼻先はピンク色で、雪の白さもかすむほどの色白な肌と、奇妙なコントラストを成しています。【額が並外れて迫り上がっていて、顔全体は(うつむいているので一部隠れていますが)とてつもなく長いようです。】たいそう痩せて骨ばり、とりわけ肩の骨が痛ましくドレスの下で突き出ています。こんな惨めな姿をさらさせてしまったとは。申し訳ない気もしますが、あまりに奇っ怪な姿に、どうにも目が釘付けになってしまいます。

ナレーション
髪はどの姫よりも素晴らしく長いけれど、その時代の姫は誰も着ないような古めかしいクロテン、セーブルの毛皮マントを身にまとったスエツムハナ。その姿にゲンジは、驚きと同情を禁じ得ないのでした。

安部アナウンサー
ひどい書き方 !

伊集院 光
ひどいってことなんだ。ひどいってことを手数を尽くして書いている。

森山 恵
初めは原典を読んで、普通にこういう姫君だと思っていたのですけれども、英語で読んだときに、あらっ、これって、そんなに悪くないんじゃないって思ったんですよ。驚くような誇張表現をしているけれども、「鼻が長い」っていうのも英語で読むと「鼻筋が通っている」って聞こえるんですよ。いま、座高が高いってあったけれども、それって背が高いってことで、骨が浮き出てるって、細いっていうことですよね。そして色が白い。雪のように白い。だからこそ、ちょっと寒い雪の朝に鼻の先が赤くなってしまった。髪が長くて ・・・。素敵なんじゃないと、二人でなったんですね。

伊集院 光
ちょっと思うんですよ。この無国籍になった〈ウェイリー版「源氏物語」をさす〉あとでこの表現が入ってくると、この国でははやらないのかも知れないけれども、美とは何かとか、綺麗な人とは誰かみたいなことが〈頭の中で〉くるくる回り始める。

毬矢まりえ
彼女はもしかして外国にルーツがあるのではないかなと思ったんですね。クロテンのマントを着ているというのを、実は英語ではセーブルって訳してるんですね。セーブルの毛皮ってミンクよりも高級な ・・・

伊集院 光
いいモノなんだ

毬矢まりえ
今で言う朝鮮半島からロシアにかけて、渤海国っていう広大な国があって、そこから日本に入ってきてたそうなんです。紫式部は越前にいたことがあって、そこは当時の国際都市なので、港からいろんなモノが入ってくるから、彼女は外国人を見ていたかもしれないし、クロテン、セーブルも見てたのかな、と。

安田 登
この前の時代、「今昔物語」のシーンにですね、重明しげあきら親王という方がいて、この方が渤海国の使者の前にクロテンのマントを何枚も着て出たという話があるんですよ。しかも、重明親王の息子〈かもしれない人〉が〈スエツムハナに〉そっくりなんですよ。描写が ・・・。顔が白くて、鼻が高くて ・・・。ひょっとしたら重明親王の奥さんが渤海国の人で、だからいっぱいセーブルのマントをもらえて ・・・・・・。で、宮の子供がその子だったとしたら、これがそのまま常陸宮とスエツムハナの関係になるのかもしれないなんて、いろんな妄想が膨らむんですよ。

100分 de 名著  
「ウェイリー版・源氏物語」(4)
(NHK E テレ。2024年9月23日)

毬矢さんの「紫式部は外国人を見ていたかもしれない(= その記憶をもとに末摘花を造形したのではという含意)」とか、安田さんの重明親王の息子うんぬんの話は、"妄想" のレベルでしょう(安田さん自身、妄想が膨らむと言っています)。しかし歴史談義で妄想するのは別に悪いことではありません。この引用でのポイントは森山さんの発言で、

源氏物語の末摘花の描写を英語で読むと、末摘花は素敵な人と思えてくる

というところです。そして伊集院さんの発言が示唆しているように、

紫式部が誇張表現で描写した末摘花の容貌は、その時代の日本の貴族社会の基準では不器量の典型だったけれど、20世紀以降のイギリス人の基準では、そして現代日本の基準では素敵な人(かもしれない)

ということです。たとえば、鼻筋が通って鼻先が垂れている、という様子ですが、現代の日本の女優さんでもそういう人はいます。たとえば松雪泰子さんです。彼女を不器量だと思う日本人はいないでしょう。北川景子さんでもよい。もちろん現代では女性について鼻先が垂れていると表現はしません。そういうことは全く意識しなくなった、つまり "美" の規準が変わったのです。つまり規準は時代によって、また文化によって変化する。あたりまえのことですが改めてそう思います。

そして、もし英訳された「ウェイリー版・源氏物語」を読んだ英国人や英語を母語とする人が、スエツムハナは素敵な人だと思ったとしたら、それは紫式部の意図とは違うことになります。さらに、素敵な人であるにもかかわらず、"欠点" とか、"惨めな" と出てくるので、英語版の読者としては少々違和感を抱くかも知れません。

しかしこれは「世界文学としての源氏物語」にとって、当然そういうことはありうるのでしょう。それは逆もまたしかりで、我々が外国の作品で世界文学となっているもの、たとえばシェイクスピアや、19世紀のフランスやロシアの小説(バルザックやドストエフスキーなど)を日本語訳で読むときも同じことが言えるはずです。

そういう些細な "誤解" のいろいろを乗り越えて、また1000年の時を乗り越えて小説としての深みと魅力を感じさせるのが「世界文学としての源氏物語」である。そういうことだと思います。読んだ人の人生を変える力を持った小説は、そうないはずです。


The Tale of Genji - The Saffron Flower


アーサー・ウェイリー訳の「源氏物語」とはどういうものなのでしょうか。興味がわいたので、瀬戸内寂聴訳で引用した部分だけを読んでみました。

レディ・ムラサキのティーパーティー.jpg
「レディ・ムラサキの
ティーパーティー」
毬矢まりえ・森山恵
(講談社 2024)
アーサー・ウェイリー訳では、第六帖の「末摘花」は "The Saffron Flower"= "サフランの花" と英訳されています。毬矢・森山訳では「サフラン姫」です。サフランはパエリアやブイヤベースの香辛料としてなじみのあるものです。末摘花=紅花(キク科)とサフラン(アヤメ科)は違いますが、両方とも色づけに使われるので、より英国でなじみのあるサフランにしたと考えられます。英語では「赤い鼻」→「赤い花」→「紅花」という連想が働きようがないので、直訳する意味はないのでしょう。

なお、毬矢・森山姉妹の著書「レディ・ムラサキのティーパーティー」(講談社 2024)では、ギリシアの古典『イリアス』に「バラ色の指をもつ曙の女神(オーロラ)がサフラン色の衣をまとっている」とあることから、ギリシャ神話に詳しいウェイリーがそのイメージを重ねたのではという推測がされています。

瀬戸内寂聴訳で引用した部分のウェイリーによる英訳を次に掲げます。この部分のウェイリー訳には本来段落がありませんが、瀬戸内寂聴訳となるべく合致するように段落をつけました。【・・・】の部分は「100分 de 名著」で(一部省略して)朗読された部分です。


THE TALE OF GENJI
By LADY MURASAKI

CHAPTER VI
THE SAFFRON-FLOWER

TRANSLATED FROM THE JAPANESE BY
ARTHUR WALEY
1925

Genji pretended to be still looking out of the window, but presently he managed to glance back into the room. His first impression was that her manner, had it been a little less diffident, would have been extremely pleasing. 【What an absurd mistake he had made.

She was certainly very tall as was shown by the length of her back when she took her seat; he could hardly believe that such a back could belong to a woman. A moment afterwards he suddenly became aware of her main defect. It was her nose. He could not help looking at it. It reminded him of the trunk of Samantabhadra's steed ! Not only was it amazingly prominent, but (strangest of all) the tip which drooped downwards a little was tinged with pink, contrasting in the oddest manner with the rest of her complexion which was of a whiteness that would have put snow to shame. Her forehead was unusually high, so that altogether (though this was partly concealed by the forward tilt of her head) her face must be hugely long. She was very thin, her bones showing in the most painful manner, particularly her shoulder-bones which jutted out pitiably above her dress.

He was sorry now that he had exacted from her this distressing exhibition, but so extraordinary a spectacle did she provide that he could not help continuing to gaze upon her.】

In one point at least she yielded nothing to the greatest beauties of the Capital. Her hair was magnificent; she was wearing it loose and it hung a foot or more below the skirt of her gown.

A complete description of people's costumes is apt to be tedious, but as in stories the first thing that is said about the characters is invariably what they wore, I shall once in a way attempt such a description. Over a terribly faded bodice of imperial purple she wore a gown of which the purple had turned definitely black with age. Her mantle was of sable-skins heavily perfumed with scent. Such a garment as this mantle was considered very smart several generations ago, but it struck him as the most extraordinary costume for a comparatively young girl. However as a matter of fact she looked as though without this monstrous wrapping she would perish with cold and he could not help feeling sorry for her.

(Project Gutenberg のサイトより)

全体的に原典に沿った、流れるような文章ですが、一つだけ "意訳" というか "超意訳" があります。それは上の引用の第1段落のところです。原典、現代日本語訳、ウェイリー訳を対比すると次の通りです。太字をつけたところが違います。

原文(岩波文庫版。2017)
見ぬやうにてかたをながめ給へれど、しり目はたゞならず、いかにぞ、うちとけまさりのいさゝかもあらばうれしからむとおぼすも、あながちなる御心なりや

瀬戸内寂聴・訳
源氏の君は、姫君を見ぬふりをしながら、外の方を眺めていらっしゃいますが、横目でしきりに御覧になります。さて、どうだろうか、こうして打ちとけた時に見て少しでもよく見えるようだったらどんなに嬉しいだろうとお考えになるのも、身勝手なお心というものです

ウェイリー・訳
Genji pretended to be still looking out of the window, but presently he managed to glance back into the room. His first impression was that her manner, had it been a little less diffident, would have been extremely pleasing. What an absurd mistake he had made.

「あながちなる御心」は、岩波文庫版の注釈によると「身勝手なお心」ということであり、瀬戸内訳もその通りになっています。しかしウェイリー訳は、朗読の最初に出てきた、

What an absurd mistake he had made(毬矢・森山訳「ああ、それにしても、なんという馬鹿げた間違いを犯したのだろう」)。

で、かなり違っている。実はこのシーンには伏線があります。冬を迎えて源氏は久々に常陸宮邸で一夜を明かすのですが、そこに至る直前の文章は次のようです(瀬戸内寂聴・訳)。

姫君の異常なほどのはにかみぶりの正体を、みとどけてやろうというほどの好奇心も殊更にはなくて、月日が過ぎていくのでした。それでも気を変えて、よく見直したら、いいところもあるかもしれない。いつも暗闇の手探りのもどかしさのせいか、なんだか妙に納得しないところがあるのかもしれない。この目で一度はっきりたしかめてみたいものだ、とお思いになりますが、かといって、あまり明るい灯の下でまざまざ御覧になるのも、気恥ずかしいとお思いになります。

つまり源氏は、姫君の異常なほどのはにかみように「妙に納得できない、なぜだろう、暗闇の手探りのせいか」と思っていたところ、雪の朝に姫君をはっきりと見て「ああ、やっぱり、悪い予感が当たった。私は間違った行為をしてしまった !」と思うわけです。そのときの源氏の心境をダイレクトに表したのがウェイリー訳ということになります。"超意訳" ですが、ここで文脈の転換が起こるので、その方が次の段落にスムーズにつながり、読者に分かりやすいということでしょう。

原典にはない補足も同じです。源氏は姫君の顔全体を見ることは無かったのですが、その理由として「うつむいているので一部隠れていますが(毬矢・森山訳)」とウェイリーは補足しています(岩波文庫版の注釈では、扇で顔の半分を隠しているから)。姫君はめったに男性に顔を見せたりはしないという当時の貴族の風習と、英語読者の(暗黙の)想定のギャップを埋めて分かりやすくする工夫でしょう。



そういった差異は除いて、全体的に原典を正確に、また言葉を重ねて丁寧に訳しています。かつ、流麗で読みやすい。問題はこの英文を読んで、森山さんが言うように「末摘花は素敵な女性」と思えるかどうかです。英語話者ではないので確かなことはわかりませんが、

main defect(一番の欠点)
distressing exhibition(惨めな姿)

などの "他人の(源氏の)評価" を無視して、客観的に容貌だけの記述をシンプルに読むと、確かにそうかもしれないでしょう。



ウェイリーは大英博物館の版画・素描部門に勤務しながら、独学で日本の古典語を勉強し、源氏物語の原典を日本から取り寄せて英訳したそうです。それも、満足な辞書がない100年以上前の話です。上の短い英文を読んだだけでも、すごいものだと思いました。

「レディ・ムラサキのティーパーティー」によると、ウェイリーは大英博物館に就職したのは1913年、24歳の時ですが、その時点ですでに、楽に読める言語はイタリア、オランダ、ポルトガル、フランス、ドイツ、スペイン語で、流暢に話せるのはフランス、ドイツ、スペイン語だったそうです。また就職後は、日本語、中国語の古典語を独学で習得しました。まさに語学の天才です。ウェイリーは大英博物館で、たまたま源氏物語の1シーンを描いた浮世絵版画を見て原典を読んでみたくなった、それが英訳に至る第一歩だったと言います。

「源氏物語」にとって(紫式部にとって)、900年後にこういう人に巡り会えたのはまことにラッキーだったと思いました。




nice!(0) 

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\) の選び方は \(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) 

No.375 - 定住生活の起源 [科学]

No.232「定住生活という革命」の続きです。最近の新聞に日本列島における定住の起源に関する記事があったので、No.232 に関係した話として以下に書きます。


変わりゆく考古学の常識


2024年8月7日の朝日新聞(夕刊)に、

 定住の兆し 旧石器時代に
 変わりゆく考古学の常識

との見出しの記事が掲載されました。これは、東京大学大学院の森先もりさき一貴かずき准教授が2024年度の浜田青陵賞(考古学の顕著な業績に贈られる賞。第36回)を受賞されたのを機に、記者が森先准教授に取材した記事です。見出しの通り、新しい発見によって考古学の従来の常識がどんどん書き換えられている、との主旨の記事です。

ちなみに見出しの「旧石器時代」ですが、日本列島に現生人類(ホモ・サピエンス)がやってきたのが約4万年前で、そこから縄文時代が始まる約1万6千年前までを世界の先史時代の区分に合わせて「旧石器時代」と呼んでいます。「旧石器」は打製石器、「新石器」は磨製石器の意味ですが、日本では縄文時代以前にも磨製石器があったので、石器の種類での時代区分はできません。


新たな発見や研究の深まりで通説が塗りかわるのもこの世界の常だ。たとえば縄文時代の到来を象徴する土器はかつて、1万年ほど前に最終氷期が幕を閉じて環境の変化とともに出現したとされてきた。ところが近年、土器の誕生は1万6千年ぼど前にさかのぼり、氷期に食い込む。かつての常識はもはや通用しない。

同様に「定住」の始まりも揺れる。列島内で人間が同じ場所に住み始めたの竪穴式住居が出現する縄文時代とするのが一般的で、それまで人々は遊動生活をおくっていたとされる。ところが森先さんは、一時的な定住の兆しは旧石器時代からあったというのだ。

朝日新聞
2024年8月7日(夕刊)

縄文時代を象徴するのは土器と竪穴式住居です。土器はクリなどを煮たり、食料を貯蔵したりする道具ですが、重くて壊れやすく、移動生活で携行するには不向きです。土器の出現は定住を示唆します。もちろん竪穴式住居は定住のしるしです。

しかし森先氏は、土器も住居跡も見つかっていない旧石器時代から、すでに「一時的な定住」があったと推定しています。その根拠が陥し穴猟です。


それを物語るよい例が「おとし穴」だ。1980年代、静岡県で3万年前にさかのぼる、世界でも例のない深さの穴が100基以上も見つかった。諸説あるが、どうやら動物を捕獲する陥し穴らしい。同様の遺構は神奈川県など主に太平洋沿岸で確認されているという。

スコップやシャベルなどない時代、膨大な労力をかけたのだから1回きりで放棄するはずがない。つまり、動物の季節的な移動に合わせてハンターたちも定期的に1カ所に居住した可能性があるわけだ。

(同上)

陥し穴とはどのようなものでしょうか。以下、森先氏の著書「日本列島4万年のディープヒストリー」(朝日選書 朝日新聞出版 2021)より紹介します。


陥し穴


日常の日本語では "落とし穴" ですが、狩猟用の穴(=罠)という意味で以下 "陥し穴" とします。


約4万年前に大陸から日本列島に到来し移動生活を営んだ現生人類は、季節ごとに、あるいはもっと頻繁に、集落を移しながら生活していたと考えられる。それも気まぐれに移動するのではなく、食料資源を効率的に得るため、気候や季節により変貌を遂げる自然をうまく利用して、戦略的で計画的な生活を送っていた。

そうした計画的生活術の最たるもの、それは「陥し穴」猟だ。陥し穴猟は、かつては縄文時代以降に始まると考えられていた。1970年代から開発が進んだ神奈川県の港北ニュータウンの造成に伴う発掘調査で注目され、東京都の多摩ニュータウンに伴う発掘調査などでは、縄文時代の陥し穴が1万基以上も見つかっている

森先一貴  
「日本列島4万年のディープヒストリー」
朝日選書(朝日新聞出版 2021)

「陥し穴」は、地面に掘った土坑どこうです。土坑とは、発掘調査で確認される遺構のうち人間が掘ったと考えられる穴で、その性格がすぐには見極めにくいものをいいます。竪穴式住居跡とか、人骨が発掘される墓は目的が明確ですが、それ以外の、必ずしも目的が明確ではない穴が土坑です。その土坑のなかで、研究によって狩猟用の罠だと推定されたのが陥し穴です。縄文時代の陥し穴は、上の引用にある港北ニュータウンや多摩ニュータウンの造成地だけではなく、日本列島の各地から発見されています。

ところが狩猟用の陥し穴は、縄文時代より遙か以前、旧石器時代の日本列島に存在したことが分かってきました。それが次の引用です。引用に出てくる姶良あいら火山とは、現在の鹿児島湾にあった火山で、約3万年前に大噴火を起こしました。噴火の跡はカルデラ(=姶良カルデラ)になり、そこに海水が引き込まれてできたのが鹿児島湾です。現在の桜島はその姶良カルデラの外輪山の一部が火山になっているものです。外輪山の一部が桜島ということをとってみても、姶良火山の噴火がいかに巨大だったかがわかります。


1986年、静岡県三島市初音ヶ原はつねがはらA遺跡で驚くべき発見があった。伊豆半島の付け根あたり、箱根山麓の丘陵上で100基以上にのぼるとみられる大きな土坑群が発見されたのである。直径1~2メートル、深さは1.4~2メートルにもなる土坑が、100メートル以上、いく重にも列をなしていたのだ。

発掘された地層は約3万年前に九州南部で起こった姶良あいら火山の大噴火ではるばる飛んできた火山灰を含む層よりもたしかに下層にある。3万年前をさかのぼることは確実な、旧石器時代の土坑群だ。これほど古い大型土坑群は世界的にみても例はない。陥し穴だとすると大きな発見になる。

(同上)

陥し穴1・初音ヶ原遺跡.jpg
初音ヶ原遺跡(静岡県三島市)

連なっている丸い穴が、3万年前の陥し穴とみられる土坑群である。直径1~2メートル、深さ1.4~2メートルで、かなり大きくて深い。陥し穴はこのように列状に作られており、穴と穴の間に柵を配置して、移動してくる動物(シカやイノシシなど)を誘導したと考えられている。
(AERAdot. 2019.7.25 より)


その後、神奈川県打木原うつぎばら遺跡や船久保ふなくぼ遺跡をはじめ、本州から九州にかけての太平洋沿岸でその後も同じ時期の同様の遺構の発見が相次いだおかげで、こうした土坑が設けられる場所の傾向がわかってきた。貯蔵穴ならば石器製作跡や焚き火跡など生活場所に近いところにつくるだろう。しかし、これらの土坑は丘陵や谷をまたぐように列状に、あるいは谷の源頭部にまとめて掘られるという特徴がある

(同上)

列島各地で発見された陥し穴の形は、細長い溝状のものや、平面が円形、楕円形、四角形などです。このような形は旧石器時代も縄文時代も共通です。

船久保遺跡1a.jpg
船久保遺跡(神奈川県横須賀市)

船久保遺跡の上空からの写真に、丸形と四角形の土坑の位置を白で示した図。それぞれの形の土坑が列状に連なっていて、陥し穴と推定されている。画面の下の方に丸穴が波形に連なっている。また左下から右上にかけて四角い穴が直線上に並んでいる。
(NHK BS「ヒューマニエンス」2024.3.19 より)

陥し穴2・船久保遺跡の四角の穴.jpg
船久保遺跡で発掘された四角形の陥し穴。旧石器時代の陥し穴で四角形のものはめずらしい。
(NHK サイカルジャーナル 2018.6.15 より)

陥し穴6・船久保遺跡・鹿の捕獲.jpg
船久保遺跡の四角形の陥し穴でシカを捕獲する想像図。穴は底に向かって狭くなっている。シカの後足の力は強いが、前足は弱く、前足だけが穴に落ちると脱出は難しくなる。狩猟対象の動物によって穴の形状を変えた(たとえば、丸形はイノシシ、四角形はシカ)と推測する学者もいる。
(NHK BS「ヒューマニエンス」2024.3.19 より)

陥し穴3・大津保畑遺跡.jpg
大津保畑遺跡(鹿児島県 中種子町:種子島の中央部)で発掘された旧石器時代の円形の陥し穴。底部が膨らんでいて、穴に落ちた動物が逃げにくい形をしている。
(AERAdot. 2019.7.25 より)


はじめは、陥し穴として受け入れない研究者はいた。墓や、ドングリなどの食料を蓄える貯蔵穴の可能性も当然考えられるからだ。しかし、墓や貯蔵穴ならば上記のような場所にあるのは不自然だ。また、埋め土の化学分析で遺体に由来する成分が認められなかったことなどから、墓の可能性は低いとされた。穴の内部に何らかのものを収めたような痕跡もなく、時間をかけて自然に埋まっていることも、陥し穴説を支持していた。こうしたことから、これらの土坑群の多くは陥し穴とみなすのが大方の研究者の考えとなっている。

(同上)

陥し穴を使った狩猟のやり方は、動物が障害物を嫌う性質を利用し、列状に掘った穴と穴の間に柵を作って、動物を穴に誘導したと考えられています。陥し穴は、弓矢や槍を使った罠などと違って、狩猟対象動物を傷つけません。そのため、血の匂いで他の肉食動物をおびき寄せるようなことはなく、数日間隔で見回ることで狩猟ができます。その間は別の食料(魚、木の実など)の獲得を行える。いったん掘ってしまえば、効率的に狩りができる方法です。

陥し穴4・国立科学博物館.jpg
国立科学博物館に展示されている、旧石器時代の陥し穴猟の想像模型。人との対比で穴の大きさがわかる。
(AERAdot. 2019.7.25 より)


旧石器時代の狩猟採集民は数家族、平均25人程度の小規模な集団で移動生活を営んでいたと考えられる。しかしながら、たとえば初音ヶ原A遺跡をとりあげてみても、発見されているだけで100基もの土坑群を人力で掘削する労力は尋常ではない。しかも今のように鋼鉄製のシャベルなどない。先をとがらせた堀り棒で繰り返し土を掘り崩しながら掘削したと考えれば、途方もない作業に思える。旧石器時代にも、こうした人々が力を合わせて土木工事を行っていたのだ。

これだけの土坑を、膨大な労力を使って設けているのだから、この場所を利用するのは一回きりではなかっただろう。第一、いちど掘った陥し穴を一回きりで放棄する理由はどこにもない。むしろ、少々の形崩れは補修しながら繰り返し使用したはずだ。ということは、敷設した人々はある程度の期間、この付近に居住した可能性を考える必要がある。なぜなら、陥し穴で獲物をとらえても、ほかの土地に居住地を移していては、ほかの集団に横取りされるかもしれないではないか。

そう考えると、規模の小さい集団が移動生活を送りながらこれだけの労力を陥し穴づくりに費やすとは考えにくい。おそらくは、狩猟対象となる動物が季節的な移動をする時期に(たとえばシカなどは暖かい時期と寒い時期で標高の高いところと低いところを行き来する)、小規模な生活集団が複数集合してこの地である程度の期間にわたって共に居住していた可能性さえ考えなければならないだろう。

(同上)

旧石器時代の陥し穴が見つかっている地域は、縄文時代とは違って、関東から九州(宮崎、種子島)にかけての太平洋沿岸に限られます。3万年前は氷期ですが、関東以南の太平洋沿岸は黒潮の影響で比較的温暖であり、広葉樹林が広がっていました。広葉樹林があれば、コナラ類の樹木の実(ドングリやクリ、クルミなど)やトチの実を食料にできます。もちろん、川で魚をとることもできる。これらの食料資源を合わせて「定住的な」生活をしていた可能性が高いのです。


陥し穴猟を多用した太平洋沿岸の狩猟採集民は、旧石器時代には珍しく定着的な生活をしていた可能性が高まっている。温帯域での定着的な生活では、狩猟だけでなくほかの資源も多角的に利用することがめざされる。氷期とはいえ、サケやマスなどの回帰性の魚類がこの太平洋沿岸地域へどれほどやってきていたかは定かではないが、秋の実りのドングリなど堅果類を積極的に利用することが重要とされていたかもしれない。だとすれば、その時期の狩猟活動として陥し穴を使った罠猟をおこなっておけば、冬場をしのぐために重要な食料をいずれも効率的に獲得することにつながったはずである。

(同上)

森先氏の陥し穴に関する解説は、次のように締めくくられています。


私たちは、このような計画的な生活手段が早くも3万年以上も前からおこなわれていたことを、大きな驚きをもって受けとめてしまいがちである。しかし、よく考えれば彼らは私たちとまったく同じ現生人類だ。大昔のことだから知能や能力が劣っているはずだとみなす時代遅れの進歩史観など、さっさと捨て去らねばならない

(同上)

森先氏は「大昔のことだから知能や能力が劣っているはずだとみなす時代遅れの進歩史観」と書いていますが、まさにその通りだと思います。人間は言葉をもつので、それによって技術や文化を伝承し積み重ねることでより高度にできます。そのため我々は暗黙に "進歩史観バイアス" を持ってしまうのですね。しかし知能や能力に関していうと、そのベースのところは「ホモ・サピエンスであれば同じ」はずです。少なくとも3万年とかそいういった "短期間" では変わらないでしょう。旧石器時代とか縄文時代、弥生時代といった先史時代を想像するときには "進歩史観バイアス" を排除する必要があります。



陥し穴猟で思うのは、現生人類は "計画と実行"によって生きることができるということです。先史時代の人類の狩猟というと、槍を獲物に投げつけて倒すとか、多人数で協力して獲物の群れを追い込んで崖から落として一網打尽にするとか、そういった話を歴史書で読みます。しかし陥し穴による猟はそれとは全く違うレベルにあります。

つまり陥し穴は、狩猟採集の一般形である「獲物を探して目の前に現れたところを槍で捕獲する」「食用植物を探し出して採集する」ということを完全に超越した行為です。"超越" としたのは、陥し穴を掘ったとしても今日の食料、明日の糧を得るためには何の役にも立たないからです。それでも多大な労力と時間をかけて陥し穴を掘るのは、それでシカやイノシシを捕獲できるという「まだ見ぬ未来」を想像し、予見できるからです。もちろん捕獲できないリスクはあるが、そのリスク込みで予見にもとづいた計画を立て、それにもとづいて実行する能力があるのです。

農耕も同じです。イネ科植物(コムギやコメ)を植えたとしても、食料になるのは数ヶ月先であり、それまでのあいだは数々の世話をする必要があります。もちろん、植える前に土地を耕すのも骨の折れる作業です。作物と気候環境によりますが、水路を作る必要も出てくるでしょう。収穫ゼロというリスクも当然あるが、数ヶ月後にどっさりと食料を得られるはずだという計画があり、それにもとづいて実行できるから農耕が成立します。

我々はこういった "予見にもとづく計画と実行" を当たり前だと思っていますが、これは大変な能力だと思います。ささやかな短期的報酬よりも(あるいは短期的には不利益になったとしても)、より大きい長期的な報酬を選択できる能力、これが "ホモ・サピエンス=賢いヒト" たるゆえんでしょう。

ちなみに、No.169「十代の脳」に書いたのですが、"計画と実行" は脳の前頭前皮質の発達に依存した能力です。そして、前頭前皮質はヒトの思春期以降に本格的に発達する部分で、脳の中では最も遅く発達します。これから推察できるのは、人類が最も遅く獲得した能力が "計画と実行" だということです。


人類史のなかの定住革命


人類史の中の定住革命.jpg
西田正規
「人類史のなかの定住革命」
(講談社学術文庫)
ここで、冒頭に書いた No.232「定住生活という革命」を振り返ります。No.232 は西田正規まさき氏(筑波大学名誉教授)の『人類史のなかの定住革命』(講談社学術文庫。単行本は 1986年出版)の内容を紹介したものでした。この本の内容は森先氏の著書「日本列島4万年のディープヒストリー」でも引用されています。人類は約1万年前に定住生活を始めましたが、それ以前は遊動生活でした。「定住」と反対の言葉が「遊動」です。

西田氏は定住生活を促進した一つの要因として定置漁具による漁撈をあげていました。もちろん遊動生活を送っていた旧石器時代でもヤスやモリで魚を採っていましたが、このような漁具は大量の魚が川に遡上するような環境と季節でしか効率的ではありません。

これに対し、定住とともに出現したのはヤナ(梁)、ウケ(筌)、魚網などの定置漁具、ないしは定置性の強い漁具です。ヤナは、木や竹での子状に編んだ台を川や川の誘導路に設置し、上流ないしは下流から泳いできた魚が簀の子にかかるのを待つ漁具です。ウケは、木や竹で編んだカゴを作り、魚の性質を利用して入り口から入った魚を出られなくして漁をするもので、川や池、湖、浅瀬の海に沈めて使われました。ヤスやモリで魚を突くのは大型の魚にしか向きませんが、定置漁具は小さな魚に対しても有効です。こういった定置漁具の発明が定住化を促進する要因になったというのが、西田氏の論でした。

この「定置漁具」に相当する、陸上での「定置狩猟のための罠」が「陥し穴」と言えるでしょう。陥し穴は、それが有効であればあるだけ、定住を促進する要因になります。この "定置狩猟罠" は3万年前の旧石器時代に場所を限って現れ、縄文時代には列島全体に広がった。森先氏が言うように、縄文時代に本格化する定住生活の "兆し" がまさに旧石器時代にあったことになります。



西田氏の『人類史のなかの定住革命』の主張の根幹にあるのは、

定住生活は何も優れた生活様式ではなく、むしろ、それまで遊動生活をしてきた人類の生活や社会のあり方に大きな変革を要請するもので、極めて困難なものであった

という認識です。我々はえてして、遊動=遅れている、定住=進んでいる、というような "進歩史観バイアス" に捕らわれています。現代では定住が当たり前で、住所不定は犯罪者と同義に使われることがあるほどなので、そうなるのは当然かも知れません。しかし西田氏はこのようなバイアスを一切取り去った見方をしています。そして、定住という極めて困難な生活様式に挑戦する中で人類の文化に革命が起こったと主張しているわけです。そもそも、なぜ遊動生活をするのかという理由(=遊動の要因)は、

(経済面)食料や水、エネルギー源(薪など)を得るため
(社会面)集団内の不和や、ほかの集団との不和や緊張を避けるため
(環境面)ゴミや排泄物の蓄積を避け、また風水害を避けるため
(精神面)死・死体などの不快なもの、災いや危険(病気・怪我・事故など)から逃れるため

などです。経済面の補足をすると、食料資源となる動植物は季節によって分布を変えることが多く(特に中緯度の温帯地域では)、遊動生活の要因になります。

定住生活をするとなると、遊動の要因となる事項を、すべて定住地で解決しなければなりません。これは大変なことです。まず、最も重要な食料資源を定住地近辺での狩猟採集で獲得し、さらに資源の季節変動を平準化するために保存方法を工夫しなければなりません。

また、ゴミや排泄物の処理ルールを決めて定住地を常に清潔に保つ必要があります。でないと寄生虫や病原菌が蔓延して、最悪の場合は定住民が全滅しかねません。集団内の不和はリーダーが(ないしは何らかの "権威" が)解決し、水害が発生したとしたらそれを避ける工夫をし、さらに墓地などを作って死者と共存しなければなりません。

定住地の中のある場所で "わざわい" が起こったとしたら、それは精霊の怒りと考えられるので、(たとえば)その場所にほこらを建てて祈祷をし、精霊の怒りをしずめる ・・・・・・ というような行為を通じて、"災いの場所" とも共存する必要があります。

定住をした以上、定住地から逃げるわけにはいかない。そのための課題解決をする中で新しい人類の文化が生まれたというのが西田氏の見解でした。

であれば、3万年前に陥し穴を作った人々は、たとえ定住が季節的であったとしても、定住で発生する諸問題を解決する最初の一歩、革命を起こす一歩を踏み出したのでしょう。それが縄文時代の文化の発展につながっていった。3万年前に日本列島にいた人たちと現代の我々は無関係ではなく、連続していると感じました。




nice!(0) 

No.374 - マイノリティは過小評価される [科学]

No.347「少なくともひとりは火曜日生まれの女の子」は、偶然の出来事が起こる "確率" を考えることは人間にとって難しい、というテーマでした。イギリスの著名な数学者、イアン・スチュアートは次のように書いています。

確率に対する人間の直感は絶望的だ。偶然の出来事が起こる確率をすばやく推定するように促されると、たいていはまったく間違った答えを出す。プロの賭博師や数学者のように鍛錬を積めば改善はできるが、時間も労力も必要だ。何かが起こる確率を即断しなければならないとき、私たちの答えは誤っていることが多い。

イアン・スチュアート  
「不確実性を飼いならす」
(徳田 功・訳。白揚社 2021)

スチュアートの本には次のような設問が載っていました。前提として、女の子と男の子は等しい確率で生まれてくるとします。また、赤ちゃんが生まれる曜日は、日・月・火・水・木・金・土、で同じ確率とします。


① スミス夫妻には2人の子どもがいます。2人とも女の子である確率はどれだけですか。

② スミス夫妻には2人の子どもがいて、少なくとも一人は女の子です。2人とも女の子である確率はどれだけですか。

③ スミス夫妻には2人の子どもがいて、少なくとも一人は火曜日生まれの女の子です。2人とも女の子である確率はどれだけですか。


① の正解は \(\tfrac{1}{4}=0.25\) ですが、\(\tfrac{1}{3}\) と間違う人がいそうです(2人の子どもには、女女、女男、男男、の3パターンがあって、女女はそのうちの一つと考えてしまう)。

② のように「少なくとも一人は」などという条件が付くと難しくなります。正解は \(\tfrac{1}{3}\fallingdotseq 0.33\) です。

さらに ③ の ような複雑な条件になると、正解は不可能と言ってよいでしょう。③ の正解は \(\tfrac{13}{27}\fallingdotseq 0.48\) です。我々の直感では、「③の確率」は「②の確率」とイコール(ないしは同程度)ですが、正しい答えは "②とは全然違う" のです。

かなり難しい設問ですが(特に ③)、要するにスチュアートの言いたいことは「偶然の出来事が起こる確率を(素早く)推定するのは難しい」ということであり、平たく言うと「確率は難しい」ということです。それを言いたいがために、上の "ややこしい" 設問を作ったわけです。



ところで最近の新聞に確率は難しいことを如実に示す記事が掲載されました。それは「2人とも女の子問題」よりずっと簡単な確率ですが、それでも難しい。その記事は以下です。


性的少数者は過小視される


2024年7月23日の朝日新聞(夕刊)に、新潟大学の新美亮輔准教授の研究を取材した記事が掲載されました。見出しは、

 「マイノリティー」少なく見積もる傾向

で、次のように始まります。


性的少数者(LGBTQ+)や色覚が通常と異なる人など、いわゆる「マイノリティー」の人が身近にいる確率を、ほとんどの人は実際よりも著しく小さくとらえる傾向があることが、新潟大の新美亮輔准教授(認知心理学)の研究でわかった。「周囲にそうした人はいない」という思い込みが、理解や配慮の不足を招いている可能性も示された。

朝日新聞(夕刊)
(2024年7月23日)

人には「マイノリティーの人が周囲にはいない」と思い込む傾向があり、それを確率の観点から実験を行って考察しようというのが主題です。具体的な設問と回答の例が以下です。

 第1問:同性愛者・両性愛者がクラスにいる確率 


仕事紹介サイトに登録している人を対象にオンラインでアンケートをし、18~76歳の計429人の回答を分析した。同性や、同性と異性の両方を好きになる同性愛者と両性愛者について、日本のある大学での調査結果をもとに「大学生の7%が該当すると言われています」としたうえで、クラスなどの集団を想定し、「30人の大学生の中に同性愛者・両性愛者が1人でもいる確率は何%だと思いますか」と聞いた。

この確率は、30人全員が同性愛者・両性愛者ではない確率の数値を1から引くことで導ける。正解は89%と、かなり高い値だ。だが、回答で最も多かった率は「2%」。ほかにも10%を下回るとする答えが目立ち、約9割は実際の確率より小さくとらえていた。

(同上)

設問を簡潔に言うと、

大学生の7%が同性愛者・両性愛者です。30人クラスの大学生の中に同性愛者・両性愛者が1人でもいる確率は何%だと思いますか

となります。正解の計算方法は記事にありますが、それを求めると、

正解 \(=1-(1-0.07)^{30}\)
\(=0.88663\)

であり、上の引用のように「正解は89%」となります。しかし新美准教授の設問は電卓を使わずに答えて下さいということでしょう。暗算でできそうな範囲で、ざっと見積もるとどうなるか。

30人クラスの7% は約2人です。30人クラスが多数あった場合、① 同性愛者・両性愛者が2人いるクラスが最も多く、② 1人/3人のクラスがそれより少なく、③ 0人/4人のクラスがさらに少ない。仮に、①:②:③のクラス数の相対比率を 3:2:1 とすると、1人以上のクラスは9クラス(3+2+2+1+1)のうちの8クラスであり、9割程度のクラスで同性愛者・両性愛者が少なくとも一人いることになります。もちろん 3:2:1 は恣意的に決めただけなので、4:3:2 でもよいわけです(その場合は14クラスのうちの12クラス)。とにかく、かなりの高い確率で(ないしは、ほぼ間違いなく)30人クラスには同性愛者・両性愛者がいると見積もれます。

ただしこの設問は「暗算での見積もり」をするかどうかはともかく、直感で答えるのが主眼でしょう。直感で答えるとどうなるかがポイントです。



以上を踏まえて、新美准教授の調査を検討すると、最も多かった回答は 2% とあります。おそらくですが、2% と回答した人は設問の「1人でもいる確率」の意味が分からなかったのだろうと思います。もしくは「確率」の意味が分からなかった。意味が分からないので、設問にある数字である30(人)と 0.07(7%)をかけ算して 2 と答えた。もちろんこのかけ算の答えは 2人であり、30人クラスにいる同性愛者・両性愛者の平均的な数(期待値)です。

設問の意味が分からないときに、設問にある数字を適当に使って答えを "導く" のはよくあることです。従って、この調査は確率という言葉を用いないでやった方がよいと思います。たとえば一例ですが、

大学生の7%が同性愛者・両性愛者です。大学生30人のクラスが100あったとします(合計3000人です)。この100クラスの中で同性愛者・両性愛者が1人でもいるクラスは何クラス程度ですか

というような質問です。この質問でも、なおかつ2クラス(=2%)が最多の回答となるでしょうか。おそらくならないのではと思います。



問題はその次で、「10%を下回るとする答えが目立ち、約9割は実際の確率より小さくとらえていた」とあるところです。「10%を下回る答え」の場合、確率の意味を理解して答えているのかどうかは大いに疑問です。それはさておき、「約9割は実際の確率より小さくとらえていた」がポイントです。7% のマイノリティは、直感ではそれよりもずっと少なく感じられるようです。

 第2問:色覚異常者がクラスにいる確率 

記事には別の設問の結果が載っていました。


同じように、赤っぽい色と緑っぽい色の区別がつきにくい、いわゆる色覚異常とされる人が人口の3%いるとして質問すると、実際の確率は60%なのに、最も多くの人が回答した確率は1%で、やはり9割近くの人が過小にみていた。

色覚異常とされる人が集団に1人でもいる実際の確率を示したうえで、「企業経営者は、そうした人も働きやすい職場づくりに責をもつべきだ」などの意見への賛否を尋ねると、賛成の度合いを示す数値(100点が満点)の平均値が、確率を示す前の73.95から79.18に上昇した。

(同上)

設問を簡潔に言うと、

色覚異常とされる人は人口の3%です。30人クラスの中に色覚異常者が1人でもいる確率は何%だと思いますか

となります。7% が 3% になっただけで、本質的には第1問と同じです。これも正解を計算で求めると、

正解 \(=1-(1-0.03)^{30}\)
\(=0.59899\)

であり、記事にあるように確率は60%です。「最も多くの人が回答した確率は1%」というのは第1問と同じで、30×0.03=1 の計算で 1% としたのでしょう。この設問でも「9割近くの人が過小にみていた」というのは、第1問と全く同じです。

記事にある「企業経営者は色覚異常者も働きやすい職場づくりに責をもつべきだ」という意見は "政治的に正しい" ので、たとえ建前であったとしても、賛否を問われると "Yes" と答える人が多いと予想できます。しかし「30人クラスで色覚異常者が一人でもいる確率は 60%」という正しい結果を知ると、"Yes" の率が 5ポイント以上増加したのが興味深いところです。


人間は確率が苦手


記事は次のように締めくくられています。


新美さんは「人間は確率を考えるのが苦手。集団に含まれる確率を『過小視』してしまう原因は、マイノリティーに対する偏見ではなく、こうした確率について考える経験自体がほとんどないからでは」とみる。研究結果は、認知心理学の専門誌で発表した。(田村建二 記者)

(同上)

人間は確率が苦手です。それは、確率が単なる計算上の数字に見えてしまって実感が伴わないからでしょう。クラスの中にマイノリティの人は「いる」か「いない」かのどちらかです。0.6 人いるなんてことはない。10クラスあったら およそ 6クラスにはマイノリティの人がいると計算上言われても、10クラスに同時に所属できない以上、自分のクラスには「いる」か「いない」かです。つまり「クラスにマイノリティの人がいる確率は 60%」という計算上の数字を "実感" はできず、なんとなく違和感を抱いてしまう。これが "苦手" の根本要因だと思います。

そういった中で確率を問われると「約9割の人は、マイノリティが一人でもいる確率を過小にみていた」わけです。いわば「過小視バイアス」がかかってしまう。しかし逆に言うと「約1割の人は確率を正しく認識していた」ということです。こういう方もいたことに注意すべきでしょう。



この「過小視バイアス」の原因は何となく理解できます。設問は、7% ないしは 3% のマイノリティに関するものです。ということは、平均して回答者の 93%、97% はマジョリティ側の人です。マジョリティ側の人は、学校や職場などの社会集団において、おそらく設問にあるマイノリティの存在を経験したことがないと思います。なぜなら、同性愛者・両性愛者の人は、自分からそのことをカミングアウトしないのが今の社会では普通だからです。また、色覚異常は確かに不便で、場合によっては重大トラブルに至る可能性もありますが、当人は色覚異常を前提に安全に生活する知恵を身につけているはずです。自分から色覚異常だと集団のメンバーに告知する必然性は薄いはずです。

つまり回答者の大多数は過去に自分の経験した社会集団において、設問にあるようなマイノリティに接したことがないと感じたはずです(実はそれと知らずに接しているのだけれど)。自分の経験上は確率ゼロである。この "経験" が、過小視バイアスの一番の原因でしょう。記事にある「周囲にそうした人はいないという思い込み」です。

人口の 10% 前後は左利きです。今の社会で左利きは「隠すべきこと」ではないし、必然的に左利きは周囲に分かってしまうはずです。不便な面もあるでしょうが、左利き用の商品も多数あるし、逆にスポーツではサウスポーが有利なケースがいろいろあります(右利きだけどスポーツだけサウスポーの人さえいます)。左利きの子が学校のクラスにいたという記憶は、多くの人の脳裏にあるのではないでしょうか。マイノリティを「左利き」として設問すれば違った結果になったかもしれません。



このような「過小視バイアス」があるとして、設問は具体的な確率を答えるものです。計算で答えを出すわけではないので、計算以外の何らかの代替手段が必要です。「正しく認識していた約1割の人」は、上の方に書いた「暗算できそうな範囲で、ざっと見積もった」のかも知れません。

では、過小に答えた人は実際どうしたのでしょうか。記事を読むと、全くのあてずっぽうやランダムでもないようです。過小は過小なりの傾向がある。ということは、確率を認識するときに「人はどのような代替手段に頼っているのか」が問題です。

確率の認識に対する人のバイアスは、事故や災害の確率認識では重大問題になりかねません。また、マイノリティの人たちを支援する政策立案の際などでは、バイアスが暗黙に人の思考を束縛しかねないでしょう。「確率に対する人間の直感は絶望的だ」と諦めるのではなく、「確率を認識するときに、人はどのような代替手段に頼り、それがどういうバイアスを生むのか」という認知心理学の研究は、確かに意義があるものだと思いました。




nice!(0) 

No.373 - 伊藤若冲「動植綵絵」の相似形 [アート]

No.371「自閉スぺクトラムと伊藤若冲」の続きです。No.371 は、精神科医の華園はなぞのつとむ氏の論文を紹介したものでした。華園先生は各種資料から、伊藤若冲を AS者(AS は Autism Spectrum = 自閉スペクトラム)であると "診断" し、臨床医としての経験も踏まえて、AS者によく見られる視覚表現の特徴が若冲の絵にも現れていると指摘されたのでした。その特徴とは、

◆ 細部への焦点化
◆ 多重視点
◆ 表情認知の難しさ
◆ 反復繰り返し表現

の4つで、詳細は No.371 で紹介した通りです。その No.371 には書かなかったのですが、華園先生の論文「自閉スペクトラムの認知特性と視覚芸術」(日本視覚学会誌 VISION Vol.30-4, 2018)には気になる記述があります。それは、必ずしもAS者が備えているわけではないが、AS者に随伴することが多い能力があるとの指摘です。その能力とは、

◆ 共感覚
◆ カメラアイ
◆ 法則性の直感的洞察力

です。「共感覚」というのは、文字や数字、音、形に色を感じたりする例で、ある刺激を感覚で受け取ったときに、同時にジャンルの異なる感覚が生じる現象を言います。

「カメラアイ」は、見たものをまるでカメラで写したように記憶できる「視覚映像記憶」のことです。たとえばある都市の写真を見て、その後、記憶だけを頼りに都市風景を詳細に描き起こした線画を完成させる、といった例です。

「法則性の直感的洞察力」とは、自然界に存在する規則性、法則性、パターンを直感的に見出す能力です。華園先生は例として、ゴッホの『星月夜』(ニューヨーク近代美術館)という有名な絵をあげています。この絵に見られる空の渦の表現は、自然界に発生する乱流のパターンを正確に捉えていることが数理物理学的解析で判明しているそうです。ちなみにゴッホは、各種の研究によりAS特性の強い人であったと考えられています。

ゴッホ「星月夜」.jpg

以降、話題にしようと思うのは、AS者に随伴することが多い3つの能力の中の「法則性の直感的洞察力」です。最近、テレビのあるドキュメンタリー番組を見ていたら、このことが出てきました。


フロンティア:あなたの中に眠る天才脳


2024年6月18日に NHK BS で「フロンティア:あなたの中に眠る天才脳」というドキュメンタリー番組が放送されました。番組のテーマは "サヴァン症候群" です。サヴァン(Savant)とは "博学" という意味で、サヴァン症候群とは「生まれながらにして天才的な能力を発揮する人」を指します。その才能とは、美術・音楽などの芸術、記憶、数学、空間認知などです。番組では実際にサヴァン症候群の人に取材した映像を流していました。

◆ カメラ・アイの少年
◆ 円周率 22514桁を暗唱できた青年
◆ 生まれながらに盲目だが、ショパンの幻想即興曲を40分で覚えて弾ける青年

などです。カメラ・アイの少年はイギリス人でしたが、番組スタッフに見せられた新宿西口の高層ビル群の写真(遠方に富士山が見える)を見ただけで、1時間かけてそれを鉛筆の線画で詳しく再現していました。

サヴァン症候群の人を MRI で検査した研究によるとと、脳の左半球(言語、論理的思考の領域)よりも右半球(芸術、視覚・聴覚の記憶の領域)が大きいことが分かりました。また、約半数の人が自閉スペクトラム症(ASD : Autism Spectrum Disorder)だとのことです。

ここで「自閉スペクトラム症(ASD)」は、この記事の冒頭に書いた「自閉スペクトラム(AS)」とは必ずしも同じではないことに注意すべきでしょう。自閉スペクトラム症は医学的診断名であり、治療の対象です。一方、自閉スペクトラムは、病気にまでは至らない、自閉スペクトラム的な認知特性の人までを含む概念です。詳細は No.371「自閉スぺクトラムと伊藤若冲」にあります。

番組ではさらに "後天性サヴァン症候群" の人を紹介していました(後天性=獲得性)。後天性サヴァン症候群とは、生まれて以降はごく普通の人だったが、ある日突然、特別な才能が芽生えた人です。その「突然」には共通の要因があり、脳の左半球(特に左半球の前の方)だけに損傷を受けたという要因です。損傷とは、何らかの外力によるか、ないしは脳梗塞によるものです。

デレク・アマートというアメリカ人の男性は、プールに飛び込んだ時の頭部損傷の事故を契機に、突如、作曲とピアノの才能が目覚めました。今では著名なアーティストと共演し、グラミー賞にも出席しています。

そして、別のアメリカ人の後天性サヴァン症候群が華園先生の論文とつながりがあります。その人はジェイソン・パジェットという人で、彼はカラオケ・バーの帰り道で強盗に棍棒で襲われ、頭に打撃を受け、意識を失って倒れました。その後どうなったかを番組から引用します。


翌朝、目が覚めるとすべてが変わっていることに気づきました。蛇口をひねったら水が出てきましたが、その流れが違って見えたのです。なめらかに見えるのではなく、まるでギザギザのナイフが渦を巻いて落ちていくように見えてとても混乱しました

ジェイソン・パジェット  
「あなたの中に眠る天才脳」
(NHK BS 2024年6月18日)

自然界には、一見不規則に見えるが、実はある規則性が隠れているものがあります。その規則性は「フラクタル構造」になっていることが多い。パジェットはそれを見抜く能力を得たのです(フラクタルについては、No.244「ポロック作品に潜むフラクタル」参照)。

彼は自分に見える規則性を人に伝えるために、絵(=規則性を表した線画)を描き始めました。そして、ある人のアドバイスによって大学に入り直し、数学を勉強しました。その結果、見ているものを数式で表せるようになったとのことです。

巻き貝.jpg
ジェイソン・パジェットが巻貝に潜む規則性を線画で表したもの。彼は見ただけでこのような線が頭に浮かぶようである。
(NHK BS の番組より)

パジェットの能力とは「自然界に存在する規則性、法則性、パターンを直感的に見出す能力」といえます。これはまさに華園先生が「AS者に随伴することが多い能力」としてあげているものの1つなのです。

パジェットは後天性サヴァン症候群です。そしてなぜ特別な才能が芽生えたかというと、脳の左半球の損傷によって右半球の活動が活発になったからというのが、番組での研究者の解説でした。だとすると、生まれながらに脳の右半球が優位な(先天性の)サヴァン症候群の人にも「自然界に存在する規則性を直感的に見出す能力」を持つ人がいると推測できます。そしてサヴァン症候群の約半数の人は自閉スペクトラム症なのです。



ここで、話は伊藤若冲に飛びます。実は、伊藤若冲の「動植綵絵」には数々の規則性=相似形があるという研究を発表されている方がいます。


「梅花小禽図」(動植綵絵)


若冲百図.jpg
小林忠 監修
別冊太陽「若冲百図」
(平凡社 2015)
別冊太陽:日本のこころ 227「若冲百図」(小林忠 監修。平凡社 2015)という本があります。これは、辻惟雄のぶお氏と並んで若冲研究の第一人者である小林忠氏(岡田美術館館長)が若冲の100作品を選んで解説をつけ、11名の執筆者が文章を寄せた本です。

この本に、医師の赤須孝之氏(宮内庁病院)が「若冲は日本のレオナルドである」という文を寄せています。赤須孝之氏は23年間、国立がんセンターで多数の大腸がん患者の執刀をされた大腸がんの専門家です。華園先生に続いて赤須先生も医者ですが、医者には若冲が好きな美術愛好家が多いのでしょうか。

それはともかく、赤須先生は「動植綵絵」を詳しく調べた結果、「夥しい数の相似形が描き込まれていることがわかった」とし、それを「梅花小禽図」(下図)を例にとって説明されています。

動植綵絵「梅花小禽図」.jpg
伊藤若冲「梅花小禽図」
(「動植綵絵」より)
(皇居 三の丸尚蔵館)

 相似形1:小鳥 

「梅花小禽図」について、赤須先生はまず次のように書かれています。以下の引用では段落を増やしたところがあります。


それらの形態は類似性というレベルを超え、相似形といえるものであり、多くは隠し絵として描かれている。「主題」となるのは多くの場合鳥で、その「相似形兼隠し絵」が植物で描かれている。

たとえば「梅花小禽図」では、変わった格好をしている鳥が主題で、梅の枝と花を繋いで形成される形態がその相似形兼隠し絵となっている。驚くのは、鳥のみでなく、とまっている枝や周囲の相似形までもが描かれていることである。

このような相似形兼隠し絵が 80 以上発見されたのである。

赤須孝之  
「若冲は日本のレオナルドである」
別冊太陽「若冲百図」
(小林忠 監修。平凡社 2015)

以下、上の文章に出てくる「変わった格好をしている鳥」に関する3つの図を以下に掲げます。

◆ 「変わった格好をしている鳥」の位置
◆ 「変わった格好をしている鳥」の拡大図
◆ 「変わった格好をしている鳥」の相似形となっている、梅の枝と花を繋いで形成される形態

動植綵絵「梅花小禽図」鳥.jpg
「変わった格好をしている鳥」の位置

動植綵絵「梅花小禽図」鳥1.jpg
「変わった格好をしている鳥」の拡大図
(別冊太陽「若冲百図」より)

動植綵絵「梅花小禽図」鳥2.jpg
梅の枝と花を繋いで形成される形態

この梅の枝と花を繋いだ形は「変わった格好をしている鳥」の相似形となっている。数字は相似形の対応関係を表している。
(別冊太陽「若冲百図」より)

小鳥同士が相似形なのはあたりまえですが、「小鳥」と「梅の枝と花を繋いだ形」が相似形と見なせるのがポイントです。このような相似形が「梅花小禽図」だけなら偶然とも考えられます。しかし赤須氏は「相似形兼隠し絵が 80 以上発見された」としていて、このことを詳しく解説した本も出版されているようです。ということは、偶然ではなく意図して描かれたものでしょう。

若冲がこのような "相似形隠し絵" を仕掛けた理由は何でしょうか。おそらく若冲は梅の木々を観察するうちに、複雑にからまった梅の枝に小鳥の外形と類似したものがあることに気づき、その気づきをもとにこの絵を描いたと考えられます。

 相似形2:岸 

「梅花小禽図」の下の方を拡大したのが次の図です。

動植綵絵「梅花小禽図」岸の部分.jpg
「梅花小禽図」(部分)

ここには水が描かれているので、川か湖の情景です。そうすると、円弧状に黒く描かれているのは岸ということになります。抽象的な表現なので、岩なのか土なのかは判然としませんが、とにかく "岸" であることに間違いないでしょう。この岸について、赤須氏は次のように書いています。


相似形の中には、1975年に B.マンデルブロによって提唱された、複雑な自然の形態を表現するための幾何学的概念「フラクタル構造」を表すものも認められた。フラクタル構造とは、全体を部分に分解し、拡大して見た場合に、部分が全体と相似になっているもので、どんどん拡大してみると、どんどんより小さな相似部分が現れるものである。

樹木や川などの枝分かれはフラクタル構造のよい例である。「梅花小禽図」には、部分を拡大すると全体と相似になる岸が描かれている。この絵も含めて、若冲がフラクタル構造を理解して描いていることを示す画が多数発見された。

(同上)

フラクタルとは、部分が全体と相似になっている「自己相似形」を言います。「梅花小禽図」の "岸" は自己相似形になっていて、それについての赤須氏の解説は次の通りです。

動植綵絵「梅花小禽図」岸.jpg
「梅花小禽図」(部分)

岸は、大・中・小の相似形から構成されている。大① は、その縮小相似形である中② ③ ④ から成っている。中② は、その縮小相似形である小⑤ ⑥ からなり、同様に中③ は小⑦ ⑧ から、中④ は小⑨ ⑩ から成っている。

中⑪ は大① の縮小相似形であり、さらに、縮小相似形である小⑫ ⑬ ⑭ から成っている。

また、中② と小⑬ ⑭ を合わせた形は、大① と中⑪ を合わせた形の縮小形になっている。以上は、別冊太陽「若冲百図」の説明による。

表されているのが川の岸辺の岩だとすると、岩の形は自己相似形のよい例です。若冲は自然を観察するうちに自己相似形に気づき、その気づきからこの絵を描いたと考えられます。以上のような「動植綵絵」の検討を踏まえて、赤須氏は次のように結論づけています。


相似形ではないが、動植物の種の起源に関する考察を顕す描写や朝顔の花の入り模様の原理を洞察する描写も発見された。したがって、「動植綵絵」は単なる絵画ではなく、若冲が真摯な自然観察の中から独自に発見した自然界の形態形成の原理が表現されたものであることが解ったのである。

(同上)


「南天雄鶏図」(動植綵絵)


実は「動植綵絵」に相似形が隠されていることを指摘したのは、赤須氏が最初ではありません。美術家の森村泰昌氏が 2008年に出版された「異能の画家 伊藤若冲」(狩野博幸、森村泰昌ほか、新潮社)で、「南天雄鶏図」を引き合いに出してそのことを示しています。

動植綵絵「南天雄鶏図」1.jpg
伊藤若冲「南天雄鶏図」
(「動植綵絵」より)
(皇居 三の丸尚蔵館)

動植綵絵「南天雄鶏図」2・相似.jpg
「南天雄鶏図」
森村泰昌氏が指摘する相似形を示した図

異能の画家.jpg
「異能の画家 伊藤若冲」
(新潮社 2008)
森村氏は、上図の①から⑤の形の対応関係があることを指摘しています。それぞれ、

① 鶏の目・小鳥
② 鶏のとさか・南天
③ 鶏の耳・菊
④ 鶏に羽・南天の葉
⑤ 鶏の脚・南天の枝・地面の亀裂

という対応です(③の鶏の耳は、鶏の "頬" のあたりの白い小さな円形)。これらは形だけでなく、色も似ています。

これらの対応は「鶏」と、それをとりまく「南天・小鳥・地面」の間の対応関係であることが注目点です。このことを踏まえて森村氏は、次のように言っています。


この絵からわかるのは、若冲さんのなかでは、動物と植物の間のヒエラルキーはないんじゃないか、ということ。全体を観ると鶏の絵ではあるけれども、抽象画と考えることもできる。主役は存在しないんです。ディテールを見ていくと、みんな一緒。それが若冲さんの宇宙観なんですよ。汎神論に近いんじゃないかな。

森村泰昌  
「異能の画家 伊藤若冲」
(新潮社 2008)


伊藤若冲の独自の観察眼


No.371「自閉スぺクトラムと伊藤若冲」と、No.373「伊藤若冲「動植綵絵」の相似形」を通してまとめると、次のようになるでしょう。

◆ 自閉スペクトラムは人の認知特性の一つである(=自閉スペクトラム特性。AS特性)。それは必ずしもネガティブなものではない。AS特性をもった人がアートの最前線でイノベーティブな活躍をするケースがある。

◆ AS特性をもった人が作る視覚表現には特徴がある。それは、
・ 細部への焦点化
・ 多重視点
・ 表情認知の難しさ
・ 反復繰り返し表現
である。伊藤若冲の作品には、この「AS特性をもった人が作る視覚表現の特徴」が現れている。

◆ AS特性をもった人に多い能力として「自然界に存在する規則性を直感的に見出す能力」がある(ここまでが、精神科医、華園力氏の解説)。

◆ 伊藤若冲の「動植綵絵」を分析すると、相似形を使った表現が多々含まれる。それは異質なもの同士の相似であったり、全体と部分の相似(自己相似形、フラクタル構造)のこともある(赤須孝之氏、森村泰昌氏)。

◆ AS特性をもつ伊藤若冲は自然界に存在する規則性を直感的に把握できた。この観察眼を活用して「動植綵絵」を描いたのだろう(仮説)。

最後の点はあくまで仮説ですが、No.371 と No.373(本記事)を通して得られる推論です。若冲作品を一言でまとめると「すべてが平等である絵」(No.371)としましたが、次の森村氏の発言も当たっていると感じました。

主役は存在しない。ディテールを見ていくと、みんな一緒。それが伊藤若冲の宇宙観(森村泰昌)



 補記:スケールの小ささ 

本文中に森村泰昌氏が「異能の画家 伊藤若冲」に寄せた文を引用しましたが、この文で森村氏は『動植綵絵』の「池辺群虫図」を引き合いに出して次のように述べています。


『池辺群虫図』は若冲さんの特徴が非常によく表れている絵です。一言でいうと「スケールが小さい」。あ、これ、悪い意味じゃないですよ。

タイトルどおり池の様子を描いているんですが、池は池でも、それほど大きくはなさそう。京都の箱庭みたいなところにある小さな池の片隅を、うつむいて描いている。しかも隅っこのほうに集まっている小さい虫やら、蛇やら、葉っぱやらを細かく描いています。この人、基本的に、いつも視線は下向き。足元の草や虫や土くればっかり見ているみたい。大空を描いた絵なんて、ないんちゃうかな。

雪舟の「四季山水図(冬)」と比べてみてください。大空に切り立つ山々、雄大な湖(大河?)。どうです、このスケール感! 若冲さんのスケールの小ささがわかるでしょう(笑)。

森村泰昌  
「異能の画家 伊藤若冲」
(新潮社 2008)

動植綵絵「池辺群虫図」.jpg
伊藤若冲
「池辺群虫図」
(皇居三の丸尚蔵館)
雪舟「四季山水図(冬)」.jpg
雪舟
「四季山水図(冬)」
(東京国立博物館)

雪舟の作品は、3年間の中国滞在中に描いたもので、森村泰昌氏は「渾身の作」としている。一方、若冲は一生のほとんどを京都で過ごし、旅をしてもせいぜい大阪までだった。


洗練された京都人の感覚で、普通の人なら気持ち悪いと思うような池の端っこのゴミゴミした虫けらやら、腐った葉っぱが好きというところがまた面白い。雪を描くんでも、真っ白な新雪でなくて、とろ~っと溶けかけてる瞬間とかね。都会にいるけれども、ぴかぴかのまっさらのものではなくて、そのなかの微妙な生命の営みに目線を集中させている。いわゆる世の中の価値観からは背を向けていて、だからこそ、若冲さんだけに見えるものがあった。

小っさいスケールで描く片隅の世界にこそ、無限の宇宙を見いだすのが若冲さんなんです。

(同上)

精神科医の華園氏は若冲の絵の特徴の一つを「細部への焦点化」としました。それは自閉スペクトラムの特性を持った人の視覚表現にしばしば見られる特徴だと ・・・・・・。ここに引用した森村氏の「小さなスケール」は、まさに「細部への焦点化」と同じことを言っていると思います。表現の相違は、精神科医と美術家の違いなのでしょう。




nice!(0) 

No.372 - ヒトの進化と "うま味" [科学]

No.360「ヒトの進化と苦味」の続きです。味覚の "基本5味" は、甘味・塩味えんみ・酸味・苦味・うま味で、このそれぞれに対応した味覚受容体(= 舌の味蕾みらい細胞の表面にある味覚センサー)が存在します。

味覚受容体のうち、苦味受容体だけは多種類あり、それは霊長類(サルの仲間)の進化と密接な関係があります。つまり小型の霊長類では、マーモセットが20種、リスザルが22種、メガネザルが16種などですが、大型霊長類ではそれよりも種類が多く、ゴリラは25種、チンパンジーは28種、ヒトは26種です。


多くの苦味受容体を持つに至ったのは、進化の過程に深く関係がある。苦味受容体は、ヒトの祖先である霊長類が「主食を昆虫から植物の葉へと変えていく過程で増えていった」と北海道大学大学院 地球環境科学研究院 助教の早川卓志さん(博士)は解説する。早川さんはゲノム解析を通じて野生動物の行動や進化を研究する。

霊長類の祖先にあたる哺乳類は昆虫を主食としていたが、体が大きくなるにつれて虫だけでは栄養が不足し、葉に含まれるたんぱく質を摂取するようになる。植物はもともと毘虫に食べられないよう多様な毒を蓄えており、ヒ卜の祖先は「それを避けるように『苦味感覚』というセンサーを発達させ、受容体の数も増やした」(早川さん)。従って、植物を食べない哺乳類では苦味感覚の出番はあまりなく、受容体の数も少ない傾向にある。肉食のネコは霊長類の約3分の1、イルカ・クジラに至ってはゼロだ。

No.360「ヒトの進化と苦味」
日本経済新聞(日経 STYLE)
2023年4月30日 

要点をまとめると、

霊長類は進化の過程で、昆虫に加えて植物の葉をタンパク源とするようになった。

植物の葉は昆虫と違って身近に豊富にあり、簡単に手に入る。これが霊長類の大型化につながった。

しかし、植物は生き残りのために多様な毒素を発達させており、それらの毒を苦味として検知するために苦味受容体の種類が増えた。

となるでしょう。これは「霊長類の食性の変化が進化につながり、その裏には味覚の変化がある」という、極めて納得性の高い説明です。

しかし、これだけでは疑問が残ります。苦味受容体が発達したのは「食べてはいけない植物の葉を忌避するため」だったとして、では、そもそも「植物の葉を好んで食べるように嗜好が変化した」のはなぜか、という疑問です。



2024年6月23日の NHK Eテレの「サイエンス ZERO:生命をつなぐ神秘のパワー 味覚」を見ていたら、明治大学の特任講師・戸田安香やすか氏がこの疑問に答えていました。それはうま味受容体の進化です。この内容が興味深かったので、以下に紹介します。


うま味とは


まず、そもそも "うま味" とは何かですが、うま味受容体(細胞表面のうま味センサー)を活性化する物質は、アミノ酸(タンパク質の構成物質)とヌクレオチド(核酸系物質)の2つのカテゴリーがあります。

アミノ酸のうま味物質の代表はグルタミン酸です。和食では昆布のうま味成分がグルタミン酸ですが、昆布以外の海草にも含まれ、また、緑茶、トマトをはじめとする野菜類、魚介類、肉、乳製品、発酵食品などに幅広く含まれます。グルタミン酸以外にも、アスパラギン酸、アラニン、セリンなどのアミノ酸がうま味物質として働きます。

ヌクレオチドとは、糖にリン酸基と塩基が結合している物質の総称です。核酸(DNA, RNA)はヌクレオチドが連鎖している集合体で、1つのヌクレオチドに結合している塩基は DNA の場合、シトシン(C)、グアニン(G)、アデニン(A)、チミン(T)のどれかです。この CGAT の相補的な結合でDNAの2重螺旋構造ができています。生体におけるヌクレオチドは多数あり、例えば「エネルギー通貨」とも言われるアデノシン3リン酸(ATP)もヌクレオチドです。

ヌクレオチドのうま味物質の代表的なものがイノシン酸です。和食の鰹節の "だし" のうま味がイノシン酸ですが、鰹節だけでなく、牛肉、豚肉、魚介類に含まれています。広く "肉類" と言えるでしょう。また、干し椎茸のうま味成分であるグアニル酸もヌクレオチドです。

さらに、グルタミン酸とヌクレオチド(例えばイノシン酸)が同時に作用するとうま味が飛躍的に強く感じられるという、うま味の相乗効果があります。和食の「合わせだし」はこの原理を活用したものです。


霊長類 17種のうま味感覚


ここからが明治大学の戸田安香氏(のグループ)の研究です。霊長類 17種のうま味受容体を調べると、

体重が 1kg 以下の小型の霊長類は昆虫をタンパク源としていて、そのうま味受容体はヌクレオチドで活性化される。

体重が 1kg 以上の中・大型の霊長類は主に植物の葉からタンパク質を摂取しており、そのうま味受容体は主にグルタミン酸でで活性化される。

ことが分かりました。うま味受容体は1種類ですが、霊長類によって微妙に構造が違っていて、受容体が活性化される原理が違うのです。そこで、食物に含まれるうま味物質を調べると、

昆虫にはグルタミン酸とヌクレオチドの両方が含まれている。

植物の葉はグルタミン酸を含むが、ヌクレオチドをほとんど含まない。

ことが分かりました。「植物の葉はグルタミン酸を含む」というのは意外な感じもしますが、緑茶(特に玉露)を考えると納得できます。以上をまとめると、霊長類とうま味受容体の進化は次のようになります。

霊長類はもともと昆虫食であったが、植物の葉にも食性を広げ、それによって大型化し、類人猿の出現に至った。この裏には、うま味受容体の進化がある。つまり、うま味受容体が "ヌクレオチド・センセー" から "グルタミン酸センサー" へと変化し、これによって植物食が可能になった。

旨味受容体・リスザル.jpg
小型霊長類のうま味受容体
リスザルのうま味受容体の測定結果。横軸はヌクレオチドの濃度(2種測定)で、縦軸は反応の強さ。
「サイエンス ZERO」(2024.6.23)より

旨味受容体・チンパンジー.jpg
大型霊長類のうま味受容体
チンパンジーのうま味受容体は、ヌクレオチドよりもグルタミン酸に強く反応する。左側の「別のうま味物質への反応」となっているグラフがグルタミン酸の測定結果。
「サイエンス ZERO」(2024.6.23)より


動物の味覚をどうやって調べるのか


「サイエンス ZERO:生命をつなぐ神秘のパワー 味覚」では、17種の霊長類の味覚をどうやって調べたのかの説明がありました。

まず培養細胞を用意します。培養細胞とは、もともとはヒトの細胞ですが、実験室で維持・増殖が可能なように改変してあり、継続的に増殖させて世界で流通しているものです。短時間で増殖する、遺伝子導入がしやすい、などの実験に適した特徴があります。

この培養細胞に霊長類から採取したうま味受容体の遺伝子を "遺伝子導入" します。そうすることで、培養細胞の表面に霊長類のうま味受容体が発現します。また同時に、発光タンパク質の遺伝子を導入すると、細胞内に発光タンパク質が生成されます。この発光タンパク質はカルシウム・イオンに反応して光るタイプのものです。

うま味を感じるメカニズムは、受容体が活性化すると細胞内のカルシウム・イオン濃度が増大し、それが起点となって信号が脳に伝わるというものです。これを実験室で模擬するわけです。

こうして作った培養細胞を多数増殖させ、そこにうま味物質を添加して発光の様子を顕微鏡で記録します。発光が観察されればうま味受容体が活性化している、つまり遺伝子導入した霊長類がその物質にうま味を感じると推定できます。

戸田氏はこの実験系を完成させるために、培養液の種類を変えたり、発光タンパク質のタイプを変更するなど、数々の試行錯誤を行いました。1年半かけて発光が検知できるようになったと、番組で紹介されていました。

素人考えだと、動物の(霊長類の)味覚を調べるには、動物に該当物質を食べさせて反応を観察するしか無いように思いますが、それとは全く違った「バイオテクノロジーを駆使した実験方法」であることが理解できました。

この研究の意義ですが、番組で戸田氏は次のように語っていました。


うま味というのは、それまで基本5味の中で世界的にもあまり認められていない味覚で、英語でも bitter(苦味)とか sour(酸味)とか sweet(甘味)とか salty(塩味)と言うんですけど、うま味は umami って言います。

それぐらい、うま味だけは日本の特別な味なんじゃないかとか、そういう風に思われてしまって、「うま味って何なの?」という質問を国際学会に行くと味覚の研究者からも質問をされるぐらいでした。

今回私たちがうま味の重要性をこの実験系を使って明らかにしていくことで、うま味も重要な味覚として世界の味覚研究者の中で認めてもらえるようになったと思います。

戸田 安香(明治大学)
NHK Eテレ「サイエンス ZERO」
(2024年6月23日)

戸田氏のグループの研究によって「うま味が重要な味覚」であることが一目瞭然になりました。なぜなら、霊長類が大型化しヒトへと進化する過程でうま味が重要な役割を果たしたことが実験で明らかになったからです。

No.108「UMAMIのちから」でも書いたように、1908年、東京帝国大学の池田菊苗きくなえ博士は、昆布だしの成分がグルタミン酸ナトリウムであることを突き止め、この味を「うま味」と名付けました。そして1909年、世界初のうま味調味料「味の素」が発売された、というのは日本人に広く知られたストーリーです。イノシン酸(1913。小玉新太郎が発見)、グアニル酸(1957。国仲明)も日本人の発見です。

2000年代になってうま味受容体が特定され、第5の味覚であることが科学的に証明されました。しかし、戸田氏によると世界の味覚研究者の間で umami は必ずしもポピュラーになっているわけではない。おそらくumami が日本語だからでしょう。その意味で、うま味をヒトの進化と結びつけた戸田氏(のグループ)の研究は、味覚研究の歴史からして意義深いものです。池田博士から100年以上たってようやくここにたどり着いたと言えるでしょう。


何を食べるかで決まる


今回の研究で、霊長類の "味覚の進化" の一端が解明されました。普通、霊長類の進化というと、頭蓋骨の形とか、顎や歯の形状、脳の容積、運動能力(木登り、直立、歩行など)に関するものがほとんどですが、今回は味覚という "感覚" の進化の研究です。考えてみると、視覚や聴覚、味覚、嗅覚などの感覚は、動物が生き延びて子孫を残す上で超重要なものなのですね。その "感覚" が直接的な研究対象になっていることが有意義だと感じました。

苦味受容体の進化(No.360「ヒトの進化と苦味」)とうま味受容体の進化は、ともに霊長類がタンパク源を植物へと広げ、大型化していった過程と結びついています。その進化の結果としてヒトが出現した。もちろん苦味・うま味だけでなく、甘味(糖)や塩味(ナトリウムイオン)も含めて、動物の食性は味覚と密接にからんでいます。

番組の中で、動物の食性と味覚の関係について興味深い話がありました。鳥の祖先は恐竜で(No.210「鳥は "奇妙な恐竜"」)、それも、草食ではなく肉食恐竜です。一般に肉食動物は植物から糖を摂取しないので、甘味受容体が欠如しています(生存に必須のブドウ糖は体内で生成する。No.226「血糖と糖質制限」)。現代でも猫科の動物がそうであり、肉食恐竜の子孫である鳥も甘味受容体が欠如しているのです。

ところが、鳥類の分類上「スズメ亜目」に属する鳥は、うま味受容体で "糖" を検知できることが戸田氏の研究で判明しました。スズメ亜目には、スズメ、メジロ、シジュウカラ、モズ、ウグイス、ヒヨドリ、ヒバリ、ムクドリ、セキレイ、ツバメ、カラスなどの、なじみ深い鳥が含まれます。考えてみると、我々が日常生活でよく見かける野生の鳥はほとんどがスズメ亜目です(それ以外はハト、カモぐらいか)。それもそのはずで、世界に生息する鳥の種の約半数はスズメ亜目であり、鳥類の中では大繁栄しているグループなのです。

この繁栄の理由は、スズメ亜目が肉食(昆虫食)に加えて、花の蜜や穀物を食べるように進化したことが大きく、この裏には「うま味受容体による "糖" の検知」があるというのが戸田氏の見解でした。

"You are what you eat" という英語のことわざがあります。少々意訳すると「何を食べるかで、何者であるかが決まる」ということでしょう。これは人についての言葉ですが、動物でも同じはずです。「何を食べるか・何を食べないか」で、体の構造や生理的機能が決まり、食環境に合致するように進化していく。その「食べる・食べない」は味覚に左右されている。そういうことだと理解しました。


ノーベル賞の理由


これ以降は余談です。戸田氏が作った実験系で思い出した話があります。この実験系では「発光タンパク質」が使われていますが、番組によると、当初は「蛍光タンパク質」を使っていたがうまくいかず、発光タンパク質に変えて試行錯誤して実験系を完成させた、とのことでした。

蛍光タンパク質は、ある波長の光(たとえば青色)を当てると、別の波長の光(たとえば赤色)を発するタンパク質です。それに対して発光タンパク質は、細胞からのエネルギーと何らかのトリガー(実験系ではカルシウム・イオン)を受け取って発光するタンパク質です。

2008年のノーベル賞(化学賞)は、緑色蛍光タンパク質を発見したボストン大学名誉教授の下村脩氏ら3人が受賞しました。この緑色蛍光タンパク質の発見以降、数々の蛍光・発光タンパク質が作られるようになりました。これらは細胞内の生命現象を可視化する道具として、生命科学で無くてはならないものになっています。

実は、下村氏のノーベル賞受賞の報道に接したとき、素人としては「そんなにすごいことなのか」と疑問に思ったのを覚えています。しかし今になってよくよく考えてみると、テレビの生命科学・医学番組で放映される「細胞内を可視化した動画」は、その多くに「光るタンパク質」を使っているのですね。我々はそういう動画を見て「光るタンパク質が使われている」などとは考えもしないのだけれど・・・。

戸田氏の実験系の話を知って「ノーベル賞には、それに値する理由がある」ことを、改めて実感しました。




nice!(0) 

No.371 - 自閉スぺクトラムと伊藤若冲 [アート]

No.363「自閉スペクトラム症と生成 AI」は、自閉スペクトラム症の女性を主人公にしたフランスの警察ドラマ、「アストリッドとラファエル」に触発されて書いた記事でした。今回は自閉スペクトラムと絵画との関係について書きます。


皇居三の丸尚蔵館


皇室が国に寄贈した美術工芸品を収蔵する三の丸尚蔵館は、新施設の建設工事(第1期)が完成し、これを記念して2023年11月から2024年6月まで、所蔵作品を展示する開館記念展が開催されました。これは第1期から4期に分かれており、その第4期の展示(2024年5月21日~6月23日)に行ってきました。

第4期には 14点の美術工芸品が展示されていて、どれもすばらしいものでしたが、何と言っても目玉は、狩野永徳の『唐獅子屏風』(国宝)と伊藤若冲の『動植綵絵』(全30幅のうちの4幅。国宝)でしょう。私は『唐獅子屏風』は別の展覧会で見たことがあったのですが、『動植綵絵』は初めてでした。


伊藤若冲の『動植綵絵』


そもそも4期に渡るこの展示会は、『動植綵絵』の "全30幅のうちの12幅" が大きな "目玉作品" でした。そのうちの8幅は第1期の前期と後期にそれぞれ4幅が展示され、今回が最後の4幅です。展示されていたのは、

・老松孔雀図
・諸魚図
・蓮池遊魚図
・芙蓉双鶏図

でした。なお、No.215「伊藤若冲のプルシアン・ブルー」に書いた『群魚図《鯛》」は『諸魚図』とは別です。今回の作品はたこが目立つので『群魚図《蛸》』と呼ばれることもありますが、皇居三の丸尚蔵館は『群魚図《鯛》』を単に『群魚図』、『群魚図《蛸》』を『諸魚図』と呼んで区別しています。

三の丸尚蔵館・伊藤若冲.jpg
伊藤若冲「動植綵絵」

皇居三の丸尚蔵館・開館記念展(第4期)で展示された4幅。老松孔雀図(左上)、諸魚図(右上)、蓮池遊魚図(左下)、芙蓉双鶏図(右下)

この中でやはり印象的だったのは『老松孔雀図』です。孔雀の羽を白(胡粉)で描き、裏から黄色(黄土色)を塗ることで、透けて見える部分が金色に輝くような効果を生み出しています(No.215 参照)。いわゆる裏彩色の技法ですが、白と合わさることで "気高い" とか "高貴" といった印象を醸し出していました。

『芙蓉双鶏図』の2羽の鶏の鮮やかな色彩と構図も印象に残りました。2羽の鶏は、普通あまり描かれないようなアングルです。実際に鶏はこういう格好をするに違いなく、画家の徹底した観察を思わせるものでした。

そして、・・・・・。『動植綵絵』で最も強く思ったのは、実は、その横に展示してあった酒井抱一の『花鳥十二ヶ月図』との対比で感じた若冲の絵の "密度" だったのです。


酒井抱一『花鳥十二ヶ月図』


酒井抱一の『花鳥十二ヶ月図』は、一月から十二月までの各月にちなんだ画題の花鳥画から成っています。4期の展示会では、その中から『二月 菜花に雲雀図』『三月 桜に雉子図』『十月 柿に小禽図』『十一月 芦に白鷺図』の4幅が展示されていました。

三の丸尚蔵館・酒井抱一.jpg
酒井抱一「花鳥十二ヶ月図」

皇居三の丸尚蔵館・開館記念展(第4期)で展示された4幅。「二月 菜花に雲雀図」(左上)、「三月 桜に雉子図」(右上)、「十月 柿に小禽図」(左下)、「十一月 芦に白鷺図」(右下)

各幅には、花鳥画というジャンルそのままに、小鳥(十月の小禽は目白)と植物(花・草・果実)が描かれています。そして、主題とそれを支える事物が詳細度を変えて描かれています。鳥はリアルですが、たとえば桜や柿の幹は "たらし込み" を使って「幹のイメージ的表現」になっている。また背景は空や田畑や川を暗示する抽象的な描き方です。

さらに構図は、木の幹で画面をぶった切る "クローズアップ" 表現によって、画面外にも絵画世界が広がっている印象を与えています。余白のとりかたも画面外の世界を暗示している。まさに江戸期の日本画の一つの典型のような作品です。



酒井抱一の『花鳥十二ヶ月図』は、伊藤若冲の『動植綵絵』の左に展示されていました。そして見比べると、同じ日本画、しかも同じ花鳥画である2作品のあまりの違いが強く印象づけられました。一言で言うと『花鳥十二ヶ月図』との比較で感じる『動植綵絵』の "密度" です。

密度といっても、画面を隙間なく埋め尽くすという意味での密度ではありません。『動植綵絵』は、主題となった動物・植物の各部位が同じような詳細度合いで描かれています。また主題と、それを支える "補助的な" はずの事物も同じ詳細度合いです。筆を省略して暗示しようとする積極的な意図はなく、描くところは徹底的に描き込まれている。そういう意味での、"描き込みの密度" です。

おそらく皇居三の丸尚蔵館の学芸員の方は、『花鳥十二ヶ月図』と『動植綵絵』という2つの花鳥画・4幅を対比させることによって、それぞれの特長を際だたせようとしたのでしょう。その狙いはピッタリとはまっていました。これでこそ学芸員です。


辻惟雄


皇居三の丸尚蔵館を見学してから数日後、NHK Eテレの日曜美術館を見ていると、美術史家・辻惟雄のぶお氏の特集をやっていました(2024年6月2日)。辻先生は「奇想の系譜」(初版 1970年)を出版し、それまで忘れられていた江戸期の画家、岩佐又兵衛、狩野山雪、伊藤若冲、長沢芦雪、曽我蕭白、歌川国芳などを "奇想の画家" というキーワードで紹介し、江戸絵画の見方に革命を起こしたことで有名です。日本美術史を書き換え、さらに、いわゆる "若冲ブーム" に火を付けた方と言ってよいでしょう。

番組では若冲について、アメリカ人のジョー・プライスという人が若冲をコレクションしているという話を辻先生が聞きつけ、辻先生はそれで若冲作品の本物に初めて触れ、そこから研究に入った経緯が語られていました。

そして近年、辻先生が若冲についてのある論文を執筆者から受け取り、返事を出されたことが紹介されていました。その返事には「自閉スペクトラムという科学の鍵を用いて、若冲の秘密の部屋を次ぎ次ぎと開けていく手腕に、目から鱗の落ちる思いだった」とあります。その論文を書かれたのは、京都市で精神科医をされている華園 力はなぞの つとむ氏です。

若冲のオーソリティである辻先生に「目から鱗」と評価された論文を知らずにおくわけにはいきません。そこで以下は、ネットに公開されている「自閉スペクトラムの認知特性と視覚芸術」(日本視覚学会誌 VISION Vol.30, N0.4, 2018)にもとづき、華園先生の論を紹介します。自閉スペクトラムという認知特性がアートにもたらす影響を論じたもので、華園先生の臨床医としての経験と研究から生まれたものです。


自閉スペクトラムと視覚芸術


まず議論の前提として、花園先生の論文の主題になっている自閉スペクトラム(AS。Autism Spectrum)は、自閉スペクトラム症(ASD。Autism Spectrum Disorder)と同じではないことを明確にしておく必要があります。自閉スペクトラム症(ASD)とは、

A: 対人、あるいは社会的コミュニケーションや相互交流が難しい。自動的で即座的な対人情報処理が弱い。
B: 興味関心・行動が限定されていて、反復性がある。細部・規則性・同一性にこだわる。
C: 適応不全である。すなわち社会生活上の支障をきたしている。

の3条件に当てはまる状態を言います。これは、医学的診断名であり、医療(治療)の対象になります。

一方、自閉スペクトラム(AS)とは、3条件が当てはまるケースに加えて、C の条件がないケースも含みます。従って、適応不全ではなく支障なしに社会生活を送れている場合も含む。つまり「AS は ASD を含む広い概念」です。

AS は医学的診断名ではありません。また、医療の対象とはならない人を含みます。従って「人の、ある種の "認知特性" を表した言葉」と言ってもよい。論文では A や B のような認知特性を「AS特性」、また AS特性をもつ人を「AS者」という言葉で表現しています。

日曜美術館で華園先生が強調されていましたが、AS特性をもった人がアートやテクノロジーの最前線でイノベーティブな活躍をするケースがいろいろあるわけです。AS特性は、マイナス・弱点というより、個性ととらえるべきです。冒頭にあげた「アストリッドとラファエル」は、まさにそういう視点で作られたドラマでした。

論文には、AS者のアート表現についての数々の事例があげられています。これらをいろいろ読むと、AS特性は人の認知特性、発達特性の一つであり、人の個性であると強く感じます。もちろん AS特性といっても、人によって強弱があるのは言うまでもありません。そもそもスペクトラムとは、光の「スペクトル」を同じ意味で、連続体を意味します。光の波長が連続して変化して虹を作るように、AS特性も、健常者から重度の自閉スペクトラム症まで連続しています。AS特性は「多かれ少なかれ全ての人が持っている特性」とも言えるでしょう。

以上を踏まえて、華園先生が論じている「AS特性が視覚芸術に与える影響」みていきます。


AS特性が視覚芸術に与える影響


AS者が作るアートの表現様式の特徴から、華園先生が若冲作品を引き合いに出して説明されている、

 ・細部への焦点化
 ・多重視点
 ・表情認知の難しさ
 ・反復繰り返し表現

の4点を以下に紹介します。なお、以下の論文からの引用は段落を追加したところがあります。

 細部への焦点化 


若冲の絵には執拗なまでの細部へのこだわりが見て取れる。「南天雄鶏図」は、若冲が相国寺に寄進した「動植綵絵」という30幅の花鳥画の一つである。若冲の絵は形態と色彩の繰り返しと呼応に細心の注意が払われていることが多いが、この絵もそれをよく表している。

羽毛にしても鶏冠の白いドットにしても、また赤い南天の実一粒一粒も、全く手を抜くことなく驚くべき集中力を持続させて描きあげている。いたるところ細部まで同じ密度で描かれ、部分と全体、主題と背景の間に優劣が見られない。南天の実は絵絹の裏側から顔料を塗り表面は染料で色付けする「裏彩色」という技法によって微妙に陰影が付けられ奥行が表現されている。南天の実は一粒ごとに明度に差があり、裏彩色の有無や顔料や染料の濃度差で表現されている。

表面からは辰砂だけで彩色されたものと赤色染料を加えたものがある。緻密な表現、細密な描写がどの部分を取っても手を抜くことなく貫かれていて、色彩・発色への執着、細部への焦点化が顕著に認められる。このような細部への過剰な焦点化は、AS者の認知特性を強く反映している。

華園 力  
「自閉スペクトラムの認知特性と視覚芸術」
(日本視覚学会誌 VISION Vol.30-4, 2018)

『動植綵絵』の『南天雄鶏図』は、皇居三の丸尚蔵館・開館記念展の第1期(の前期)に展示されました。

伊藤若冲 動植綵絵「南天雄鶏図」.jpg
伊藤若冲
動植綵絵「南天雄鶏図」


華園先生は伊藤若冲を AS者であると考えていますが、絵だけから AS者と判断しているわけではありません。文献などにみられる若冲についての 状況証拠" も踏まえての判断です。逆に言うと、AS者でなくても「AS者のアートの表現様式の特徴をもった作品」を作ることはあり得るということでしょう。ここは重要な点だと思います。

 多重視点 


同じく若冲の動植綵絵の中の「蓮池遊魚図」という絵では、顕著な多重視点が見て取れる。この絵は一つの固定した視点から眺望した風景ではなく、各部分がそれぞれ独立した視点から描写された多重視点で構成されている。

前景に見られるヒシやハスの葉あるいはハスの花は池辺から斜めに、または真横から眺めているように描かれている。上方に見られる一輪のハスの花は、あたかも上空から見下ろしたように描かれている。また、同方向に泳ぐアユやオイカワは、真横から水中撮影したかのように表現されている。複数の異なるパースペクティブが何のためらいもなく同一画面を構成しているのである。

(同上)

『動植綵絵』の『蓮池遊魚図』は、皇居三の丸尚蔵館・開館記念展の第4期に展示されたので既に画像を掲載しましたが、改めて拡大した画像を掲げます。

伊藤若冲 動植綵絵「蓮池遊魚図」.jpg
伊藤若冲
動植綵絵「蓮池遊魚図」


惜しいことに、展示会でこの絵を見たあとに華園先生の論文を読んだので、こういった見方での鑑賞はしませんでした。「言われてみれば・・・」という感じです。

考えてみると、日本画では複数の視点を一つの作品に詰め込んだ作品は屏風絵などにはよくあります。絵巻物だと複数の時間まで同居している。浮世絵の風景画にも、近景・中景・遠景で視点が違う作品があります。そういう意味で『蓮池遊魚図』を(セザンヌの絵とは違って)多重視点という意識では見ないのでしょう。しかも横に展示してある『諸魚図』は、まるで魚類図鑑の1ページのような描き方です。『蓮池遊魚図』も、魚と蓮を並べた図鑑のような絵だと思ってしまのですね。

しかしこの絵は華園先生の指摘のように、蓮池の狭い空間の中に、横・斜め上・上から見た蓮の葉と花、9匹の鮎と1匹のオイカワの姿を混在させています。確かにこれは、この絵の明らかな特徴です。

 表情認知の難しさ 

AS特性の強い多くの人は、表情認知が弱いことが知られています。つまり「顔や表情は、それ以外のものが発信する情報よりも優れて目立つ」という "顕著性" があるのが普通です。しかしAS者は、顔や表情について顕著性の感じかたが弱いのです。


若冲の絵には僧侶の肖像画(頂相ちんそう)を含め人物画が極めて少ない。あったとしても人の表情の描写は極めて拙く、動植物画に比べ表現力に極端な乖離がある。これはAS者に多い表情認知の弱さと関連していると思われる。

例えば、「蒲庵和尚像」は黄檗山第23代蒲庵和尚の肖像画(頂相)であるが、巧みな動植物の絵に比べてその拙さは不思議な印象すら与える。若冲の絵にはこのような頂相を含め人物画が極めて少なく、人の表情の描写は極めて拙い。さもなければ、「布袋唐子図」のように、まるで漫画やゆるキャラのような表現になる。

表情描写の乏しさは、動物の表情や目の描写にも表れている。無邪気に戯れ合っているように見える若冲の「百犬図」に登場する仔犬たちの表情は、よく見ると平板で特に目はどこを見ているのか視線は定まらず、対象を突き抜けているようで、その奥に志向性や感情の存在が読み取れない。遊び心をうかがわせる凝った犬の紋様以上の顕著性が表現されていない。

(同上)

伊藤若冲「蒲庵浄英像」.jpg
伊藤若冲「蒲庵ほあん浄英じょうえい像」
(京都・萬幅寺 蔵)

伊藤若冲「百犬図」.jpg
伊藤若冲「百犬図」

「百犬図」という題ではあるが、子犬は 100匹ではなく 59匹である。百は多数の意味。
(京都国立博物館 蔵)

伊藤若冲「百犬図」部分.jpg
伊藤若冲「百犬図」(部分)
子犬の目はすべて同じように描かれていて、表情が没個性的だとの印象を受ける。それとは裏腹に、毛色とぶちのパターンは極めて多様である。

江戸絵画には子犬を描いた絵が多々ありますが、有名なのは円山応挙です。応挙が描いたさまざまな子犬が次です。

円山応挙の子犬.jpg
円山応挙が描いた、さまざまな子犬
金子信久「子犬の絵画史」(講談社 2022)より

若冲と応挙を比較してみると共通点があります。それは「子犬のさまざまな姿態、ポーズを描こうとしている」ことです。それによって子犬の愛らしさ、可愛らしさを表現しています。

しかし大きな違いがあります。応挙は子犬の "表情" によって愛らしさを際だたせようとしています。一方、若冲は "表情" を描こうとはしていません。若冲の関心は明らかに子犬の毛色、特に地色にまだら模様の入る "ぶち犬" のパターンを描き分けることにあります。だから59匹もの子犬を画面に詰め込んだ。若冲が表情描写に関心が行っていないという華園先生の指摘は図星だと思います。

伊藤若冲 動植綵絵「群鶏図」.jpg
伊藤若冲
動植綵絵「群鶏図」
思い出してみると『動植綵絵』の中に 13羽もの鶏を1画面に描いた『群鶏図』があります。この『群鶏図』と『百犬図』とは「動物の姿態と外見のバリエーションを描ききろうとした絵」という点で非常によく似ています。

そう言えば、若冲が多数描いた鶏には「表情がない」のですね。また魚や昆虫にも表情がない。一方、哺乳類(子犬、猿が江戸絵画の主な画題)については、普通の人は「表情がある」とイメージします。それが本当に動物の "表情" なのかは別です。人は子犬や猿を見ると、無意識に人間の顔を動物に投影してしまい、擬人化する。それにより "表情" と感じる、と言う方が正確でしょう。

応挙は子犬に表情をもたせた。だから "カワイイ"。しかし若冲は違います。画家は「鶏を描くように子犬を描いた」と言えそうです。

 反復繰り返し表現 


AS者は同一性を保持しようとしたり、反復繰り返し行動(restricted and repetitive behaviors:RRBs)を取ることが多い。そのような行動は、不安を軽減したり気分の安定に寄与する自己治癒的な側面を持っている。それが視覚芸術においても繰り返し表現を選択する動因となっていると考えられる。

(同上)

動植綵絵の『南天雄鶏図』における多数の南天の実と鶏冠とさかの白い点々、鶏の羽の1枚1枚は、まさに「反復繰り返し表現」です。No.215 で紹介しましたが、「無数に描かれた南天の実1つ1つ、折り重なった紅葉の1枚1枚に、微妙に異なる裏彩色がなされている」そうです(三の丸尚蔵館 太田主任研究官による。日経サイエンス 2017年10月号)。華園先生も『南天雄鶏図』について同じことを指摘されていました。若冲は絵の表で反復繰り返すだけでなく、裏からも繰り返していることになります。そもそも鶏の背景に南天を選んだのは、反復繰り返しをしたかったのかも知れません。

華園先生はその「反復繰り返し表現」の極端な例として、いわゆる "桝目描き" の『白象群獣図』を例に出しています。


伊藤若冲の桝目描きの初期作品「白象群獣図」は、正絵という西陣織物の下絵にヒントを得て創作されたものと言われている。

画面をおよそ10mm四方の正方形に分割し、その内部を一つ一つ塗り分けていて、この絵では約6,000個の桝目があるという。これらを一つ一つ丁寧に塗っていく、同一のパターンを飽きることなく繰り返すのは、驚くべき集中力と根気を必要とする気の遠くなるような作業である。

RRBsの強さ、特に同一性への固執は不安の強さと相関している。こういう同型の繰り返し作業、同一性を保つ行動はAS者にとっては不安を軽減する一種の自己治癒効果を持っていると考えられる。

(中略)

AS特性の強い者では、注意を持続させながら機械的繰り返し作業をしている時の方が、何もしていない時よりリラックスできていることがあることを示唆している。驚くべき持続的集中と忍耐で桝目を塗りあげている過程は、そのままリラクゼーションや癒しの行為にもなっているのではないだろうか。

ASの作家たちの作品には顕著な反復繰り返しの表現が数多く見られる。

(同上)

伊藤若冲「白象群獣図」.jpg
伊藤若冲「白象群獣図」
(個人蔵)

伊藤若冲の "桝目描き" の作品は『白象群獣図』を含めて3つあり、残りは『樹花鳥獣図屏風』(静岡県立美術館 蔵)と『鳥獣花木図屏風』(出光美術館 蔵:旧プライス・コレクション)です。このうち『白象群獣図』は、華園先生も書かれているように初期作品であり、すべてが若冲の真筆だと考えられています。

いずれにせよ、日本美術史においては "空前絶後" の作品であることには間違いありません。


全ての事物は平等


以上をまとめると、華園先生は、

 ・『南天雄鶏図』(動植綵絵)
 ・『蓮池遊魚図』(動植綵絵)
 ・『百犬図』『蒲庵浄英像』
 ・『白象群獣図』

などの作品に見られる特徴を、

 ・細部への焦点化
 ・多重視点
 ・表情認知の難しさ
 ・反復繰り返し表現

として抽出し、これらの特徴の共通項が「自閉スペクトラムの特性がある人のアート表現」だと指摘されたのでした。もちろん、論文は若冲の分析を目的にしたものではなく、他にも数々の画家の例が登場します。たとえば次のような指摘です。


田中一村(1908 - 1977)は幼少期から南画の神童と呼ばれたが、中央画壇に認められぬまま奄美大島で絵を描き続けた。一村もその行動上の特徴からAS者と考えられるが、彼の風景・花鳥図にも細部への焦点化による濃密な表現が見られる。田中一村の描いた数少ない肖像画も、見事な風景・花鳥図に比べるといかにも稚拙で見劣りがすると言わざるを得ない。

(同上)

なるほど。伊藤若冲と田中一村の花鳥図は、細部への焦点化による濃密な表現という点で極めてよく似ている。これは非常に納得します。一村を称して「奄美大島のゴーギャン」などと言う人がいますが、それは「離島に移り住んで描いた」という外面だけの共通性による皮相的な見方であり、「昭和の若冲」と言う方が本質を突いているのでしょう。

そう言えばNHK Eテレの日曜美術館によると、華園先生は、アンリ・ルソーの絵も AS特性をもつ人のアート表現の特徴があると指摘されているそうです。ここで思い当たるのは、アンリ・ルソーの(空想の)熱帯風景を描いた一連の絵と、田中一村の奄美で描いた絵は良く似ていることです。

その「田中一村 展」が、東京都美術館で開催される予定です(2024年9月19日~12月1日)。「自閉スペクトラム」「伊藤若冲」「アンリ・ルソー」という視点で展覧会を見るのも面白そうです。



以上の華園先生の論文を読んで思うのですが、もし「自閉スペクトラム」という言葉を全く持ち出さないで(あるいは精神医学の知見から全く離れて)若冲作品を貫く共通項を言うなら、

リアリズム絵画の範疇に留まりつつ、全ての事物は平等というコンセプトで描かれた作品

と言えるのではないでしょうか。画家は、鶏頭と鶏冠とさかと羽と南天の実と葉を同じ詳細度合いで描きます。上・横・斜めから見た蓮の花も平等に描く。子犬も、そこに人間を投影したりせずに、鶏と同じスタイルで描く。

極めつけは「桝目描き」です。全体としては象などの動物を描いているのだけれど、6000ある個々の桝目、今風に言うとピクセルは、あくまで平等です。どのピクセルが重要だとは言えません。ピクセルなのだから・・・。

伊藤若冲という人は、独特の個性的な "眼" をもった人であり(華園先生によるとそれは AS特性に由来する)、その個性が現代の我々を魅惑するのだと思いました。

続く


 補記1:伊藤若冲の人物像 

伊藤若冲(1716-1800)は、京都の錦小路の青物問屋(通称 "桝源")の長男として生まれ、23歳のときに父を亡くして家業を継ぎました。桝源は、錦小路という京都随一の食料品街に店を構え、店付近の土地も所有していたようで、その当主はただの町人ではなく町衆(旦那衆)と呼ばれた裕福な商人です。若冲は40歳のときに家督を弟に譲って隠居し、以降は画業に専念しました。

伊藤若冲の日記や手紙は残っていませんが、相国寺(『動植綵絵』を寄贈した禅宗の寺院)の住職であった大典だいてん顕常けんじょうが若冲と親しく、この僧が残した文が残っていて、そこから若冲の人物像をうかがい知ることができます。

その人物像を述べた2人の文章を紹介します。まず、若冲の研究で著名な美術史家の小林 忠氏は、葛飾北斎の自称である "画狂人" と対比するかたちで、若冲を "画遊人" であるとし、次のように述べています


若冲という号は、良き理解者の禅僧、大典顕常が命名したものらしい。その出典は『老子』の「大盈たいえいむなしきがごときも、其の用はきわまらず」、すなわち「満ち満ちているものはむなしいように見えて、そのはたらきは窮まることがない」からきている。当時の学僧として世に聞こえた大典和尚だったが、若冲の無垢純情な人柄を愛し、絵の道ひと筋のその日常を好意的に見守り、その絵筆の無限の可能性を信じて、励まし続けたのだった。

昔も今も京都きってのフードセンター錦小路の青物問屋の老舗に、家業を継ぐべき長男として生をうけならが、絵のほかには何の楽しみごともなく、日々その趣味にふけり遊んで飽きることがなかったと、大典は繰り返し述べている。後世の私が名指しするだけでなく、若冲を知る当代一の知識人がすでに、「丹青(絵画)に沈潜すること三十年一日の如し」と、「画に遊ぶ人」と同じようなことを証言しているのである。

古来日本人には、生き物ばかりでなく、山や滝、巨木や大きな岩石までにも霊気や神性を感じる心が宿っている、有史以前、縄文人以来のアニミズムを受け継いできたものだが、若冲にはそれに重ね合わせるように、仏教的なアニミズム、「草木国土悉皆成仏(そうもくこくどしっかいじょうぶつ)」という、非情のものでも有情うじょうのものと同じくことごとく成仏できるという思想もまた、備わっていたようだ。「釈迦三尊像」の大幅三幅と一対になる花鳥・草虫・魚介の連作「動植綵絵」三十幅を完成させ、禅宗寺院相国寺に寄贈したのも、仏教徒としての純粋で真摯な世界観が動機となっていたのである。

小林忠  
別冊太陽「若冲百図」
(平凡社 2015)

小林氏の紹介による若冲の人物像を簡潔にまとめると、

◆ 絵のほかには何の楽しみごともなく、日々その趣味にふけり遊んで飽きることがなかった
◆ 非情・有情にかかわらず成仏できるという、仏教徒としての純粋で真摯な世界観をもっていて、「動植綵絵」はその現れである

となるでしょう。



また、美術史家の狩野博幸氏は、次のように書いています。


大典によると、若い頃の若冲は、とにかく何もできない人だった。学問が嫌いで、字も下手、さらに芸ごとも全然だめで、〈声色宴楽〉といった娯楽も一切受け付けないというから徹底しています。もちろん酒など飲まないし、生涯結婚しなかったのも、女性に興味がなかったらでしょう。

狩野博幸  
「異能の画家 伊藤若冲」
(新潮社 2008)

旦那衆であれば夕方からの寄り合いが仕事のようなもので、彼らが祇園や先斗町に落とすお金が京の繁栄につながりました。小唄や三味線は、旦那衆が普通にたしなむ遊びです。しかし若冲は、そういうことは一切受け付けなかったようです。


若冲が『動植綵絵』を相国寺に寄進したのは、もちろん大典がいたからでしょうが、宝暦9年(1759)に鹿苑寺ろくおんじ大書院の障壁画を依頼されるのも、大典の強力な推薦があってのことと思います。鹿苑寺の住職は大典の弟子でしたからね。

しかしいくら大典が推薦したからといっても、若冲のような町絵師に大書院全部をまかせるというのは驚きですよね。それこそ、京都の底力だと思います。鹿苑寺くらいの格のあるお寺だったら、普通は狩野派とか土佐派に頼みますよ。それが、40歳で隠居し、画家になってわずか4年の若冲にまわってくるんだから、18世紀の京都というのは本当にすごい。鹿苑寺側にも新しい文化を担っていくんだという自負があったのでしょう。

(同上)

ちなみに、鹿苑寺は俗称・金閣寺で、臨済宗相国寺派の寺院です。鹿苑寺が大書院の障壁画を若冲にまかせたのは、狩野派や土佐派といった "ブランド" はなくても、絵師としての技量を認めたからでしょう。


若冲は江戸時代のオタクなんですよ。人づきあいが苦手で、家業のために努力しようなんて気もさらさらないけど、自分の興味のあることは異常に熱中するし、積極的です。普通の人には理解してもらえないことが多いですが、その価値がわかる人たちにとっては大変なものでしょう。

(同上)

狩野氏の紹介による若冲の人物像を簡潔にまとめると、

◆ 旦那衆としての素養はなく(ないしはそこから距離を置き)人づきあいは苦手
◆ ただし、興味のあることには異常に熱中する

といったところでしょう。その若冲の価値を理解できる人たちが、大典顕常をはじめ当時からいた。そこが重要なところだと思います。



 補記2:「蓮池遊魚図」の "あり得ない" 描写 

本文中に『動植綵絵』の「蓮池遊魚図」を "多重視点" という観点から引用しましたが、「補記1」で引用した狩野博幸氏は、別の観点から次のように書いています。


若冲は平気で病葉(引用注:わくらば = 病気や害虫にむしばまれた葉、ないしは変色した葉)を描いているんですよ。しかも、仏教の象徴である蓮の葉(《蓮池遊魚図》)や、おめでたいはずの桐の葉(《老松白鳳図》)が、穴だらけで腐っていたりする。こんな絵をお寺に奉納するなんて、本来なら、ありえないことです。

たとえば、時代は遡りますが、狩野山楽が大覚寺に襖に描いた《牡丹図》(重要文化財)などは18枚のなかに1枚たりとて枯れた葉は描かれていません。同時代の応挙、簫白、(長澤)蘆雪(1754~99)にしても、テクニックでは若冲に勝るとも劣りませんが、彼らにとって絵は生活手段。写実的に描くにしても、写していいものといけないものは心得ていたはずです。

若冲はリアルといえばリアルなんですが、絵にだって "晴れハレ" があります。そこを描き分けるのがプロフェッショナルなわけですが、若冲にはそんな常識は何の抑制にもならなかった。だって、だれに頼まれて描いているわけでもないんですから。そこが経済的に苦労のないものの強み。

好き勝手に描いて、なおかつその道のトップランナーになった。こんな絵描きは、世界美術史を見渡しても稀有な例だと思いますね。

狩野博幸  
「異能の画家 伊藤若冲」
(新潮社 2008)

伊藤若冲 動植綵絵「老松白鳳図」.jpg
伊藤若冲
動植綵絵「老松白鳳図」
鳳凰は空想上の霊鳥で、右下に描かれた "虫食いの桐の葉" は現実そのものである。フィションとリアルを極端に対比させた独自の世界が広がる。忘れがちであるが、『動植綵絵』の30幅は『釈迦三尊図』3幅とともに相国寺に寄進された仏画である。

病葉わくらばで思い出しましたが、若冲は『動植綵絵』の雪のシーンを描いた作品で、溶けかけた雪を描いていますね(「雪中錦鶏図」と「芦雁図」)。こういう表現は日本美術で他に見たことがないし、世界美術史でも例がないのではと思います。

伊藤若冲 動植綵絵「雪中錦鶏図」.jpg
伊藤若冲
動植綵絵「雪中錦鶏図」
錦鶏(きんけい)はキジ科の美しい鳥だが、背景になっている雪景色は独特である。水分を多量に含んだ "みぞれ" のような雪が木の枝に降り、降ったその場で溶け出すように描かれている。



 補記3:田中一村 

本文で触れたのですが、2024年9月19日から東京都美術館で「田中一村展」が開催され、さっそく行ってきました。その数日後の9月28日、1984年に放映された「日曜美術館」の再放送がNHK Eテレでありました。田中一村の評価の先駆けになったといわれる番組です。タイトルは、

  日曜美術館(1984年)
  美と風土 黒潮の画譜
  ~ 異端の画家・田中一村 ~

です。この番組の中で、若冲研究で著名な小林忠氏(当時、学習院大学教授。現在、岡田美術館館長。補記1参照)へのインタビューがありました。小林氏は1971年に「若冲展」(東京国立博物館)を企画・開催されていて、辻先生とともに現在の若冲ブームを作った中心人物です。その小林先生が、田中一村(1908-1977)の奄美大島時代の絵について次のように語っておられました。


同じ鳥や同じ花を、いろいろな角度から丹念に写生していますね。見つめ尽くしますね。これは、写実ということを超えてしまって、幻想的な世界にトンネルをくぐり抜けて行ってしまうんですね。写生をしていると、気がついたときには、と言いますか出来上がったものは、幻想的な、非現実的な、現実離れしたようなところまでくぐり抜けてしまう。そういう感じは、この一村の絵の中にもやはり感じますね。

で、そうした幻想の世界。動植物、しかもそれは現実にあるものですね、すべて空想の植物や動物はいないようですから、そういう現実の動植物を扱い、非常に観察を行き届かせた、その先は "あり得ない世界"。あり得ないけど、現実に私たちが見ている普通の世界よりも、もっと本当らしい世界というものを作り上げてしまう。

この一村の花鳥画はそういうたぐいですね。現実から始まって幻想に行きとどく。そういうタイプの画家だろうと思いますね。

小林忠  
日曜美術館(1984年)
美と風土 黒潮の画譜
~ 異端の画家・田中一村 ~

この "田中一村の花鳥画評" は、そのまま伊藤若冲に当てはまるではないでしょうか。小林先生の発言は、番組のタイトルが暗示する "風土と芸術の関係" ではなく、純粋な "画家論"、ないしは "芸術論" になっているのが印象的でした。

田中一村が知られるようになったのは、三回忌(1979年)に知人たちが奄美で行った「田中一村遺作展」でした。その5年後に日曜美術館がとりあげて(1984年)全国的な反響を呼んだのです。今回の「田中一村展」を監修された千葉市美術館の副館長・松尾和子氏は次のように書かれています。


当初、全く未知の画家だった田中一村は、その紹介にあたって「昭和の若冲」と形容された。他の画家と並べることで、その画家を理解することはよくおこなわれる。江戸時代の伊藤若冲も昭和40年代に認知度が高まり(引用注:「奇想の系譜」が出版されたのは1970年で、昭和45年)、近年に至っては "国民的画家" となった絵師である。そのため、特に並べてみたい画家として若冲の名が挙がる。ゴーギャンやルソー、ゴッホと並び称されることも何度も繰り返された。

松尾和子(千葉市美術館・副館長)
「田中一村展」図録より

これを読むと、本文中に書いた「昭和の若冲」という形容は当初からあったと理解できました。田中一村をゴーギャン(離島に移り住んで描き、生涯を終えた)、アンリ・ルソー(亜熱帯・熱帯の動植物を描いた)、ゴッホ(画壇から認められることは無かった)と並べるのは皮相的なのでしょう。やはり並べるとしたら伊藤若冲です。

今回の「田中一村展」は、7歳ごろから亡くなるまでの作品、300点以上が展示されるという大規模なものでしたが、その中から奄美大島で描かれた1点だけを引用します。

田中一村・枇榔樹の森.jpg
田中一村「枇榔樹びろうじゅの森
(田中一村記念美術館蔵)

幾重にも折り重なったビロウの葉が、深々とした森の中に空間を作っています。ビロウは墨の濃淡だけで表現され、空間の中に3つの植物と蝶が配置されています。「田中一村展」の図録によると、左上はアカミズキ(赤水木)にとまるアサギマダラ(浅葱斑)、中央下はアオノクマタケラン(青野熊竹蘭=ショウガ科)、右下はコンロンカ(崑崙花)です。植物の葉も墨で描かれ、墨以外の色はわずかです。向こうの方に少し明るい場所が見えますが、これは森の外でしょうか。

描かれているものはすべてリアルで、植物の名前、蝶の名も特定できます。しかし全体としては "見たことのない空間" という印象で、小林先生の言葉を借りると "写実を超えた幻想の世界" を描いたように感じます。

その大きな理由は、一種の "コラージュ的な手法" によるのだと思います。一つ一つのモノを徹底的に観察し、それらすべてを写実的に描き、画面全体に貼り合わせて構図を作る。一番手前(右下のコンロンカ)から向こうの方(明るい所)に空間が広がっているはずなのに、すべてが同程度のリアルさです。もし人がこれと同じ実空間にいたとしても、眼には決してこのようには見えないはずです。一種の "多視点的な描き方" であり、これが "見たこともない空間" を作り出しているのでしょう。

この絵は一つの例に過ぎませんが、田中一村が奄美大島で描いた絵はこのような特徴のものが多い。そのことが、展覧会を見てよく分かりました。

(2024.10.5)



nice!(0) 

No.370 - 高校数学で理解するガロア理論(7)可解性の判定 [科学]

\(\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}\)
No.359「高校数学で理解するガロア理論(6)」の補足をここに書きます。No.359 では \(x^5+11x-44=0\) という5次方程式をとりあげ、それが可解であることと(ガロア群は \(D_{10}\))、実際に数式処理ソフトで求めた解を記載しました。しかし、なぜ可解なのか(=四則演算とべき根で表せるのか)、そもそも可解性をどう判断するのには触れませんでした。そこで今回はその補足して、

・ 一般の5次方程式の可解性をどう判断するのか
・ 5次方程式のガロア群の求め方

を書きます。もちろんこれは、「高校数学で理解するガロア理論」シリーズの一部であり、前に書いた以下の記事の知識を前提とします。

No.354 - 高校数学で理解するガロア理論(1)証明の枠組み
No.355 - 高校数学で理解するガロア理論(2)整数の群・多項式・体
No.356 - 高校数学で理解するガロア理論(3)線形空間・群・ガロア群
No.357 - 高校数学で理解するガロア理論(4)可解性の必要条件
No.358 - 高校数学で理解するガロア理論(5)可解性の十分条件
No.359 - 高校数学で理解するガロア理論(6)可解な5次方程式・定理一覧


5次方程式の可解性とガロア群の判定


No.359 で、可解な5次方程式 \(x^5-2=0\) のガロア群が、位数 \(20\) のフロベニウス群 \(F_{20}\) であることを確認しました。一般に5次方程式のガロア群は、

 \(S_5\):5次対称群(位数 \(120\))
 \(A_5\):5次交代群(位数 \(60\))
 \(F_{20}\):フロベニウス群(位数 \(20\))
 \(D_{10}\):5次2面体群(位数 \(10\))
 \(C_5\):5次巡回群(位数 \(5\))

の5種しかないことが知られています。このうち、

 \(F_{20}\)、\(D_{10}\)、\(C_5\)

が可解群です(\(D_{10}\) は \(D_5\) と書く流儀もある)。\(S_5\) と \(A_5\) が可解でないことは「対称群の可解性」(65G)で証明しました。これらの群の、集合としての包括関係は、

 \(S_5\:\sp\:A_5\) \(\sp\:D_{10}\:\sp\:C_5\)
 \(S_5\:\sp\:F_{20}\) \(\sp\:D_{10}\:\sp\:C_5\)

です。\(F_{20}\)(下図)は奇置換と偶置換の両方を含むので、\(A_5\) の部分集合ではありあません。

フロベニウス群 F20.jpg
フロベニウス群 \(\bs{F_{20}}\)

ガロア群 \(F_{20}\) の \(20\)個の元を、4つの5角形の頂点に配置した図。\((1,2,3,4,5)\) などはガロア群を構成する巡回置換を表す。また \(23451\) などは、その巡回置換によって \(12345\) を置換した結果を表す(白ヌキ数字は置換で不動の点)。この群の生成元は、色を付けた \((1,2,3,4,5)\) と \((2,3,5,4)\) である。

そこで問題になるのは、ある5次方程式があったとき可解かどうか、ないしはガロア群が何かを判定する方法です。この判定のアルゴリズムを以下に書きます。それには「剰余類」と「共役群」の知識が必要なので、まずそれについて書きます。以降の内容は次の2つの文献を参考にしました。

文献1
Alexander D. Healy :
"Resultants, Resolvents and the Computation of Galois Groups"

文献2
D. S. Dummit :
"Solving Solvable Quintics"

剰余類
剰余類については No.356 の「4.一般の群」で書きましたが(41E)、改めて復習します。群 \(G\) の部分群を \(H\) とし、群 \(G\) の全ての元、

 \(g_1=e,\:g_2,\:g_3,\:\cd\:,g_n\:\:(n=|G|)\)

を \(H\) に群演算した \(n\) 個の集合、

 \(g_1H,\:g_2H,\:\cd\:,\:g_nH\)

を考えます(ここでは左から掛けるとしますが、右からでも同じ議論になります)。これらの任意の2つの集合 \(g_iH\) と \(g_jH\:(i\neq j)\) を比較すると、

・ \(g_iH\) と \(g_jH\) は全く同じ集合(全ての元が同じ)
・ \(g_iH\) と \(g_jH\) は全く違う集合(同じ元はない)

のどちらかになります。なぜなら、もし \(g_1H\) と \(g_2H\) に同じ元があるとして、それが \(g_1H\) では \(g_1h_i\)、\(g_2H\) では \(g_2h_j\) と表されているとします。

 \(g_1h_i=g_2h_j\)

です。これに左から \(g_2^{-1}\)、右から \(h_i^{-1}\) を掛けると、

 \(g_2^{-1}g_1=h_jh_i^{-1}\:\in\:H\)
 \(g_2^{-1}g_1\:\in\:H\)

となります。一般に \(h\in H\) と \(hH=H\) は同値なので(41C)、

 \(g_2^{-1}g_1H=H\)

が得られますが、これに左から \(g_2\) を掛けると、

 \(g_1H=g_2H\)

となります。従って、

・ \(g_1H\) と \(g_2H\) に一つでも同じ元があれば全体が同じ(\(g_1H=g_2H\))

になります。このことの対偶は

・ \(g_1H\) と \(g_2H\) が違えば(=一つでも違う元があれば)\(g_1H\) と \(g_2H\) に同じ元は全く無い(\(g_1H\cap g_2H=\phi\))

です。\(g_1H\) と \(g_2H\) の選択は任意なので、2つの剰余類について「全く同じか、全く違う」が成り立ちます。そこで、集合として同じものを一つにまとめてしまいます。その結果として \(d\) 個の集合ができたとして、

 \(g_iH\:\:(1\leq i\leq d)\)

を「剰余類」と呼び、\(G/H\) で表します。\(g_i\) の選び方には自由度がありますが、どれかを採用して \(g_i\) を代表元と言います。この結果、

 \(G=g_1H\:\cup\:g_2H\:\cup\:\cd\cup\:g_dH\)
 \(g_iH\cap g_jH=\phi\:\:(i\neq j)\)

 \(|G|=d|H|\)

となり、\(G\) が \(H\) による剰余類で "分割" できたことになります。この分割は、\(g_1=e\) として、\(H\) に含まれない \(G\) の元を \(g_2\) とし、\(g_1H\) と \(g_2H\) に含まれない \(G\) の元を \(g_3\) とし・・・というように \(G\) の元が尽きるまで続ける、と考えても同じです。


\(G=S_5\)、\(H=F_{20}\) の例で考えます。\(F_{20}\) の生成元は、巡回置換で表して、

  \((1,\:2,\:3,\:4,\:5),\:(2,\:3,\:5,\:4)\)

とします。\(|S_5|/|F_{20}|=6\) なので、\(S_5\) は 部分群 \(F_{20}\) によって6つの剰余類 \(S_5/F_{20}\) に分割されます。その代表元を \(g_1,\) \(g_2,\) \(g_3,\) \(g_4,\) \(g_5,\) \(g_6\) とします。実際に計算してみると、たとえば代表元として、

 \(g_1=e\)
 \(g_2=(1,\:2,\:3)\)
 \(g_3=(1,\:3,\:2)\)
 \(g_4=(1,\:2)\)
 \(g_5=(1,\:3)\)
 \(g_6=(2,\:3)\)

とすることができます。以降、\(S_5/F_{20}\) を問題にするときには、この代表元を使って計算します。もちろん代表元の選び方には自由度があって、たとえば \(e,\)  \((1,\:2),\) \((1,\:3),\) \((1,\:4),\) \((1,\:5),\) \((2,\:5)\) と選ぶこともできます。

さらに計算してみると、6つの剰余類 \(S_5/F_{20}\) には次の性質があることがわかります。つまり、\(\sg\) を、

 \(\sg=(1,\:2,\:3,\:4,\:5)\in H\)

の巡回置換とすると、

 \(\sg\:g_1H=g_1H\)
 \(\sg\:g_2H=g_5H\)
 \(\sg\:g_3H=g_4H\)
 \(\sg\:g_4H=g_6H\)
 \(\sg\:g_5H=g_3H\)
 \(\sg\:g_6H=g_2H\)

が成り立ちます。これが成り立つことは、たとえば、

\(\begin{eqnarray}
&&\:\:g_5^{-1}\sg\:g_2&=(1,\:3)(1,\:2,\:3,\:4,\:5)(1,\:2)\\
&&&=(2,\:4,\:5,\:3)\in H\\
&&&\longrightarrow\:g_5^{-1}\sg\:g_2H=H\\
&&&\longrightarrow\:\sg\:g_2H=g_5H\\
\end{eqnarray}\)

と確認できます。同様にして、

\(\begin{eqnarray}
&&\:\:g_4^{-1}\sg\:g_3&=(1,\:2)(1,\:2,\:3,\:4,\:5)(1,\:3,\:2)\\
&&&=(1,\:4,\:5,\:2)\in H\\
&&&\longrightarrow\:\sg\:g_3H=g_4H\\
\end{eqnarray}\)

\(\begin{eqnarray}
&&\:\:g_6^{-1}\sg\:g_4&=(2,\:3)(1,\:2,\:3,\:4,\:5)(1,\:2)\\
&&&=(1,\:2,\:3,\:4,\:5)\in H\\
&&&\longrightarrow\:\sg\:g_4H=g_6H\\
\end{eqnarray}\)

\(\begin{eqnarray}
&&\:\:g_3^{-1}\sg\:g_5&=(1,\:3,\:2)^{-1}(1,\:2,\:3,\:4,\:5)(1,\:3)\\
&&&=(1,\:2,\:3)(1,\:2,\:3,\:4,\:5)(1,\:3)\\
&&&=(1,\:4,\:5,\:2)\in H\\
&&&\longrightarrow\:\sg\:g_5H=g_3H\\
\end{eqnarray}\)

\(\begin{eqnarray}
&&\:\:g_2^{-1}\sg\:g_6&=(1,\:2,\:3)^{-1}(1,\:2,\:3,\:4,\:5)(2,\:3)\\
&&&=(1,\:3,\:2)(1,\:2,\:3,\:4,\:5)(2,\:3)\\
&&&=(2,\:4,\:5,\:3)\in H\\
&&&\longrightarrow\:\sg\:g_6H=g_2H\\
\end{eqnarray}\)

であり、上の式が成り立つことが確認できます。つまり、\(g_1H\:(=H)\) だけは \(\sg\) を作用させても不変ですが、その他の剰余類に \(\sg\) を作用させると、順に、

 \(g_2H\:\overset{\large\sg}{\rightarrow}\:g_5H\:\overset{\large\sg}{\rightarrow}\:g_3H\:\overset{\large\sg}{\rightarrow}\:g_4H\:\overset{\large\sg}{\rightarrow}\:g_6H\:\overset{\large\sg}{\rightarrow}\:g_2H\:\rightarrow\:\cd\)

と "巡回" します。このことは、後で可解性の条件定理で使います。

共役群
群 \(G\) の部分群を \(H\) とします。群 \(G\) の任意の元 を \(x\) とするとき、

 \(xHx^{-1}\) \((x\in G)\)

を「\(H\) と共役な群」と言います(\(x^{-1}Hx\) と定義してもよい)。これが群になることは、\(h_1,\:h_2,\:h_3\:\in\:H\)、\(h_1h_2=h_3\) のとき、

\(\begin{eqnarray}
&&\:\:(xh_1x^{-1})(xh_2x^{-1})&=xh_1h_2x^{-1}\\
&&&=xh_3x_{-1}\:\in\:xHx^{-1}\\
\end{eqnarray}\)

というように、\(xHx^{-1}\) が群演算で閉じていることから分かります。

\(H\) と共役な群 \(xHx^{-1}\) は \(x\) の個数=群の位数だけあることになりますが、これら全てが違う群ではありません。もし \(H\) が \(G\) の正規部分群であれば、\(G\) の任意の元 \(x\) について \(xHx^{-1}=H\) が成り立つので、\(H\) と共役な部分群は \(H\) 自身だけです。

また、\(x,\:y\:\in\:G\) が同じ剰余類 \(G/H\) に属しているとすると、その剰余類の代表元を \(g_1\) として、

 \(x=g_1h_i\)
 \(y=g_1h_j\)

と表現できますが、

\(\begin{eqnarray}
&&\:\:xHx^{-1}&=g_1h_iHh_i^{-1}g_1^{-1}\\
&&&=g_1Hg_1^{-1}\\
&&\:\:yHy^{-1}&=g_1h_jHh_j^{-1}g_1^{-1}\\
&&&=g_1Hg_1^{-1}\\
&&\:\:xHx^{-1}&=yHy^{-1}\\
\end{eqnarray}\)

となって、\(x,\:y\) による \(H\) の共役群は同じものです。従って、\(H\) の共役群の数は最大で \(G\) の \(H\) による剰余類の数\(=|G|/|H|\) です。


フロベニウス群 \(F_{20}\) は \(S_5\) の正規部分群ではありません。計算してみると、剰余類 \(G/H\) の代表元 \(g_i\:(1\leq i\leq6)\)に対して、次の6つの共役な部分群があることが分かります。\(H=\langle\:(1,2,3,4,5),\:(2,3,5,4)\:\rangle\) とすると、\(H_i=g_iHg_i^{-1}\) はそれぞれ、

\(g_1=e\)
 \(H_1=\langle\:(1,2,3,4,5),\:(2,3,5,4)\:\rangle=H\)

\(g_2=(1,\:2,\:3)\)
 \(H_2=\langle\:(1,2,4,3,5),\:(2,4,5,3)\:\rangle\)

\(g_3=(1,\:3,\:2)\)
 \(H_3=\langle\:(1,2,4,5,3),\:(2,4,3,5)\:\rangle\)

\(g_4=(1,\:2)\)
 \(H_4=\langle\:(1,2,5,4,3),\:(2,5,3,4)\:\rangle\)

\(g_5=(1,\:3)\)
 \(H_5=\langle\:(1,2,3,5,4),\:(2,3,4,5)\:\rangle\)

\(g_6=(2,\:3)\)
 \(H_6=\langle\:(1,2,5,3,4),\:(2,5,4,3)\:\rangle\)

です。また \(S_5\) の任意の元を \(g\) とすると、\(H\) の \(g\) による共役群 \(gHg^{-1}\) は、\(g\) が属する剰余類の代表元 \(g_i\) を用いて、

 \(gHg^{-1}=g_iHg_i^{-1}\) \((g,\:g_i\in H_i)\)

と表せることになります。

ある5次方程式のガロア群がフロベニウス群である、という場合、共役な6つの群のどれかであることを言っています。総称してフロベニウス群、とも言えます。


固定化群とリゾルベント


固定化群
以下は5次方程式を念頭に記述しますが、一般の \(n\)次方程式としても同じです。

\(S_5\) の部分群を \(G\) とします(\(G\subset S_5\))。\(G\) は \(S_5\) そのものであってもかまいません。次に、5変数、\(X_1,\:X_2,\:X_3,\:X_4,\:X_5\) の任意の多項式、

 \(F(X_1,\:X_2,\:X_3,\:X_4,\:X_5)\)

を考えます。そして「\(S_5\) の任意の元 \(\sg\) による \(F\) への作用」を考えます。\(F\) は \(\sg\) の作用によって変数の入れ替えが起こります。たとえば、

\(\begin{eqnarray}
&&\:\:F&=X_1^2X_2+X_2^2X_3\\
&&\:\:\sg&=(1,\:2)\\
\end{eqnarray}\)

だと、

 \(\sg F=X_2^2X_1+X_1^2X_3\)

です。この、多項式とそれへの作用を用いて固定化群(ないしは安定化群)の定義をします。

固定化群の定義

\(G\subset S_5\) とし、5変数、\(X_1,\:X_2,\:X_3,\:X_4,\:X_5\) の任意の多項式を \(F\) とする。\(G\) の元 \(\sg\) で、\(F\) に作用しても \(F\) を不変にする元の集合、

 \(H_{(F,G)}\:=\:\{\sg\:|\:\sg\subset G,\:\sg\:F=F\}\)

は群を成す。この \(H\) を(\(G\) における)\(F\) の固定化群(ないしは安定化群。stabilizer)と呼ぶ。

固定化群 \(H\) は、多項式 \(F\) と群 \(G\) に依存しているので \(H_{(F,G)}\) としました。いくつかの例をあげます。\(G=D_6\)(3次の2面体群。\(=S_3\))とすると、

\(F=X_1X_2+X_2X_3+X_3X_1\)
\(\begin{eqnarray} &&\:\:\longrightarrow\:H&=D_6\:(=S_3)\\ &&&=\{\:e,(1,2,3),(1,3,2),(1,2),(1,3),(2,3)\:\}\\ \end{eqnarray}\)

\(F=X_1^2X_2+X_2^2X_3+X_3^2X_1\)
 \(\longrightarrow\:H=C_3=\{\:e,(1,2,3),(1,3,2)\:\}\)

\(F=X_1+X_2\)
 \(\longrightarrow\:H=\{\:e,(1,2)\:\}\)

\(F=X_1-X_2\)
 \(\longrightarrow\:H=\{e\}\)

などです。

リゾルベント(Resolvent)
以降、一般の既約な5次多項式を、

\(\begin{eqnarray} &&f(x)&=x^5+ax^4+bx^3+cx^2+dx+e\\ &&&=(x-x_1)(x-x_2)(x-x_3)(x-x_4)(x-x_5)\\ \end{eqnarray}\)
・ 係数 \(a\) ~ \(e\) は有理数
・ \(x_i\) は \(f(x)=0\) の根

で表します。根と係数の関係から、 \(a\) ~ \(e\) は \(x_i\) の基本対称式で表現できます。その具体的な形は No.357「高校数学で理解するガロア理論(4)」の「6.5 5次方程式に解の公式はない」の定理(65H)にあげました。

次にリゾルベントを定義します。定義に使うのは、

・ 5次方程式 \(f(x)=0\)
・ 多項式 \(F(X_1,\:X_2,\:X_3,\:X_4,\:X_5)\)
・ \(f(x)=0\) の根を多項式に代入した値 \(F(x_1,x_2,x_3,x_4,x_5)\)
・ 群 \(G\:\:(\:\subset S_5\:)\)
・ 多項式 \(F\) の \(G\) における固定化群 \(H\)( \(\subset G\) )
・ 剰余類 \(G/H\)

です。

リゾルベントの定義

既約な有理係数の5次方程式 \(f(x)=0\) の根を \(x_1,x_2,x_3,x_4,x_5\) とする。

\(G\subset S_5\) とし、5変数、\(X_1,\:X_2,\:X_3,\:X_4,\:X_5\) の任意の多項式を \(F\) とする。\(G\) における \(F\) の固定化群を \(H\) とする。

剰余類 \(G/H\) の代表元を \(g_1,\:g_2,\:\cd\:,g_d\) とする。\(|G|=d|H|\) である。このとき、リゾルベント \(R(x)\) を
 \(R_{(F,G,f)}(x)=\displaystyle\prod_{i=1}^{d}(\:x-g_i\cdot F(x_1,x_2,x_3,x_4,x_5)\:)\)
と定義する。

\(g_i\cdot F(x_1,x_2,x_3,x_4,x_5)\) という表記は、

多項式 \(F(X_1,\:X_2,\:X_3,\:X_4,\:X_5)\) に \(g_i\) を作用させてできた多項式に \(X_i=x_i\:(1\leq i\leq5)\) 代入した値

の意味です。\(g\in G\) とすると、

 \(g\cdot F(X_1,X_2,X_3,X_4,X_5)=\)
   \(F(X_{g(1)},X_{g(2)},X_{g(3)},X_{g(4)},X_{g(5)})\)

 \(g\cdot F(x_1,x_2,x_3,x_4,x_5)=\)
   \(F(x_{g(1)},x_{g(2)},x_{g(3)},x_{g(4)},x_{g(5)})\)

の意味です。\(g=(1,2,3)\) とすると、\(g(1)=2\)、\(g(2)=3\)、\(g(3)=1\)、\(g(4)=4\)、\(g(5)=5\) です。また以降で、関数 \(F(X_1,X_2,X_3,X_4,X_5)\) と 値 \(F(x_1,x_2,x_3,x_4,x_5)\) を \(F\) と簡略表記します。どちらを指すかは文脈によります。

このように、剰余類 \(G/H\) の代表元 \(g_i\) を \(F(x_1,x_2,x_3,x_4,x_5)\) に作用させることの意味を考えてみます。いま \(G\) の任意の元を \(g_\al,\:g_\beta\)とし、同じ剰余類 \(g_iH\) に属するとします。そうすると、\(H\) の適当な元 \(h_s,\:h_t\) を用いて、

 \(g_\al=g_ih_s\)
 \(g_\beta=g_ih_t\)

と表現できます。すると、

 \(g_\al\cdot F=g_ih_s\cdot F=g_i\cdot F\)
 \(g_\beta\cdot F=g_ih_t\cdot F=g_i\cdot F\)

となるので(\(H\) の元 \(h_s,\:h_t\) を \(F\) に作用させても不変)、

 \(g_\al\cdot F=g_\beta\cdot F\)

となり、\(g_\al\cdot F\) と \(g_\beta\cdot F\) は同じ多項式です。ということは、\(G\) の元を \(F\) に作用させた多項式は最大、

 \(g_1\cdot F,\:\:g_2\cdot F,\:\cd\cd\:,\:\:g_d\cdot F\)

の \(d\) 種類(=剰余類の数)あることになります(\(g_1,\:g_2,\:\cd\:g_d\) は \(G/H\) の代表元)。逆に、\(1\leq i,\:j\leq d\)(但し、\(i=j=1\) ではない) とし、

 \(g_i\cdot F=g_j\cdot F\)

になるとすると、

 \(g_j^{-1}g_i\cdot F=F\)
 \(g_j^{-1}g_i\in H\)
 \(g_j^{-1}g_iH=H\)
 \(g_iH=g_jH\)
 \(g_i=g_j\)

となります。この対偶は「\(g_i\neq g_j\) なら \(g_iF\neq g_jF\)」であり、\(G\) の元を \(F\) に作用させた多項式は、

 \(g_1\cdot F,\:\:g_2\cdot F,\:\cd\cd\:,\:g_d\cdot F\)

の \(d\) 種類です。これらを「\(\bs{G}\) における)\(\bs{F}\) と共役な多項式」と呼ぶことにします。

そもそも \(G/H\) の代表元は、\(g_iH\:(1\leq i\leq|G|)\) の集合から同じもを集めて、それらの代表として \(g_1H,\:g_2H,\:\cd\:g_dH\) としたものであり、

 \(G=g_1H\:\cup\:g_2H\:\cup\:\cd\:\cup\:g_dH\)

が成り立つのでした。従って、\(G\) の任意の元を \(g\) とすると、\(gG=G\) なので、\(gg_iH\:(1\leq i\leq|G|)\) の集合から同じもを集めると、それらの代表として \(gg_1H,\:gg_2H,\:\cd\:,\:gg_dH\) とすることができ、

 \(G=gg_1H\:\cup\:gg_2H\:\cup\:\cd\:\cup\:gg_dH\)

も成り立ちます。つまり、\(G/H\) の代表元を \(g_1,\:g_2,\:\cd\:,\:g_d\) とすると、\(gg_1,\:gg_2,\:\cd\:,\:gg_d\) も \(G/H\) の代表元です。従って、多項式 \(F\) へ作用させた、

 \(gg_1\cdot F,\:gg_2\cdot F,\:\cd\:,\:gg_d\cdot F\)

の \(d\) 個の多項式も「\(F\) と共役な多項式」です。つまり、これら \(\bs{d}\) 個の多項式の集合を考えると、

 \(\{g_1\cdot F,\:g_2\cdot F,\:\cd\:,\:g_d\cdot F\}=\)
   \(\{gg_1\cdot F,\:gg_2\cdot F,\:\cd\:,\:gg_d\cdot F\}\)

であり、集合としては同じもの( \(\bs{\br{①}}\)です。ここでリゾルベントの定義式を振り返ると、

 \(R(x)=\displaystyle\prod_{i=1}^{d}(x-g_i\cdot F(x_1,x_2,x_3,x_4,x_5))\)

であり、\(g_1\cdot F,\:g_2\cdot F,\:\cd\:,\:g_d\cdot F\) の対称式になっています。つまり \(\bs{R(x)}\) は任意の2つの \(\bs{g_i\cdot F,\:g_j\cdot F}\) の入れ替えで不変( \(\bs{\br{②}}\)です。結局、\(\bs{\br{①}}\) と \(\bs{\br{②}}\) を合わせると、

 \(g\cdot R(x)=R(x)\)

が分かります。つまり \(\bs{R(x)}\)\(\bs{G}\) の任意の元の作用で不変です。\(G\) は \(S_5\) かその部分群で、\(f(x)=0\) の5つの根 \(x_1,\:x_2,\:x_3,\:x_4,\:x_5\) を置換するものでした。この置換で不変ということは、 \(R(x)\) の係数は \(x_1,\:x_2,\:x_3,\:x_4,\:x_5\) の基本対称式で表現できます。従って \(R(x)\) の係数は \(f(x)\) の係数で表現できる有理数です。


\(F\) の \(G\) における固定化群は \(H\) でした。では、\(g\cdot F\:(g\in G)\) の固定化群は何かを調べてみると、\(H\) の任意の元を \(h\) として、

 \(ghg^{-1}g\cdot F=gh\cdot F=g\cdot F\)

なので、\(ghg^{-1}\) は \(g\cdot F\) を固定します。 \(h\) は任意なので、

 \(g\cdot F\) の固定化群は \(gHg^{-1}\) であり、\(H\) とは共役な群

であることがわかります。以上を踏まえて次の定理を証明します。この定理は文献1によります。


ガロア群とリゾルベントの関係


ガロア群とリゾルベントの関係性定理

\(G\subset S_5\) とし、5変数、\(X_1,\:X_2,\:X_3,\:X_4,\:X_5\) の任意の多項式を \(F\) とする。\(G\) の元 \(\sg\) で、\(F\) に作用しても \(F\) を不変にする元の集合を \(H\) とする。

 \(H_{(F,G)}\:=\:\{\sg\:|\:\sg\subset G,\:\sg\cdot F=F\}\)

であり、\(H\) は群を成す(固定化群)。

既約な有理係数の5次方程式 \(f(x)=0\) の根を \(x_1,x_2,x_3,x_4,x_5\) とする。\(f(x)\) の最小分解体を、

 \(\bs{L}=\bs{Q}(x_1,x_2,x_3,x_4,x_5)\)

とし、ガロア群を \(\mr{Gal}(\bs{L}/\bs{Q})\) で表す。

剰余類 \(G/H\) の代表元を \(g_1,\:g_2,\:\cd\:,g_d\) とする。\(|G|=d|H|\) である。このとき、リゾルベント \(R(x)\) を、\(d\) 次多項式、
 \(R_{(F,G,f)}(x)=\displaystyle\prod_{i=1}^{d}(\:x-g_i\cdot F(x_1,x_2,x_3,x_4,x_5)\:)\)
と定義する。以上の前提のもとに、次の2つの主張が成り立つ。

主張1
\(\mr{Gal}(\bs{L}/\bs{Q})\) が \(H\) の部分群(\(H\)を含む)と共役であれば、\(R(x)=0\)(リゾルベント方程式と呼ぶ)は有理数の根をもつ。

主張2
\(R(x)=0\)(リゾルベント方程式)が重複度1の有理数の根をもてば、\(\mr{Gal}(\bs{L}/\bs{Q})\) は \(H\) と共役な群の部分群である(重複度1の根とは重根ではない根=単根を指す)。

[主張1の証明]

\(\mr{Gal}(\bs{L}/\bs{Q})\) が \(H\) の部分群 \(N\:(N\subset H)\) と共役とすると、\(\sg\in G\) である \(\sg\) が存在し、\(\mr{Gal}(\bs{L}/\bs{Q})=\sg N\sg^{-1}\) と表せる。従って \(\tau\in\mr{Gal}(\bs{L}/\bs{Q})\) である任意の \(\tau\) をとると、\(\tau=\sg\:\mu\:\sg^{-1}\:(\mu\in N)\) と表せる。また、\(\sg\) が含まれる剰余類 \(G/H\) を \(g_iH\) とすると、\(\sg\) は適当な \(H\) の元 \(\eta\) を用いて \(\sg=g_i\:\eta\) と表せる。

ここでリゾルベントの定義式のうちの、

 \(g_i\cdot F(x_1,x_2,x_3,x_4,x_5)\)

に着目すると(以下、\(F(x_1,x_2,x_3,x_4,x_5)\) を \(F\) と書く)、

\(\begin{eqnarray}
&&\:\:\tau(g_i\cdot F)&=\sg\:\mu\:\sg^{-1}(g_i\cdot F)\\
&&&=g_i\:\eta\:\mu\:\eta^{-1}g_i^{-1}g_i\cdot F\\
&&&=g_i\:\eta\:\mu\:\eta^{-1}\cdot F\\
\end{eqnarray}\)

となるが、\(\eta\)、\(\mu\)、\(\eta^{-1}\) はいずれも \(H\) の元なので、\(F\) に作用すると \(F\) を固定する。従って、

 \(\tau(g_i\cdot F)=g_i\cdot F\)

であり、\(g_i\cdot F\) は \(\tau\) の作用で不変である。\(\tau\) は \(\mr{Gal}(\bs{L}/\bs{Q})\) の任意の元であり、ガロア群の任意の元で不変な \(g_i\cdot F\) は有理数である。\(g_i\cdot F\) はリゾルベント方程式の根の一つだから、方程式は有理数の根を持つ。[証明終]

[主張2の証明]

\(g_i\cdot F(x_1,x_2,x_3,x_4,x_5)\) がリゾルベント方程式の重複度1の有理数の根であったとする。\(\mr{Gal}(\bs{L}/\bs{Q})\) の任意の元 \(\tau\) は 有理数を固定する。\(g_i\cdot F\) は重複度1の根なので、\(g_i\cdot F\) 以外に有理数の根 \(g_j\cdot F\) があったとしても、\(g_i\cdot F\neq g_j\cdot F\:\:(i\neq j)\) である。従って、

\(\begin{eqnarray}
&&\:\:\tau\:g_i\cdot F=&g_i\cdot F\\
&&\:\:\tau\:g_i\cdot F\neq&g_j\cdot F\:\:(i\neq j)\\
\end{eqnarray}\)

が成り立つ。これは、\(\mr{Gal}(\bs{L}/\bs{Q})\) の任意の元 \(\tau\) が \(g_i\cdot F\) の固定化群に含まれることを意味する。\(F\) の固定化群 \(H\) の 任意の元を \(h\) とすると、\(h\cdot F=F\) であるが、

\(\begin{eqnarray}
&&\:\:g_ihg_i^{-1}g_i\cdot F&=g_ih\cdot F\\
&&&=g_i\cdot F\\
\end{eqnarray}\)

なので \(g_ihg_i^{-1}\) は \(g_i\cdot F\) を固定する。\(h\) は \(H\) の任意の元だから、\(g_i\cdot F\) の固定化群は \(H\) と共役な \(g_iHg_i^{-1}\) である。つまり、\(\mr{Gal}(\bs{L}/\bs{Q})\) の任意の元 \(\tau\) が \(\tau\in g_iHg_i^{-1}\) なので、\(\mr{Gal}(\bs{L}/\bs{Q})\) は \(H\) と共役な群の部分群である。[証明終]


リゾルベント \(R(x)\) を計算するためには、定義どおりにすると \(f(x)=0\) の根、\(x_1,\:x_2,\:x_3,\:x_4,\:x_5\) が必要です。しかし \(G=S_5\) の場合は、任意の \(g\in S_5\) について

 \(g\cdot R(x)=R(x)\)

です。ということは、\(R(x)\) の係数は \(x_1,\:x_2,\:x_3,\:x_4,\:x_5\) の基本対称式で表されることになり、つまり方程式 \(\bs{f(x)=0}\) の係数だけから \(\bs{R(x)}\) の計算が可能です。

主張1の対偶は、

\(R(x)=0\) が有理数の根をもたなければ、\(\mr{Gal}(\bs{L}/\bs{Q})\) は \(H\) の部分群ではありえない

であり、これを方程式のガロア群の判断に使えます。たとえば、\(G=S_5,\:H=F_{20}\) の場合、\(R(x)=0\) が有理数の根をもたなければ、ガロア群は \(S_5\) か \(A_5\) です。

主張2の証明の流れをみると「\(\mr{Gal}(\bs{L}/\bs{Q})\) は \(H\) と共役な群の部分群である」ではなく、「\(\mr{Gal}(\bs{L}/\bs{Q})\) は \(H\) の部分群である」というようにできることが分かります。つまり、方程式 \(f(x)=0\) の根を \(x_1,\:x_2,\:x_3,\:x_4,\:x_5\) と求め、\(g_i\cdot F(x_1,x_2,x_3,x_4,x_5)\) が有理数だと分かったとき、根を入れ替えて、

 \(x_i=x_{g_i(i)}\)

とし、変換後の \(x_i\) で \(R(x)\) を計算すれば、\(g_1\cdot F(x_1,x_2,x_3,x_4,x_5)\) が有理数になり、\(g_1=e\) なので \(\mr{Gal}(\bs{L}/\bs{Q})=H\) となります。つまり、根の入れ替えによってガロア群を "互いに共役な複数の群の中のどれかに一つに固定" できる。これは、\(G=F_{20}\)、\(H=C_5\) の場合に、\(G\) を \(F_{20}\) の6つの共役群のなかの \(\langle\:(1,2,3,4,5),\:(2,3,5,4)\:\rangle\) に固定したいときに使います(後述)。


\(x^5+11x-44=0\)


以下、\(x^5+11x-44=0\) を例に、「ガロア群とリゾルベントの関係性定理」を使って可解性とガロア群を判定します。

固定化群:\(F_{20}\)
可解性の判定のためには、ガロア群が \(F_{20}\) の部分群かどうかを判定すればよいわけです。そこでまず \(G=S_5\) とし、多項式 \(F(X_1,X_2,X_3,X_4,X_5)\) を、

 \(F(X_1,X_2,X_3,X_4,X_5)\)
\(\begin{eqnarray}
&&\:\: =&X_1^2(X_2X_5+X_3X_4)+X_2^2(X_1X_3+X_4X_5)+\\
&&&X_3^2(X_1X_5+X_2X_4)+X_4^2(X_1X_2+X_3X_5)+\\
&&&X_5^2(X_1X_4+X_2X_3)\\
\end{eqnarray}\)

と定義します。そうするとこの多項式の固定化群 \(H\) は、

 \(H=\langle\:(1,2,3,4,5),\:(2,3,5,4)\:\rangle\)

のフロベニウス群 \(F_{20}\) になります。そのことを確認してみると、

 \((1,2,3,4,5)\cdot F\)
\(\begin{eqnarray}
&&\:\: =&X_2^2(X_3X_1+X_4X_5)+X_3^2(X_2X_4+X_5X_1)+\\
&&&X_4^2(X_2X_1+X_3X_5)+X_5^2(X_2X_3+X_4X_1)+\\
&&&X_1^2(X_2X_5+X_3X_4)\\
&&\:\: =&F\\
\end{eqnarray}\)

 \((2,3,5,4)\cdot F\)
\(\begin{eqnarray}
&&\:\: =&X_1^2(X_3X_4+X_5X_2)+X_3^2(X_1X_5+X_2X_4)+\\
&&&X_5^2(X_1X_4+X_3X_2)+X_2^2(X_1X_3+X_5X_4)+\\
&&&X_4^2(X_1X_2+X_3X_5)\\
&&\:\: =&F\\
\end{eqnarray}\)

となって、確かに \(F\) の固定化群が \(H\) だと分かります。ここで \(H\) は6つある共役群のうちの特定の1つであることに注意します。剰余類 \(G/H\) の代表元を、

 \(e,\:(1,2,3),\:(1,3,2),\:(1,2),\:(1,3),\:(2,3)\)

として、

 \(F_1=F\)
 \(F_2=(1,2,3)\cdot F\)
 \(F_3=(1,3,2)\cdot F\)
 \(F_4=(1,2)\cdot F\)
 \(F_5=(1,3)\cdot F\)
 \(F_6=(2,3)\cdot F\)

とします。方程式 \(f(x)=0\) の5つの解を \(x_1,x_2,x_3,x_4,x_5\) とし、\(X_i\) に \(x_i\) を代入したものを改めて \(F_i\) として(\(1\leq i\leq6\))、

 \(R_{S5/F20}(x)=(x-F_1)(x-F_2)(x-F_3)(x-F_4)(x-F_5)(x-F_6)\)

でリゾルベントを定義します。この \(R(x)\) を \(x_1,x_2,x_3,x_4,x_5\) の基本対称式で表し、基本対称式に方程式の係数を割り当てれば、\(R(x)\) の具体的な形が求まります。ちなみに代表元のとり方には自由度があるので、上で書いたように、たとえば \((1,2)\) \((1,3)\) \((1,4)\) \((1,5)\) \((2,5)\) などとしても、同じ \(R(x)\) になります。

まず、方程式を \(x^5+px+q=0\) として \(R(x)\) を求めてみます。この計算は、さすがに手計算では厳しいので、Python の SymPy モジュールで計算することにします。コードの例は後述します。この結果、

\(\begin{eqnarray}
&&R_{S5/F20}(x)=&x^6+8px^5+40p^2x^4+160p^3x^3+400p^4x^2+\\
&&&(512p^5-3125q^4)x+256p^6-9375pq^4\\
\end{eqnarray}\)

となります。これに \(x^5+11x-44\) の係数を入れると、

\(\begin{eqnarray}
&&R_{S5/F20}(x)&=&x^6+88x^5+4840x^4+212960x^3+5856400x^2\\
&&&&-11630341888x-386068880384\\
&&&=&(x-88)(x^5+176x^4+20328x^3+2001824x^2\\
&&&&+182016912x+4387146368)\\
\end{eqnarray}\)

です。この結果、リゾルベント方程式が \(x=88\) の根をもつので、\(x^5+11x-44=0\) の方程式は可解であると判断できます。ガロア群は \(F_{20},\:D_{10},\:C_5\) のどれかです。もし仮に \(R_{S5/F20}(x)=0\) が有理数の根をもたなければ、ガロア群は \(S_5\) か \(A_5\) です。


実は、リゾルベント方程式、\(R_{S5/F20}(x)=0\) が有理数根を持てば、その有理数根は重複度1の根(単根)であり、他に有理数根はないことが言えます。その理由ですが、いま、\(F_1\) が有理数だとします。もし \(F_1\) が有理数でなければ、根 \(x_1,\:x_2,\:x_3,\:x_4,\:x_5\) の順序を入れ替えて \(F_1\) を有理数にできるので、こう仮定して一般性を失いません。そして、

 \(r(x)=(x-F_2)(x-F_3)(x-F_4)(x-F_5)(x-F_6)=0\)

の5次方程式を考えます。この \(r(x)\) の最小分解体を \(\bs{L}_{r(x)}\) とし、ガロア群を \(\mr{Gal}(\bs{L}_{r(x)}/\bs{Q})\) とします。

ここで一般論です。既約多項式のガロア群は根の集合に対して根を置換するように作用しますが、この作用は推移的(transitive)です。推移的とは、群(たとえばガロア群 \(G\))が集合(たとえば方程式の根の集合 \(X\))に対して作用(たとえば、根 \(x_1,\) \(x_2,\) \(x_3,\) \(x_4,\) \(x_5\) の置換)するとき、\(X\) の任意の2つの元 \(x_i,\:x_j\) について、

 \(\sg(x_i)=x_j\) \((\sg\in G)\)

となる \(\sg\) が必ず存在することを意味します。既約多項式のガロア群は、その定義から推移的です。この逆で、ガロア群が推移的であれば方程式は既約であることも成り立ちます。

\(r(x)=0\) の根は、\(F_2,\:F_3,\:F_4,\:F_5,\:F_6\) であり、

 \(F_1=F\)
 \(F_2=(1,2,3)\cdot F\)
 \(F_3=(1,3,2)\cdot F\)
 \(F_4=(1,2)\cdot F\)
 \(F_5=(1,3)\cdot F\)
 \(F_6=(2,3)\cdot F\)

ですが、剰余類の説明のところに書いたように、\(\sg\) を \((1,\:2,\:3,\:4,\:5)\) の巡回置換とすると、

 \(\sg\:(1,2,3)\cdot F\)\(=(1,3)\cdot F\)
 \(\sg\:(1,3,2)\cdot F\)\(=(1,2)\cdot F\)
 \(\sg\:(1,2)\cdot F\)\(=(2,3)\cdot F\)
 \(\sg\:(1,3)\cdot F\)\(=(1,3,2)\cdot F\)
 \(\sg\:(2,3)\cdot F\)\(=(1,2,3)\cdot F\)

となり、\(\bs{\sg}\) は、\(\bs{F_2,\:F_3,\:F_4,\:F_5,\:F_6}\) という \(\bs{r(x)=0}\) の5つの根の置換するように作用します。かつ \(\sg\) を順々に作用させると根は 、

 \(F_2\:\overset{\large\sg}{\rightarrow}\:F_5\:\overset{\large\sg}{\rightarrow}\:F_3\:\overset{\large\sg}{\rightarrow}\:F_4\:\overset{\large\sg}{\rightarrow}\:F_6\:\overset{\large\sg}{\rightarrow}\:F_2\:\rightarrow\:\cd\)

と巡回します。これは、

\(\begin{eqnarray}
&&\:\:C_5&=\langle\:(1,2,3,4,5)\:\rangle\\
&&&=\{\:\sg,\:\sg^2,\:\sg^3,\:\sg^4,\:\sg^5=e\:\}\\
\end{eqnarray}\)

が \(\mr{Gal}(\bs{L}_{r(x)}\:/\bs{Q})\) の部分群であり、\(\bs{\mr{Gal}(\bs{L}_{r(x)}\:/\bs{Q})}\)\(\bs{r(x)=0}\) の根に対する作用は推移的であることを意味します。従って \(\bs{r(x)}\) は既約多項式です。これから言えるのは、

リゾルベント方程式 \(R_{S5/F20}(x)=0\) に有理数根 \(a\) が一つあったとすると、\(R_{S5/F20}(x)/(x-a)\) は既約多項式である。つまり、\(a\) は重複度1の根(単根)であり、他に有理数根はない

ということです。従って、5次方程式の可解性判断は次のように結論づけられます。

5次方程式の可解性定理

5次方程式が可解である必要十分条件は、\(R_{S5/F20}(x)=0\) というリゾルベント方程式が有理数根を持つことである

固定化群:\(A_5\)
ガロア群が \(F_{20},\:D_{10},\:C_5\) のどれかを調べるには、固定化群が5次交代群 \(\bs{A_5}\) となる多項式を利用します。

 \(F(X_1,X_2,X_3,X_4,X_5)=\)
\(\begin{eqnarray}
&&\:\:  &(X_1-X_2)(X_1-X_3)(X_1-X_4)(X_1-X_5)\\
&&&(X_2-X_3)(X_2-X_4)(X_2-X_5)\\
&&&(X_3-X_4)(X_3-X_5)(X_4-X_5)\\
\end{eqnarray}\)

とおきます。\(F\) は 任意の互換の作用で \(-F\) になるので、任意の偶数個の互換を作用させても不変です。つまり \(F\) の固定化群は \(A_5\) です。剰余類 \(S_5/A_5\) の代表元としては、互換のどれかを選ぶことができます。従って、

 \(F_1=F\)
 \(F_2=(1,2)\cdot F=-F\)

とすることができて、これに方程式の5つの解 \(x_1,x_2,x_3,x_4,x_5\) を代入して、

\(\begin{eqnarray}
&&\:\:R_{S5/A5}(x)&=(x-F_1)(x-F_2)\\
&&&=x^2-F^2\\
\end{eqnarray}\)

でリゾルベントを定義します。リゾルベント方程式 \(R_{S5/A5}(x)=0\) は、相異なる2つの有理数根(\(F\) と \(-F\))をもつか、ないしは有理数根をもたないかのどちらかです。この \(R(x)\) を \(x_1,x_2,x_3,x_4,x_5\) の基本対称式で表し、基本対称式に方程式の係数を割り当てれば、\(R(x)\) の具体的な形が求まります。ちなみに、\(F\) は差積(数学記号では \(\Delta\))、\(F^2\) は判別式(数学記号では \(D\))と呼ばれています。

方程式を \(x^5+px+q\) として \(R(x)\) を求めてみると、

 \(R_{S5/A5}(x)=x^2-(256p^5+3125q^4)\)

となります。これに \(x^5+11x-44\) の係数を入れると、

\(\begin{eqnarray}
&&R_{S5/A5}(x)&=x^2-11754029056\\
&&&=(x-108416)(x+108416)\\
\end{eqnarray}\)

となり、リゾルベント方程式が有理数の根をもつので、ガロア群は \(A_5\) の部分群であり、\(D_{10},\:C_5\) のどちらかです。もし仮に有理数の根をもたなければ、ガロア群は \(F_{20}\) です。

固定化群:\(C_5\)
さらに、\(G=F_{20},\:H=C_5\) とすることで、\(x^5+11x-44=0\) のガロア群が \(D_{10}\) か \(C_5\) かを調べます。この場合、\(G\) の生成元を \((1,2,3,4,5),\:(2,3,5,4)\) 、\(H\) の生成元を \((1,2,3,4,5)\) と固定して計算します。そのためにまず、方程式 \(x^5+11x-44=0\) を数値計算で解き、根を求めます。根が \(x_1,\:x_2,\:x_3,\:x_4,\:x_5\) と求まったとします。

フロベニウス群 \(\langle\:(1,2,3,4,5),(2,3,5,4)\:\rangle\) を固定化群とする多項式 \(F_1\) に \(x_1,\:x_2,\:x_3,\:x_4,\:x_5\) を代入したもの、およびそれと共役な多項式(\(F_2\)~\(F_6\))は、

\(\begin{eqnarray}
&&\:\:F_1=&x_1^2(x_2x_5+x_3x_4)+x_2^2(x_1x_3+x_4x_5)+\\
&&&x_3^2(x_1x_5+x_2x_4)+x_4^2(x_1x_2+x_3x_5)+\\
&&&x_5^2(x_1x_4+x_2x_3)\\
\end{eqnarray}\)
 \(F_2=(1,2,3)\cdot F_1\)
 \(F_3=(1,3,2)\cdot F_1\)
 \(F_4=(1,2)\cdot F_1\)
 \(F_5=(1,3)\cdot F_1\)
 \(F_6=(2,3)\cdot F_1\)

でした。このうちの1つが有理数です。たとえば、\(F_3=(1,3,2)\cdot F_1\) が有理数だとすると、\(g=(1,3,2)\) として、

 \(x_{g(1)},\:x_{g(2)},\:x_{g(3)},\:x_{g(4)},\:x_{g(5)}\)

を改めて \(x_1,\:x_2,\:x_3,\:x_4,\:x_5\) と定義し直せば、\(F_1\) が有理数になります。この準備をした上で、固定化群が \(H=\langle\:(1,2,3,4,5)\:\rangle\) になる多項式 \(F_{C1}\) を考えると、

 \(F_{C1}=X_1X_2^2+X_2X_3^2+X_3X_4^2+X_4X_5^2+X_5X_1^2\)

がそれに相当します。冒頭に掲げたフロベニウス群の図を参考にして剰余類 \(G/H\) の代表元を選ぶと、\(F_{C1}\) に共役な多項式は、

\(\begin{eqnarray}
&&\:\:F_{C2}&=(2,3,5,4)&\cdot F_{C1}\\
&&\:\:F_{C3}&=(2,3,5,4)^2&\cdot F_{C1}\\
&&&=(2,5)(3,4)&\cdot F_{C1}\\
&&\:\:F_{C4}&=(2,3,5,4)^3&\cdot F_{C1}\\
&&&=(2,4,5,3)&\cdot F_{C1}\\
\end{eqnarray}\)

です。従ってリゾルベントは、

 \(R_{F20/C5}(x)=(x-F_{C1})(x-F_{C2})(x-F_{C3})(x-F_{C4})\)

で求まります。実際に \(x^5+11x-44=0\) のリゾルベントを求めると、

\(\begin{eqnarray}
&&\:\:R_{F20/C5}(x)&=x^4+968x^2+15972x+395307\\
&&&=(x^2-22x+1089)(x^2+22x+363)\\
\end{eqnarray}\)

です。因数分解の結果の2つの2次式はいずれも既約なので、リゾルベント方程式には有理数の根がありません。従って \(x^5+11x-44=0\) のガロア群は \(C_5\) ではなく \(D_{10}\) です。

もし仮に、\(R_{F20/C5}(x)=0\) のリゾルベント方程式が重複度1の有理数根をもてば、「ガロア群とリゾルベントの関係性定理」に従って、ガロア群は \(H\) の共役群の部分群ということになります。

ただし、No.359「高校数学で理解するガロア理論(6)」で書いたように、\(H=\langle\:(1,2,3,4,5)\:\rangle\)(\(=C_5\)) は \(G=\langle\:(1,2,3,4,5),\:(2,3,5,4)\:\rangle\)(\(=F_{20}\))の正規部分群です。従って、\(G\) における \(H\) と共役な群は \(H\) だけです。また、\(H\) に部分群はありません。つまり、ガロア群は \(H=\langle\:(1,2,3,4,5)\:\rangle\) です。

さらに、その \(H\) は \(F_{C1}\) と共役な \(F_{C2},\:F_{C3},\:F_{C4}\) の固定化群でもある。ということは、ガロア群で固定される \(F_{C2},\:F_{C3},\:F_{C4}\) は全て有理数です。これは、ガロア群が \(C_5\) になる方程式の例(後述)で確認できます。


実は、\(x^5+px+q=0\) の形の方程式のガロア群が \(C_5\)(=位数 \(5\) の巡回群)になることはありません。これはガロア理論から分かります。つまり、5次方程式の根 \(x_1,\:x_2,\:x_3,\:x_4,\:x_5\) のうち、実数根の数は1、3,5のどれかです。方程式が可解である前提では「実数解が3つの5次方程式は可解ではない(66B)」ので、実数根の数は1、5のどちらかです。\(x_1\) が実数だとすると、拡大次数(33G)は、

 \([\:\bs{Q}(x_1)\::\:\bs{Q}\:]=5\)

です(33F)。従って、最小分解体を \(\bs{L}=\bs{Q}(x_1,x_2,x_3,x_4,x_5)\) とすると、

 \([\:\bs{L}\::\:\bs{Q}\:]\geq5\)

ですが、複素数根があるとすると、\([\:\bs{L}\::\:\bs{Q}\:] > 5\) です。従って、\([\:\bs{L}\::\:\bs{Q}\:]=5\) となるのは、複素数根がないとき、つまり実数根が5つの場合で、かつ、

 \(\bs{Q}(x_1)=\bs{Q}(x_2)=\bs{Q}(x_3)=\bs{Q}(x_4)=\bs{Q}(x_5)\)

が成り立つときだけです。つまり \(x_1\) の四則演算で他の実数根が表わされる場合です(3次方程式のガロア群が \(C_3\) になる場合と同じ原理。No.358 参照)。

しかし、\(f(x)=x^5+px+q\) を微分すると \(f\,'(x)=5x^4+p\) ですが、\(f\,'(x)=0\) の実数根の数は高々2つであり、これから \(f(x)=0\) の実数根は高々3つであることが分かります。つまり、\([\:\bs{L}\::\:\bs{Q}\:]=5\) はあり得ません。従って \(|\mr{Gal}(\bs{L}/\bs{Q})|=5\) とはならず(52B)、ガロア群が \(C_5\) になることはないのです。


ちなみに文献2には、ガロア群が \(C_5\) になる方程式の例として、

 \(x^5-110x^3-55x^2+2310x+979=0\)

という、少々ややこしい式があげてあります。このリゾルベントを計算してみると次の通りで、ガロア群が \(C_5\) であることが確認できます。このケースでは、前述の通り、リゾルベント方程式 \(R_{F20/C5}(x)=0\) が重複度を含めて4つの有理数根(そのうちの一つは重複度1の根、\(990\))をもっています。

\(R_{S5/F20}(x)\)
\(\begin{eqnarray}
&&\:\:=&x^6+18480x^5+47764750x^4-580262760000x^3\\
&&&-1796651418959375x^2+2980357148316659375x\\
&&&-360260685644469671875\\
&&\:\:=&(x+9955)(x^5+8525x^4-37101625x^3-210916083125x^2\\
&&&      +303018188550000x-36188918698590625)\\
\end{eqnarray}\)

\(R_{S5/A5}(x)\)
 \(=x^2-1396274566650390625\)
 \(=(x-1181640625)(x+1181640625)\)

\(R_{F20/C5}(x)\)
 \(=x^4+165x^3-698775x^2-383161625x-56495958750\)
 \(=(x-990)(x+385)^3\)



以前に書いた記事から、ガロア群が \(F_{20}\) 、\(S_5\) の例をあげておきます。No.359 で、可解な5次方程式 \(x^5-2=0\) のガロア群が、位数 \(20\) のフロベニウス群 \(F_{20}\) であることを書きましたが、そのリゾルベントを計算してみると次の通りです。

 \(f(x)=x^5-2\)
\(\begin{eqnarray}
&&\:\: R_{S5/F20}(x)&=x^6-50000x\\
&&&=x(x^5-50000)\\
&&\:\: R_{S5/A5}(x)&=x^2-50000\\
\end{eqnarray}\)

\(R_{S5/F20}(x)=0\) は \(x=0\) の根がありますが、\(R_{S5/A5}(x)\) は既約多項式であり、ガロア群は \(F_{20}\) です。

No.357 の記事の末尾で、可解でない方程式の代表としてあげた方程式(実数解が3つの5次方程式)のリゾルベントは次の通りです。

 \(f(x)=x^5-5x+1\)
\(\begin{eqnarray}
&&\:\: R_{S5/F20}(x)&=&x^6-40x^5+1000x^4-20000x^3+\\
&&&&250000x^2-1603125x+4046875\\
&&\:\: R_{S5/A5}(x)&=&x^2+796875\\
\end{eqnarray}\)

2つのリゾルベントが共に既約多項式なので、ガロア群は \(S_5\) です。\(R_{S5/F20}(x)\) が既約であることは SymPy で確認できます。以前に書いた記事にはありませんが、ガロア群が \(A_5\) になる例もあげておきます。

\(f(x)=x^5+20x+16\)
\(\begin{eqnarray}
&&\:\: R_{S5/F20}(x)&=&x^6+160x^5+16000x^4+1280000x^3+\\
&&&&64000000x^2+1433600000x+4096000000\\
&&\:\: R_{S5/A5}(x)&=&x^2-1024000000\\
&&&=&(x-32000)(x+32000)\\
\end{eqnarray}\)

この \(R_{S5/F20}(x)\) も既約多項式です。


ガロア群とリゾルベントの関係性定理」をよく読むと、この定理ではガロア群が決定できないケースがあります。それは、

リゾルベント方程式が有理数の根を持つが、重根の有理数根しか持たない

ケースです。固定化群が \(C_5\)(\(G=F_{20},\:H=C_5\))の場合にはこれが起こりえます。
この場合、文献1では、元の方程式をガロア群が同じである別の方程式に変数変換してリゾルベントを計算するアルゴリズムが書かれていますが、詳細になるので割愛します。


x^5+11x-44=0.jpg
\(x^5+11x-44=0\) の根
可解な方程式の根をべき根で求める計算手法は文献2に書かれていますが、ガロア理論とは離れるので省略します。

\(x^5+11x-44=0\) の方程式は実数根が1つで、虚数根が4つです。実数根を \(\al\) とし、\(\al\) の近似値と厳密値をソフトで求めてみると次のようになります。この厳密値は本当かと心配になりますが、検算してみると正しいことが分かります。

\(\begin{eqnarray}
&&\:\:\al&=1.8777502748964972576\cd\\
&&&=\dfrac{\sqrt[5]{11}}{(\sqrt[5]{5})^4}(\al_1+\al_2-\al_3+\al_4)\\
\end{eqnarray}\)

  \(\al_1=\sqrt[5]{\phantom{-}75+50\sqrt{5}-12\sqrt{5-\sqrt{5}}-59\sqrt{5+\sqrt{5}}}\)
  \(\al_2=\sqrt[5]{\phantom{-}75-50\sqrt{5}+59\sqrt{5-\sqrt{5}}-12\sqrt{5+\sqrt{5}}}\)
  \(\al_3=\sqrt[5]{-75+50\sqrt{5}+59\sqrt{5-\sqrt{5}}-12\sqrt{5+\sqrt{5}}}\)
  \(\al_4=\sqrt[5]{\phantom{-}75+50\sqrt{5}+12\sqrt{5-\sqrt{5}}+59\sqrt{5+\sqrt{5}}}\)


リゾルベントとガロア群を求めるコード


この記事で書いたリゾルベントの計算は、実際は Python の SymPy モジュールを使ったプログラムで行いました。従って、正確かどうかはそのプログラムの正しさに依存します。念のため、そのプログラムを掲げておきます。

この中に、gCalculateResolvent() という関数がありますが、5次方程式の係数を受け取ってリゾルベントを計算し、表示します。また、ガロア群の種類を表示します。方程式の係数は、5次方程式を、

 \(x^5+ax^4+bx^3+cx^2+dx+e=0\)

としたとき、\([a,\:b,\:c,\:d,\:e]\) のリストです。\(a\) ~ \(e\) は整数、ないしはプログラムの冒頭で定義された変数(=シンボル。下記では \(p,\:q\))です。一部が整数、一部が変数であってもかまいません。

SymPy の symmetrize というメソッドが出てきますが、複数シンボルの式を、それらシンボルの基本対称式で表わすものです。また factor(因数分解をする)や solve(方程式を解く)、gcd(多項式の最大公約数を求める)も使っています。

import sympy as sy from IPython.display import display, Math from sympy.polys.polyfuncs import symmetrize x1, x2, x3, x4, x5 = sy.symbols('x1:6') s1, s2, s3, s4, s5 = sy.symbols('s1:6') x, p, q = sy.symbols('x, p, q') # ================================ # メインプログラム # ================================ def main(): eq = [0, 0, 0, p, q] # x**5+p*x+q=0 gCalculateResolvent(eq) # eq = [0, 0, 0, 11, -44] # D10 gCalculateResolvent(eq) # ================================ # リゾルベントの計算で使用する関数 # ================================ def gPermutation(x, permutaion): # リスト x の要素を置換(permutaion)に従って入替える new = [x[permutaion[i]-1] for i in range(len(x))] return new def gConjugate(equation, permutaion): # 5変数の多項式を permutaion に従って置換する v = [x1, x2, x3, x4, x5] pv = gPermutation(v, permutaion) new = equation.subs(zip(v, pv), simultaneous=True) return new def gComplexToInt(x, e=1.0e-8): # 虚部が 0 に近く、実部が整数に近い複素数を整数化する。 a = x.real; if abs(x.imag) < e and abs(round(a) - a) < e: return round(a) else: return x def gDisplayLaTex(header, eq): # LaTex 形式で表示する ltx = header.replace(' ', r'\quad') + sy.latex(eq) display(Math(ltx)) # ================================ # リゾルベントの計算関数 # ================================ def gCalculateResolvent(eq): # Galois = "UnKnown" # ガロア群の名称 # Coeff_is_Integer = True # 方程式の係数がすべて整数(変数なし) for coef in eq: if type(coef) != int: Coeff_is_Integer = False break # # 方程式を表示 # equation = x**5 + eq[0]*x**4 + eq[1]*x**3 + \ eq[2]*x**2 + eq[3]*x + eq[4] gDisplayLaTex("f(x)=", equation) # ---------------------------- # Resolvent S5/F20 を計算する # F1 : F20 で不変な多項式 # ---------------------------- F1 = x1**2*x2*x5 + x1**2*x3*x4 + \ x2**2*x1*x3 + x2**2*x4*x5 + \ x3**2*x1*x5 + x3**2*x2*x4 + \ x4**2*x1*x2 + x4**2*x3*x5 + \ x5**2*x1*x4 + x5**2*x2*x3 # S5/F20 の代表元 representatives = [[1,2,3,4,5], # e [2,3,1,4,5], # (1,2,3) [3,1,2,4,5], # (1,3,2) [2,1,3,4,5], # (1,2) [3,2,1,4,5], # (1,3) [1,3,2,4,5]] # (2,3) # S5 で F1 と共役な多項式 F2 = gConjugate(F1, representatives[1]) # (1,2,3) F3 = gConjugate(F1, representatives[2]) # (1,3,2) F4 = gConjugate(F1, representatives[3]) # (1,2) F5 = gConjugate(F1, representatives[4]) # (1,3) F6 = gConjugate(F1, representatives[5]) # (2,3) F = [F1, F2, F3, F4, F5, F6] # # Resolvent # R = (x - F1)*(x - F2)*(x - F3)* \ (x - F4)*(x - F5)*(x - F6) R = sy.expand(R) # # Resolventの係数を取り出し、基本対称式表現にし、 # 方程式の係数で置き換え、Resolventを作り直す # sympy.polys.polyfuncs.symmetrize を使う # c = [R.coeff(x, i) for i in range(6)] for i in range(6): c[i] = symmetrize(c[i], formal=True)[0] c[i] = c[i].subs([(s1, -eq[0]), \ (s2, eq[1]), \ (s3, -eq[2]), \ (s4, eq[3]), \ (s5, -eq[4])]) # s1 ... s5 は symmetrize から # 返される基本対称式のシンボル名 R = x**6 + c[5]*x**5 + c[4]*x**4 + c[3]*x**3 + \ c[2]*x**2 + c[1]*x + c[0] gDisplayLaTex(" R_{S5/F20}(x)=", R) # # Resolventを因数分解する # 因数分解できればResolvent方程式は有理数根がある # if Coeff_is_Integer: R_save = R R = sy.factor(R) if R == R_save: F20Rational = False else: F20Rational = True gDisplayLaTex(" =", R) # ----------------------------------------------- # Resolvent S5/A5 を計算する # F1 : A5 の作用で不変な多項式(5次方程式の差積) # ----------------------------------------------- F1 = (x1 - x2)*(x1 - x3)*(x1 - x4)*(x1 - x5)* \ (x2 - x3)*(x2 - x4)*(x2 - x5)*(x3 - x4)* \ (x3 - x5)*(x4 - x5) # S5 で F1 と共役な多項式 F2 = gConjugate(F1, [2, 1, 3, 4, 5]) # (1, 2) # R = (x - F1)*(x - F2) R = sy.expand(R) c = [R.coeff(x, i) for i in range(2)] for i in range(2): c[i] = symmetrize(c[i], formal=True)[0] c[i] = c[i].subs([(s1, -eq[0]), \ (s2, eq[1]), \ (s3, -eq[2]), \ (s4, eq[3]), \ (s5, -eq[4])]) R = x**2 + c[1]*x + c[0] gDisplayLaTex(" R_{S5/A5}(x)=", R) # # Resolventを因数分解 # if Coeff_is_Integer: R_save = R R = sy.factor(R) if R == R_save: A5Rational = False else: A5Rational = True gDisplayLaTex(" =", R) # # Galois群を決める # if Coeff_is_Integer: if F20Rational: if A5Rational: Galois = "D10/C5" else: Galois = "F20" else: if A5Rational: Galois = "A5" else: Galois = "S5" # # Resolvent F20/C5 を計算(別関数) # if Galois == "D10/C5": Galois = gCalculateResolventC5(eq, F, representatives) print(f" (Galois group = {Galois})") # return # ================================ # リゾルベントの計算関数(F20/C5) # ================================ def gCalculateResolventC5(eq, F, representatives): # # 方程式の解を求める(sympy.solve) # sols = sy.solve(x**5 + eq[0]*x**4 + eq[1]*x**3 + \ eq[2]*x**2 + eq[3]*x + eq[4]) xvalue = [] # 方程式の根(複素数) for sol in sols: xvalue.append(complex(sol.evalf())) # # F20 の生成元を (1,2,3,4,5), (2,3,5,4) とするため # 共役な多項式のうちの F1 (=F[0]) が有理数になるように # 根を入れ替える # xsymbol = [x1, x2, x3, x4, x5] # 有理数となるFiを探索 for rational, Fi in enumerate(F): val = Fi.subs(zip(xsymbol, xvalue)) val = complex(sy.expand(val)) if type(gComplexToInt(val)) == int: break # 根を入れ替える xvalue = gPermutation(xvalue, representatives[rational]) # # F1 : C5 (1,2,3,4,5) で不変な多項式 # F1 = x1*x2**2 + x2*x3**2 + x3*x4**2 + \ x4*x5**2 + x5*x1**2 # # F20 において F1 と共役な多項式を求める # 剰余類 F20/C5 の代表元は # e, (2,3,5,4), (2,5)(3,4), (2,4,5,3) # F2 = gConjugate(F1, [1,3,5,2,4]) # (2,3,5,4) F3 = gConjugate(F1, [1,5,4,3,2]) # (2,5)(3,4) F4 = gConjugate(F1, [1,4,2,5,3]) # (2,4,5,3) # # Resolvent F20/C5 # R = (x - F1)*(x - F2)*(x - F3)*(x - F4) R = R.subs(zip(xsymbol, xvalue)) R = sy.expand(R) c = [complex(R.coeff(x, i)) for i in range(4)] for i in range(4): c[i] = gComplexToInt(c[i], e=1.0e-4) R = x**4 + c[3]*x**3 + c[2]*x**2 + c[1]*x + c[0] gDisplayLaTex(" R_{F20/C5}(x)=", R) R = sy.factor(R) # 因数分解 gDisplayLaTex(" =", R) # # Galois群を決める # sols = sy.solve(R) # リゾルベント方程式の根を求める IntegerRoot = False # True : 有理数根をもつ SimpleRoot = False # True : 単根の有理数根をもつ for a in sols: if type(a) != sy.core.numbers.Integer: continue # sy. ... .Integer : sympy の整数クラス IntegerRoot = True multiple_root = sy.expand((x - int(a))**2) if sy.gcd(R, multiple_root) != multiple_root: SimpleRoot = True break # if SimpleRoot: Galois = "C5" else: if not IntegerRoot: # 有理数根がない Galois = "D10" else: Galois = "D10/C5" return Galois # ================================ # メインプログラムを呼び出す # ================================ main()


  実行結果
\(f(x)=px+q+x^5\) \(\begin{eqnarray} &&\:\:R_{S5/F20}(x)&=&256p^6+400p^4x^2+160p^3x^3+40p^2x^4\\ &&&&-9375pq^4+8px^5+x^6+x(512p^5-3125q^4)\\ &&\:\:R_{S_5/A_5}(x)&=&-256p^5-3125q^4+x^2\\ \end{eqnarray}\) \(f(x)=x^5+11x-44\) \(\begin{eqnarray} &&\:\:R_{S5/F20}(x)&=&x^6+88x^5+4840x^4+212960x^3+\\ &&&&5856400x^2-11630341888x-386068880384\\ &&&=&(x-88)(x^5+176x^4+20328x^3+2001824x^2+\\ \end{eqnarray}\)                  \(182016912x+4387146368)\) \(\begin{eqnarray} &&\:\:R_{S5/A5}(x)&=&x^2-11754029056\\ &&&=&(x-108416)(x+108416)\\ &&\:\:R_{F20/C5}(x)&=&x^4+968x^2+15972x+395307\\ &&&=&(x^2-22x+1089)(x^2+22x+363)\\ \end{eqnarray}\)   (Galois group = D10)

上の実行結果は Python コードの出力を見やすいように多少整形してあります。ちなみに文献2には、

 \(f(x)=x^5+px^3+qx^2+rx+s\)

としたときのリゾルベント \(R_{S5/F20}(x)\) が記述されていますが(77項からなる長い式です)、上のコードの出力と一致します。また、

 \(x^5-110x^3-55x^2+2310x+979=0\)

のリゾルベント方程式 \(R_{S5/F20}(x)=0\) が \(x=-9955\) の有理数根をもつと書かれていますが、これは本文中に書いたコードの出力結果と一致しています。




nice!(0) 

No.369 - 高校数学で理解する素数判定の数理 [科学]

\(\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}\)
今まで「高校数学で理解する・・・」という記事を何回か書きましたが、その中に暗号についての一連の記事があります。

No.310「高校数学で理解するRSA暗号の数理(1)」
No.311「高校数学で理解するRSA暗号の数理(2)」
No.313「高校数学で理解する公開鍵暗号の数理」
No.315「高校数学で理解する楕円曲線暗号の数理(1)」
No.316「高校数学で理解する楕円曲線暗号の数理(2)」

の5つです。これらは公開鍵暗号と、その中でも代表的な RSA暗号、楕円曲線暗号の数学的背景を書いたものです。情報通信をインフラとする現代社会は、この公開鍵暗号がなくては成り立ちません。"数学の社会応用" の典型的な例と言えるでしょう。

これらの暗号では、10進数で数10桁~数100桁の素数が必要です。ないしは、数10桁~数100桁の数が素数かどうかを判定する必要があります。

たとえば、マイナンバー・カードの認証に使われている RSA暗号の公開鍵は 2048ビットで、1024ビットの素数2つを掛け合わせて個人ごとに作られます。1024ビットということは \(2^{1023}\) ~ \(2^{1024}-1\) の数であり、10進では約300桁の巨大数です。素数を生成する式はないので、作るためには1024ビットの数をランダムに選び、それが素数かどうかを実用的な時間で判定する必要があります。

ビットコインのデジタル署名で使われているのは、256ビットの楕円曲線暗号です。この暗号の公開鍵は一般に公開されていますが(暗号の仕組みから個人ごとに作る必要はない)、この公開鍵を設計するときに必要なのは、256ビット=約80桁(10進)の数が素数かどうかを判定することです。

つまり、公開鍵暗号の基礎となっている技術が「素数判定」なのです。そこで今回は、素数判定の方法で一般的な「Miller-Rabin テスト」の数学的背景を書きます。Miller、Rabin は、このテストを考案した数学者2人の名前です。


前提知識


本論に入る前に前提知識について整理します。「高校数学で理解する・・・」というタイトルは「高校までで習う数学の知識だけを前提とする」という意味です。従って、その前提からはずれるものはすべて証明するのが基本方針です。

今回は、以前の「高校数学で理解する・・・」で証明した事項を前提知識とします。

合同式
フェルマの小定理
中国剰余定理
オイラー関数


です。また、暗号の記事ではありませんが、No.355「高校数学で理解するガロア理論(2)」の次の事項も前提とします。

・剰余群
・既約剰余類群
・巡回群
・群の直積
・群の同型

以下、剰余群以下の事項について、素数判定に関わるところを簡単に復習します。

剰余群
整数の集合を \(Z\) で表し、整数 \(n\) の倍数の集合を \(nZ\) とします。また、

 \(\ol{j_n}\)

は、\(\bs{n}\) で割った余りが \(\bs{j}\) である整数の集合とします(剰余類と呼ばれる)。たとえば、\(n=9,\:j=2\) とすると、\(\ol{2_9}\) は「\(9\) で割ったら \(2\) 余る整数の集合」で、

 \(\ol{2_9}=\{\:\cd,\:-16,\:-7,\:2,\:11,\:20,\:29,\:\cd\:\}\)

です。剰余群 \(Z/nZ\) とは、

 \(Z/nZ=\{\ol{0_n},\:\ol{1_n},\:\cd\:,\:\ol{(n-1)_n}\}\)

で示される「無限集合を元とする有限集合」です。\(n=9\) だと、

 \(Z/9Z=\{\ol{0_9},\:\ol{1_9},\:\ol{2_9},\:\ol{3_9},\:\ol{4_9},\:\ol{5_9},\:\ol{6_9},\:\ol{7_9},\:\ol{8_9}\}\)

です。この集合の元の加算 \(+\) を、

 \(\ol{i_n}+\ol{j_n}=\ol{(i+j)_n}\)

と定義すると(右辺は整数のたし算)、\(Z/nZ\) はこの演算について群の定義を満たし(=加法群)、この群を剰余群と呼びます。一般に有限群 \(G\) の元の数=群位数を \(|G|\) で表しますが、剰余群の群位数は、

 \(|Z/nZ|=n\)

です。以降、剰余類と整数を同一視して、

 \(Z/9Z=\{0,\:1,\:2,\:3,\:4,\:5,\:6,\:7,\:8\}\)

というように書きます。従って、\(1\) は 整数の \(1\) を表すことも、また、\(Z/nZ\) の元(= \(n\) で割ると \(1\) 余る数の集合= \(\ol{1_n}\))を表すこともあります。どちらかは文脈で決まります。

既約剰余類群
\(Z/nZ\) の元 \(\{0,\:1,\:\cd\:,\:j,\:\cd\:,\:n-1\}\) から \(\mr{gcd}(j,\:n)=1\) となる元(= \(n\) と素な元)だけを取り出した集合を既約剰余類群といい、\((Z/nZ)^{*}\) で表します。例をあげると、

\(\begin{eqnarray}
&&\:\:(Z/9Z)^{*}&=\{\ol{1_9},\:\ol{2_9},\:\ol{4_9},\:\ol{5_9},\:\ol{7_9},\:\ol{8_9}\}\\
&&&=\{\:1,\:2,\:4,\:5,\:7,\:8\:\}\\
\end{eqnarray}\)

です。この集合の、元と元との乗算 \(\cdot\) を、

 \(\ol{i_n}\cdot\ol{j_n}=\ol{(ij)_n}\)

で定義すると(右辺の \(ij\) は整数の乗算)、\((Z/nZ)^{*}\) は乗算を演算とする群になります(=乗法群)。従って、任意の元 \(a\in(Z/nZ)^{*}\) の逆元 \(a^{-1}\) が存在して、

 \(a\cdot a^{-1}=1\)

が成り立ちます。つまり乗算と除算が自由にできます。\((Z/9Z)^{*}\) の例では、

\(\begin{eqnarray}
&&\:\:1^{-1}&=1&&\\
&&\:\:2^{-1}&=5, &5^{-1}&=2\\
&&\:\:4^{-1}&=7, &7^{-1}&=4\\
&&\:\:8^{-1}&=8&&\\
\end{eqnarray}\)

です。\((Z/nZ)^{*}\) の群位数は、オイラー関数 \(\varphi\) を使って、

 \((Z/nZ)^{*}=\varphi(n)\)

で表されます。\(\varphi(n)\) は「\(n\) 以下で \(n\) とは互いに素な数の個数」です。\(p,\:q\) を異なる素数とすると、

\(\begin{eqnarray}
&&\:\:\varphi(p)&=p-1\\
&&\:\:\varphi(pq)&=(p-1)(q-1)\\
&&\:\:\varphi(p^2)&=p(p-1)\\
\end{eqnarray}\)

などが成り立ちます。

巡回群
\(p\) を奇素数(\(p\neq2\))とすると、既約剰余類群 \((Z/pZ)^{*}\) は生成元 \(g\) をもちます。つまり、

 \((Z/pZ)^{*}=\{\:g,\:g^2,\:g^,\:\cd\:,\:g^{p-1}=1\:\}\)

と表され、群位数は \(\varphi(p)=p-1\) です。このように、一つの生成元の累乗で全ての元が表せる群を巡回群と言います(\(1\) の次は再び \(g\) になって巡回する)。また、\(n\) が \(p\) の累乗、\(n=p^{\al}\:(\al\geq2)\) のときも \((Z/p^{\al}Z)^{*}\) は生成元をもつ巡回群です。\(\al=2\) のときの群位数は、

 \(|(Z/p^2Z)^{*}|=\varphi(p^2)=p(p-1)\)

です。\((Z/9Z)^{*}\) の場合、群位数は \(\varphi(9)=6\) で、\(g=2\) と \(g=5\) が生成元になり、

\(\begin{eqnarray}
&&\:\:(Z/9Z)^{*}&=\{2,\:2^2=4,\:2^3=8,\:2^4=7,\:2^5=5,\:2^6=1\}\\
&&&=\{5,\:5^2=7,\:5^3=8,\:5^4=4,\:5^5=2,\:5^6=1\}\\
\end{eqnarray}\)

などと表せます。\(1,\:4,\:7,\:8\) は生成元ではありません。

群の直積、群の同型
\(G\) と \(H\) を有限群とし、その元を \(g_i\in G,\:h_j\in H\) として、2つの元のペア、

 \((g_i,\:h_j)\)  \((1\leq i\leq|G|,\:1\leq j\leq|H|)\)

を作るとき、すべてのペアを元とする集合を「群の直積」と言い、\(G\times H\) で表します。元と元の演算を \(g_i\) と \(h_i\) で個別に行うことで、直積も群になります。その群位数は、
 \(|G\times H|=|G|\cdot|H|\)
です。

中国剰余定理によると、\(m,\:n\) が互いに素のとき、
 \(x\equiv a\:\:(\mr{mod}\:m)\)
 \(x\equiv b\:\:(\mr{mod}\:n)\)
の連立合同方程式は、\(mn\) を法として唯一の解を持ちます。\(x\) を \(m\) で割った余りを \(x_m\)、\(n\) で割った余りを \(x_n\) とし、

 \(f\::\:x\:\longrightarrow\:(x_m,\:x_n)\)

の写像 \(f\) を定義すると、中国剰余定理によって \(f\) は1対1写像であり、かつ、

\(\begin{eqnarray}
&&\:\:f(xy)&=((xy)_m,\:\:(xy)_n)\\
&&&=((x_m\cdot y_m)_m,\:\:(x_n\cdot y_n)_n)\\
\end{eqnarray}\)

\(\begin{eqnarray}
&&\:\:f(x)f(y)&=(x_m,\:x_n)\:(y_m,\:y_n)\\
&&&=((x_m\cdot y_m)_m,\:\:(x_n\cdot y_n)_n)\\
\end{eqnarray}\)

なので、

 \(f(xy)=f(x)f(y)\)

が成り立ちます。また同様に \(f(x+y)=f(x)+f(y)\) であり、\(f\) は演算を保存する同型写像です。従って、剰余群 \(Z/mnZ\) は、2つの群の直積との間で "群の同型" が成り立ち、

 \(Z/mnZ\cong Z/mZ\times Z/nZ\)

です(=中国剰余定理の群による表現)。また 既約剰余類群 \((Z/mnZ)^{*}\) は、

 \((Z/mnZ)^{*}\cong(Z/mZ)^{*}\times(Z/nZ)^{*}\)

と直積で表現できます。\(m,\:n\) がともに奇素数で \(m=p,\:n=q\:(\neq p)\)だと、

 \((Z/pqZ)^{*}\cong(Z/pZ)^{*}\times(Z/qZ)^{*}\)

です。\((Z/pqZ)^{*}\) は巡回群でありませんが、2つの巡回群の直積で表現できることになります。


以上を前提として「Miller-Rabin テスト」のことを書きますが、これは「確率的素数判定アルゴリズム」の一種です。

 
 確率的素数判定アルゴリズム 
 

「Miller-Rabin テスト」は「フェルマ・テスト」の発展形と言えるものです。そこでまず、「フェルマ・テスト」の原理になっている「フェルマの小定理」から始めます。


フェルマの小定理


素数がもつ重要な性質を示したのが、フェルマの小定理です。


フェルマの小定理

\(p\) を素数とすると、\(p\) と素な \(a\) について、

 \(a^{p-1}\equiv1\:\:(\mr{mod}\:p)\)

が成り立つ。


この定理の \(a\) を、指数関数の「底(base)」と呼びます。偶数の素数は \(2\) しかないので、以降、\(\bs{n}\)\(\bs{3}\) 以上の奇数として素数判定を考えます。フェルマの小定理を素数判定用に少々言い換えると、次のように表現できます。


フェルマの小定理

\(n\) を \(3\) 以上の奇数とする。\(\bs{n}\) が素数であれば、\(\bs{1\leq a\leq n-1}\) であるすべての \(\bs{a}\) について、次の "フェルマの条件" が成り立つ。

 フェルマの条件

  \(a^{n-1}\equiv1\:\:(\mr{mod}\:n)\)


このフェルマの小定理の対偶は次のようになります。


フェルマの小定理の対偶

\(n\) が \(3\) 以上の奇数であるとき、\(\bs{1\leq a\leq n-1}\) であるどれか一つの \(\bs{a}\) について

 \(a^{n-1}\not\equiv1\:\:(\mr{mod}\:n)\)

であれば(=フェルマの条件に反すれば)\(\bs{n}\) は合成数である。


\(n\) が \(3\) 以上の奇数の合成数のとき、\(1\leq a\leq n-1\) について、

 \(a^{n-1}\equiv1\:\:(\mr{mod}\:n)\)
 \(a^{n-1}\not\equiv1\:\:(\mr{mod}\:n)\)

のどちらになるのか、\(a\) ごとに検討してみます。もちろん \(a=1\) なら \(a^{n-1}\equiv1\:\:(\mr{mod}\:n)\) です。また、\(a=n-1\:(=-1)\) でも、\(n-1\) が偶数なので、 \(a^{n-1}\equiv1\:\:(\mr{mod}\:n)\) です。

また、\(a\) が \(n\) と互いに素でないとき、つまり \(\mr{gcd}(n,\:a)\neq1\) ときは \(a^{n-1}\not\equiv1\:\:(\mr{mod}\:n)\) です。なぜなら、\(a\) と \(n\) の最大公約数を \(d\:(\neq1)\) として、もし \(a^{n-1}\equiv1\:\:(\mr{mod}\:n)\) だとすると、

 \(a^{n-1}=k\cdot n+1\:\:(k\) は整数\()\)

と表わせますが、

 左辺について \(d\mid a^{n-1}\)
 右辺について \(d\nmid(k\cdot n+1)\)

となってしまい、矛盾するからです。

\(a\neq1,\:n-1\)、 \(\mr{gcd}(n,\:a)=1\) のときにどうなるかは、\(a\) によって両方がありえます。ためにしに、\(n=21\) で計算してみると、

\(\overset{\:}{a}\) \(a^{20}{\tiny(\mr{mod}\:21)}\)
\(1\) \(1\)
\(2\) \(4\)
\(3\) \(9\)
\(4\) \(16\)
\(5\) \(4\)
\(6\) \(15\)
\(7\) \(7\)
\(8\) \(1\)
\(9\) \(18\)
\(10\) \(16\)
\(11\) \(16\)
\(12\) \(18\)
\(13\) \(1\)
\(14\) \(7\)
\(15\) \(15\)
\(16\) \(4\)
\(17\) \(16\)
\(18\) \(9\)
\(19\) \(4\)
\(20\) \(1\)

となります。色を塗った10個が \(a\neq1,\:n-1\)、 \(\mr{gcd}(n,\:a)=1\) のところですが、\(\equiv1\) \((a=8,\:13)\) と \(\not\equiv1\)(それ以外の8個)があることがわかります。とにかく、上の表で一つでも \(\bs{\not\equiv1}\) があれば、\(n\) は合成数だと判断できます。


このフェルマの小定理の対偶を利用して、巨大整数(数10桁~数100桁) \(n\) が素数かどうかを確率的に判定できます。つまり、\(1\leq a\leq n-1\) である数をランダムに、順々に選び、ある \(a\) がフェルマの条件に反すれば、その時点で \(n\) は合成数と判定します。何回か試行してすべての \(a\) がフェルマの条件に合致するなら(=合成数だと判定できなければ)、\(n\) は素数の可能性が高い。

しかし困ったことに「合成数でありながら、多数の \(\bs{a}\) でフェルマの条件を満たしてしまう \(\bs{n}\)」が存在します。"カーマイケル数" です。最小のカーマイケル数は \(561=3\cdot11\cdot17\) ですが、\(\mr{gcd}(561,\:a)=1\) であるすべての \(a\:\:(1\leq a\leq560)\) で、

 \(a^{560}\equiv1\:\:(\mr{mod}\:561)\)

が成り立ちます。その理由ですが、\(a\) を \(3,\:11,\:17\) のすべてと素な任意の数(= \(561\) と素な任意の数)とすると、フェルマの小定理より、

\(\begin{eqnarray}
&&\:\:a^{2}&\equiv1\:\:(\mr{mod}\:3)\\
&&\:\:a^{10}&\equiv1\:\:(\mr{mod}\:11)\\
&&\:\:a^{16}&\equiv1\:\:(\mr{mod}\:17)\\
\end{eqnarray}\)

が成り立ちます。\(560\) は、\(2,\:10,\:16\) 全部の倍数なので、それぞれの合同式の両辺を適切に累乗すると、

 \(a^{560}\equiv1\:\:(\mr{mod}\:3)\)
 \(a^{560}\equiv1\:\:(\mr{mod}\:11)\)
 \(a^{560}\equiv1\:\:(\mr{mod}\:17)\)

が成り立つ。そうすると、中国剰余定理により、

 \(a^{560}\equiv1\:\:(\mr{mod}\:3\cdot11\cdot17)\)

が成り立ちます。\(560\) 以下で \(561\) と素な数の個数は、オイラー関数 \(\varphi(n)\)(= \(n\) 以下で \(n\) と素な数の個数)を使うと、

\(\begin{eqnarray}
&&\:\:\varphi(561)&=\varphi(3)\varphi(11)\varphi(17)\\
&&&=2\cdot10\cdot16=320\\
\end{eqnarray}\)

なので、\(\dfrac{320}{560}=\dfrac{4}{7}\)、つまり半数以上の \(a\) でフェルマの条件が満たされることになります。これを一般的に言うと、カーマイケル数 \(c\) が3個の素数 \(p,\:q,\:r\) の積の場合、

\(\begin{eqnarray}
&&\:\:c&=pqr\\
&&\:\:\varphi(c)&=(p-1)(q-1)(r-1)\\
\end{eqnarray}\)

なので、この2つの比は、\(p,\:q,\:r\) が大きくなると \(1\) に近づきます。それは、ほとんど全ての \(a\:\:(1\leq a\leq c-1)\) がフェルマの条件を満たすことを意味します。

カーマイケル数は、特に \(n\) が巨大だと極めて希です。Wikipedia によると、「\(1\) から \(10^{21}\) の間には \(20,138,200\) 個のカーマイケル数があり、これはおよそ \(5\cdot10^{13}\) 個にひとつの割合」だそうです。しかし、カーマイケル数が無限個あることも証明されています。\(n\) が "運悪く" カーマイケル数だと、フェルマ\(\cdot\)テストでは素数と判定されてしまう。つまり、フェルマの条件を使って素数を確率的に判定するアルゴリズムには問題があるわけです。


Miller-Rabin の条件


そこで、素数の条件として、フェルマの条件とは別のものを考えます。フェルマの条件、

 \(a^{n-1}\equiv1\:\:(\mr{mod}\:n)\)

において、\(n\) が素数とすると、\(n-1\) は偶数です。そこで、

 \(n-1=2^ek\) (\(e\geq1,\:k\) は奇数)

と表します。この表記を用いて、\(a^{n-1}-1\) という式を因数分解すると、

\(\begin{eqnarray}
&&\:\:a^{n-1}-1&=a^{2^ek}-1\\
&&&=(a^{2^{e-1}k})^2-1\\
&&&=(a^{2^{e-1}k}+1)(a^{2^{e-1}k}-1)\\
&&&=(a^{2^{e-1}k}+1)((a^{2^{e-2}k})^2-1)\\
&&&=(a^{2^{e-1}k}+1)(a^{2^{e-2}k}+1)(a^{2^{e-2}k}-1)\\
&&&  \vdots\\
\end{eqnarray}\)

と続きます。結局、因数分解は、

 \(a^{n-1}-1=\)\((a^{2^{e-1}k}\)\(+1)\cdot\)
\((a^{2^{e-2}k}\)\(+1)\cdot\)
\((a^{2^{e-3}k}\)\(+1)\cdot\)
 \(\vdots\)
\((a^{2^2k}\)\(+1)\cdot\)
\((a^{2k}\)\(+1)\cdot\)
\((a^k\)\(+1)\cdot(a^k-1)\) 
\((\br{A})\)

となります。これを \((\br{A})\) 式とします。\(n\) が素数のときは、フェルマの条件を変形すると、

 \(a^{n-1}-1\equiv0\:\:(\mr{mod}\:n)\)

なので、フェルマの条件と等価な式は、

 \((\br{A})\) 式の右辺 \(\equiv0\:\:(\mr{mod}\:n)\)

であり、ということは、

\((\br{A})\) 式の右辺の少なくとも1つの項 \(\equiv0\:\:(\mr{mod}\:n)\)

が成立します。\(\bs{n}\) が素数であるのがポイントです。\(n\) が合成数ならこんなことは言えません。このことより、\(n\) が素数であるための新たな条件が導けます。次項です。


素数の条件(Miller-Rabin)



\(n\) を \(3\) 以上の奇数とし、

 \(n-1=2^ek\) (\(e\geq1,\:k\) は奇数)

と表されているものとする。このとき、\(\bs{n}\) が素数であれば、\(\bs{1\leq a\leq n-1}\) であるすべての \(\bs{a}\) について、次の Miller-Rabin の条件が成り立つ。

Miller-Rabin の条件

 (1) \(a^k\equiv1\:\:(\mr{mod}\:n)\) もしくは

 (2) ある \(r\:(0\leq r\leq e-1)\) について、
      \(a^{2^rk}\equiv-1\:\:(\mr{mod}\:n)\)


\(a^{2^ik}\:\:(0\leq i\leq e-1)\) の \(e\) 個の数列を Miller-Rabin 系列と呼ぶことにします。

 \(a^k,\:a^{2k},\:a^{4k},\:\cd\:,\:a^{2^{e-1}k}\)

です。この系列は、ある項の2乗が次の項になっています。従って \(\mr{mod}\:n\) でみて \(a^{2^rk}\equiv-1\) になれば、以降の項はすべて \(\equiv1\:(\mr{mod}\:n)\) になります。ということは、系列の中で \(\equiv-1\) となる項は「全く無い」か「一つだけある」のどちらかです。

ちなみに、Miller-Rabin による素数の条件の対偶は次の通りです。これを利用して合成数の判定ができます。


合成数の判定(対偶)

\(n\) を \(3\) 以上の奇数とし、

 \(n-1=2^ek\) (\(e\geq1,\:k\) は奇数)

と表されているものとする。このとき、\(\bs{1\leq a\leq n-1}\) のある \(\bs{a}\) について

 (1) \(a^k\not\equiv1\:\:(\mr{mod}\:n)\) かつ

 (2) すべての \(r\:(0\leq r\leq e-1)\) について、
      \(a^{2^rk}\not\equiv-1\:\:(\mr{mod}\:n)\)

が成り立てば、\(n\) は合成数である。


\(\bs{n}\) が素数であれば、フェルマーの条件と Miller-Rabin の条件は等価です。しかし、\(n\) が合成数のときは、フェルマの条件と Miller-Rabin の条件の意味が違ってきます。それが次です。


\(n\) が合成数のとき


\(n\) が合成数のときは、フェルマの条件から Miller-Rabin の条件を導くことはできません。なぜなら「\(n\)が素数」が導出のキーだからです。つまり、

・ フェルマの条件を満たす底 \(a\) の集合を \(F\)
・ Miller-Rabin の条件を満たす底 \(a\) の集合を \(M\)

とすると、\(a\in F\) であっても \(a\in M\) とは限らない。しかし、\((\br{A})\) 式でわかるように \(a\in M\) なら必ず \(a\in F\) です。従って、

 \(M\:\subset\:F\)

です。ということは、数 \(a\) についてのフェルマーの条件によって \(n\) が合成数だと判定できなくても(つまり \(a\in F\))、Miller-Rabin の条件で合成数と判定できる(つまり \(a\notin M\))可能性があることになります。つまり合成数の判定においては、Miller-Rabin の条件はフェルマーの条件より厳格です。

しかも Miller-Rabin の条件は、合成数を合成数だと判定できる確率(ないしは判定できない確率)が、\(\bs{n}\) の値にかかわらず示せるのです。それが次の定理です。


Miller-Rabin の定理



Miller-Rabin の定理

\(n\) を \(3\) 以上の奇数の合成数とする。また、\(n-1=2^ek\:\:(e\geq1,\:k\) は奇数\()\) と表されているものとする。このとき、

 Miller-Rabin の条件

  (1) \(a^k\equiv1\:\:(\mr{mod}\:n)\) もしくは

  (2) ある \(r\:(0\leq r\leq e-1)\) について、
      \(a^{2^rk}\equiv-1\:\:(\mr{mod}\:n)\)

を満たす底 \(a\:(1\leq a\leq n-1)\) は、\(\bs{n-1}\) 個のうちの \(\bs{1/4}\) 以下である。


\(\bs{n}\) がいかなる数であっても成り立つのがポイントです。実際に計算をしてみます。\(n\) を \(9\leq n < 10000\) である奇数の合成数とします。調べてみると、その総数は \(3771\)個です。そして、

\(L=\)Miller-Rabin の条件を満たす底 \(a\) の個数
\(P=\dfrac{L}{n-1}\)

とし、\(3771\)個の \(n\) のうち \(P\geq0.2\) のものをリストアップすると、次の5つだけです。

\(n\)  \(e\)  \(k\) \(L\) \(P\)
\(9\) \(3\) \(1\) \(2\) \(0.25\)
\(91\) \(1\) \(45\) \(18\) \(0.20\)
\(703\) \(1\) \(351\) \(162\) \(0.23\)
\(1891\) \(1\) \(945\) \(450\) \(0.24\)
\(8911\) \(1\) \(4455\) \(1782\) \(0.20\)

\(n=9\) のとき、\(P\) は最大値の \(0.25\) です。それ以降、\(n=1891\) のときに \(P\fallingdotseq0.24\) となりますが、\(0.25\) を越える \(n\) は( \(9\leq n < 10000\) では)無いことがわかります。そしてこの定理は、\(\bs{n}\) がいかなる奇数の合成数であっても \(\bs{P\leq0.25}\) と主張しているわけです。

これでまず言えることは、Miller-Rabin の条件にとっての「カーマイケル数のような数」はあり得ないことです。

さらにこの定理によって、素数判定の信頼度を示すことができます。比喩で言うと次のとおりです。

・ 正方形の、中が見えない箱があり、玉が \(100\)個入っています。箱は「素数箱」と「合成数箱」の区別がありますが、そのどちらかは見た目で判別できません。ただし、素数箱なら\(100\)個の白玉が入っていて、合成数箱なら \(25\)個の白玉と \(75\)個の赤玉が入っています。

・ 箱の上面には穴があって、そこから手を入れて玉を取り出し、色を確認した後、玉を箱に戻す(そしてかき混ぜる)ことができます。この確認は繰り返しができて、その繰り返しで、箱が素数箱か合成数箱かを判断します。

・ 最初に取り出した玉が赤玉なら、箱は合成数箱だとわかります。しかし白玉だと、素数箱の可能性が高いものの、断言はできない。合成数箱でも白玉を取り出す確率が \(1/4\) あるからです。従って2回目の確認をします。

・ 2回続けて白だと、素数箱である可能性がぐんと高まります。もしそれが合成数箱だとすると、2回続けて白の確率は \(1/16\) しかないからです。もちろん2回目が赤だと合成数箱です。

・ このようにして、赤が出ればその時点で合成数箱と判断し、白が出続ければ確認を繰り返します。もし合成数箱だとすると、白が5回出続ける確率は \(1/1024\) であり、以降、どんどん減っていくので、ある回数で打ち切って素数箱と判断します。

以上の考え方で \(n\) の素数判定をするアルゴリズムが次です。


Miller-Rabin の素数判定アルゴリズム

①  \(n\) を \(3\) 以上の奇数とする。

②  \(1\leq a\leq n-1\) である \(a\) をランダムに選ぶ

③  \(a\) が Miller-Rabin の条件を満たさなければ、その時点で \(n\) は合成数と判定してアルゴリズムを終了する。条件を満たせば ② に戻る。

④  "②\(\rightarrow\)③" を \(r\) 回繰り返して合成数と判定できなければ、\(n\) を素数と判定してアルゴリズムを終了する。


\(r=40\) だとすると、Miller-Rabin の素数判定アルゴリズムで「素数と判定したにもかかわらず実は合成数」の確率は、

 \(\dfrac{1}{4^{40}}\) 以下

であることが保証されます。\(4^{40}\) は、\(\fallingdotseq\:1.2\times10^{24}\) で、\(10\)進数で\(25\)桁の数です。あまりに巨大すぎて想像するのは難しいのですが、たとえば、1秒の \(100\)万分の \(1\) の時間は \(1\) マイクロ秒で、\(1\) 秒間に地球を \(7.5\)周する光が \(300\)メートルしか進まない時間です。一方、宇宙の年齢は \(138\)億年程度と言われています。この宇宙の年齢をマイクロ秒で表すと、\(4.4\times10^{23}\) マイクロ秒です。ということは、\(4^{40}\) はその3倍近い数字です。

\(\dfrac{1}{4^{40}}\) は、数学的には \(0\) ではありませんが、確率としては実用的に \(0\) です。以上が Miller-Rabin の素数判定の原理です。


以降、 なぜ \(\dfrac{1}{4}\) 以下であると言えるのか、その証明をします。

 
 Miller-Rabin の定理の証明 
 

定理を再度述べると次の通りです。


Miller-Rabin の定理(再掲)

\(n\) を \(3\) 以上の奇数の合成数とする。また、\(n-1=2^ek\:\:(e\geq1,\:k\) は奇数\()\) と表されているものとする。このとき、

 Miller-Rabin の条件

  (1) \(a^k\equiv1\:\:(\mr{mod}\:n)\) もしくは

  (2) ある \(r\:(0\leq r\leq e-1)\) について、
      \(a^{2^rk}\equiv-1\:\:(\mr{mod}\:n)\)

を満たす \(a\:(1\leq a\leq n-1)\) は、\(n-1\) 個のうちの \(1/4\) 以下である。


3つのケースにわけて証明します。以降の証明は、後藤・鈴木(首都大学東京)「Miller-Rabin素数判定法における誤り確率の上限」を参考にしました。

①  \(n=p^2t\:\:(p\)は奇素数。\(t\geq1\) は奇数\()\)と表されるとき

\(n\) が奇素数の2乗で割り切れるときです。このことを、\(n\) が「平方因子」をもつ、と言います。\(t\) の素因数分解に \(p\) が現れてもかまいません。平方因子が複数個ある場合は、そのどれかを \(p\) とします。

②  \(n=p_1\cdot p_2\:(p_1,\:p_2\) は奇素数で \(p_1\neq p_2)\)

③  \(n=p_1\cdot p_2\cdot\cd\cdot p_m\:(m\geq3\) 個の相異なる奇素数の積\()\)

② ③ のケースは \(n\) が平方因子を持たないので ① と排他的であり、また ② と ③ も排他的です。いずれの場合も \(n\) が奇数なので、素因数に \(2\) は現れません。以降の3つのケースに分けた証明では、\(p\) を素数としたとき既約剰余類群 \((Z/pZ)^{*}\) 、\((Z/p^2Z)^{*}\) が巡回群であることを利用します。

1. \(n=p^2t\:\:(\:p\)は奇素数。\(t\geq1\) は奇数\()\)
Miller-Rabin の条件を満たす \(a\:(0\leq a\leq n-1)\) の集合を \(M\) とします。上で説明したように、\(n\) が合成数であったとしても Miller-Rabin の条件が成立すればフェルマの条件も成立します(\(n\) が合成数だとその逆は成り立たない)。従って、

 \(a^{n-1}\equiv1\:\:(\mr{mod}\:n)\)

が成り立ちます。このフェルマの条件を満たす \(a\:(1\leq a\leq n-1)\) の集合を \(F\) とすると、\(M\:\subset\:F\) なので元の数は、

 \(|M|\leq|F|\)

です。さらに、\(p^2\mid n\)(= \(p^2\) が \(n\) を割り切る)なので、

 \(a^{n-1}\equiv1\:\:(\mr{mod}\:p^2)\)
 \((\br{B})\)

も同時に成り立ちます。\((\br{B})\) 式を満たす \(a\:(1\leq a\leq n-1)\) の集合を \(R_1\) とすると、\(a\in F\) なら \(a\in R_1\) なので、

\(\begin{eqnarray}
&&\:\:F&\subset R_1\\
&&\:\:|F|&\leq|R_1|\\
\end{eqnarray}\)

が成り立ちます。\(|M|\leq|F|\) とあわせると、

 \(|M|\leq|R_1|\)

です。次に、剰余群 \(Z/p^2Z\) の元 で \((\br{B})\) 式を満たす \(a\:(0\leq a\leq p^2-1)\) の集合を \(R_2\) とします。\(x\in R_2\) だとすると、\(\mr{mod}\:p^2\) では、

\(\begin{eqnarray}
&&\:\:x&=x+p^2\\
&&&=x+2p^2\\
&&&  \vdots\\
&&&=x+(t-1)p^2\leq p^2t-1\\
\end{eqnarray}\)

です。つまり、\((\br{B})\) 式を満たす \(Z/p^2Z\) の元1個に対して、\((\br{B})\) 式を満たす、\(0\leq a\leq n-1\:(p^2t-1)\) の \(t\)個の数が対応します。従って、

 \(t|R_2|=|R_1|\)

です。\(|M|\leq|R_1|\) とあわせると、

 \(|M|\leq t|R_2|\)

です。

剰余群 \(Z/p^2Z\) の元で \((\br{B})\) 式を満たすのは、\(p^2\) と互いに素な元だけです。つまり、既約剰余類群 \((Z/p^2Z)^{*}\) の元で \((\br{B})\) 式を満たすものの集合が \(R_2\) であるとも言えます。以降、 \((Z/p^2Z)^{*}\) を使って \(R_2\) の元の数、\(|R_2|\) を見積もります。それには \((Z/p^2Z)^{*}\) が巡回群であることを利用します。


一般に、巡回群においては次が成り立ちます。この定理を \((\br{C})\) とします。

巡回群 \(G\)(群位数 \(d\))において、\(x^m=1\) を満たす \(x\) の個数は \(\mr{gcd}(m,\:d)\) 個である。
 \((\br{C})\)

証明

\(h=\mr{gcd}(m,\:d)\) とおく。位数 \(d\) の巡回群 \(G\) は、生成元 \(g\) を用いて、

 \(G=\{g,\:g^2,\:g^3,\:\cd\:,\:g^{d-1},\:g^d=1\}\)

と表現できる。そこで \(x=g^i\:\:(1\leq i\leq d)\) と表すと、

\(\begin{eqnarray}
&&\:\:(g^i)^m&=1\\
&&\:\:g^{im}&=1\\
\end{eqnarray}\)

なので、\(im\) は群位数 \(d\) の整数倍である。つまり、
 \(d\mid im\)
である。\(h=\mr{gcd}(m,\:d)\) として \(d\,'=\dfrac{d}{h}\) \(m\,'=\dfrac{m}{h}\) とおくと、
 \(d\,'\mid im\,'\)
になるが、\(d\,'\) と \(m\,'\) は互いに素なので、
 \(d\,'\mid i\)
である。つまり \(i\) は \(d\,'=\dfrac{d}{h}\) の倍数である。従って、\(1\leq i\leq d\) であることを考慮すると、
 \(i=\dfrac{d}{h}\cdot j\:\:(1\leq j\leq h)\)
と表せる。つまり、\(x^m=1\) を満たす \(x\) の個数は \(h=\mr{gcd}(m,\:d)\) 個である。【証明終


既約剰余類群 \((Z/p^2Z)^{*}\) は巡回群であり、群位数は\(\varphi(p^2)=p(p-1)\) です。従って、\((Z/p^2Z)^{*}\) の元で \(a^{n-1}=1\) を満たす元の数(\(=|R_2|\))は定理 \((\br{C})\) により、

\(\begin{eqnarray}
&&\:\:|R_2|&=\mr{gcd}(p(p-1),\:n-1)\\
&&&=\mr{gcd}(p(p-1),\:p^2t-1)\\
\end{eqnarray}\)

となります。ここで、\(p^2t-1\) は \(p\) で割り切れないので、

 \(\mr{gcd}(p(p-1),\:p^2t-1)=\mr{gcd}(p-1,\:p^2t-1)\)

ですが、この式の右辺は \(p-1\) 以下です。従って、

 \(|R_2|\leq p-1\)

です。\(|M|\leq t|R_2|\) とあわせると、

 \(|M|\leq t(p-1)\)

が得られました。従って、\(1\leq a\leq n-1\) のなかで Miller-Rabin の条件を満たす数の比率は、

\(\begin{eqnarray}
&&\:\:\dfrac{|M|}{n-1}&\leq\dfrac{t(p-1)}{tp^2-1}\\
&&&=\dfrac{p-1}{p^2-\dfrac{1}{t}}\\
\end{eqnarray}\)

となります。定義によって \(t\geq1,\:p\geq3\) ですが、上式の右辺は \(t\) についても \(p\) についても単調減少です。従って右辺の最大値は \(t=1,\:p=3\) のときで、

 \(\dfrac{t(p-1)}{tp^2-1}\leq\dfrac{1}{4}\)

です。結論として、

 \(\dfrac{|M|}{n-1}\leq\dfrac{1}{4}\)

となり、\(1\leq a\leq n-1\) のなかで Miller-Rabin の条件を満たす数の比率は \(\dfrac{1}{4}\) 未満であることが証明されました。


ちなみに、この証明はフェルマの条件しか使っていません。つまり、

\(n\) が平方因子をもつなら、\(1\leq a\leq n-1\) のなかでフェルマの条件を満たす数の比率は \(\tfrac{1}{4}\) 未満

と言えます。ということは、平方因子をもつ数はカーマイケル数にはなりえないことが分かります。

2. \(n=p_1\cdot p_2\:(\:p_1,\:p_2\) は奇素数で \(p_1\neq p_2\:)\)
Miller-Rabin の定理を再掲します。


Miller-Rabin の定理(再掲)

\(n\) を \(3\) 以上の奇数の合成数とする。また、\(n-1=2^ek\:\:(e\geq1,\:k\) は奇数\()\) と表されているものとする。このとき、

 Miller-Rabin の条件

  (1) \(a^k\equiv1\:\:(\mr{mod}\:n)\) もしくは

  (2) ある \(r\:(0\leq r\leq e-1)\) について、
      \(a^{2^rk}\equiv-1\:\:(\mr{mod}\:n)\)

を満たす \(a\:(1\leq a\leq n-1)\) は、\(n-1\) 個のうちの \(1/4\) 以下である。


証明のポイントは2つあります。(2) の条件に関する Miller-Rabin 系列、

 \(a^k,\:a^{2k},\:\:a^{4k},\:\cd\:,\:a^{(e-1)k}\)

を考えると、ある項の2乗が次の項なので、\(a^{2^rk}\equiv-1\:\:(\mr{mod}\:n)\) となる項があれば、それ以降の項は全て \(\equiv1\) となります。つまり、\(a^{2^rk}\equiv-1\) となる項は1つしかありません。従って、\(r\) を一つ決めたときに \(a^{2^rk}\equiv-1\) を満たす \(a\) の集合を \(A_2(r)\) とし、(2) を満たすすべての \(a\) の集合を \(A_2\) とすると、

 \(|A_2|=\displaystyle\sum_{r=0}^{e-1}|A_2(r)|\)

が成り立ちます。さらに (1) の条件を満たす \(a\) の集合を \(A_1\) とすると、(1)(2) は排他的です。従って、Miller-Rabin の条件を満たす \(a\) の集合を \(M\) とすると、

\(\begin{eqnarray}
&&\:\:|M|&=|A_1|+|A_2|\\
&&&=|A_1|+\displaystyle\sum_{r=0}^{e-1}|A_2(r)|\\
\end{eqnarray}\)

です。このことを以下の証明で利用します。もう一つの証明のポイントは、「1.\(\bs{n=p^2t\:\:(\:p}\) は奇素数。\(\bs{t\geq1}\) は奇数\(\bs{)}\)」での証明と同じように、巡回群の性質を利用することです。


まず前提として、Miller-Rabin の条件を満たす \(a\:(0\leq a\leq n-1)\) は、フェルマの条件、\(a^{n-1}\equiv1\:\:(\mr{mod}\:n)\) も満たしますが、これが成り立つ \(a\) は \(n\) とは素です。従って、既約剰余類群 \((Z/nZ)^{*}\:=\:(Z/p_1p_2Z)^{*}\) の範囲で \(a\) の個数を検討します。

もちろん、\(p_1\neq p_2\) なので、既約剰余類群 \((Z/p_1p_2Z)^{*}\) は巡回群ではありません。しかし \(p_1,\:p_2\) が互いに素なので、\((Z/p_1p_2Z)^{*}\) は2つの既約剰余類群の直積と同型であり、

 \((Z/p_1p_2Z)^{*}\cong(Z/p_1Z)^{*}\times(Z/p_2Z)^{*}\)

と表せます。つまり、\(a\in(Z/p_1p_2Z)^{*}\) とし、

 \(a\) を \(p_1\) で割った余りを \(a_{p_1}\)
 \(a\) を \(p_2\) で割った余りを \(a_{p_2}\)

と書くと、\(a_{p_1}\in(Z/p_1Z)^{*},\:\:a_{p_2}\in(Z/p_2Z)^{*}\) ですが、ここで、

 \(f\::\:a\:\longrightarrow\:(a_{p_1},\:a_{p_2})\)

の写像を定義すると、この写像は1対1(全単射)で、同型写像であり、上の「直積と同型」の式が成り立ちます。同型写像は \(f(xy)=f(x)f(y)\) というように演算を保存するので、演算してから写像した結果と写像してから演算した結果は同じです。

また、この \((Z/p_1Z)^{*}\) と \((Z/p_2Z)^{*}\) は、\(p_1\) と \(p_2\) が素数なので、生成元をもつ巡回群です。それぞれの群位数は、

\(\begin{eqnarray}
&&\:\:|(Z/p_1p_2Z)^{*}|&=\varphi(p_1p_2)\\
&&&=(p_1-1)(p_2-1)\\
\end{eqnarray}\)
 \(|(Z/p_1Z)^{*}|=\varphi(p_1)=p_1-1\)
 \(|(Z/p_2Z)^{*}|=\varphi(p_2)=p_2-1\)

であり、

 \(|(Z/p_1p_2Z)^{*}|=|(Z/p_1Z)^{*}|\cdot|(Z/p_2Z)^{*}|\)

が成り立ちます。ここで \((Z/p_1Z)^{*}\) の任意の部分集合を \(H_1\)、\((Z/p_2Z)^{*}\) の任意の部分集合を \(H_2\) とします。

 \(H_1\subset(Z/p_1Z)^{*}\)
 \(H_2\subset(Z/p_2Z)^{*}\)

です。\((Z/p_1p_2Z)^{*}\) の元 \(a\) で、

 \(a_{p_1}\in H_1\)
 \(a_{p_2}\in H_2\)

となる \(a\) を考え、このような \(a\) の集合を \(H\) と書くと、

 \(f\::\:a\:\longrightarrow\:(a_{p_1},\:\:a_{p_2})\)

の写像は1対1対応であり(=中国剰余定理)、集合の元の数については、

 \(|H|=|H_1|\cdot|H_2|\)

が成り立ちます。


以上を踏まえて証明に進みます。一般に、

 \(x\equiv y\:\:(\mr{mod}\:p_1p_2)\) なら
 \(x\equiv y\:\:(\mr{mod}\:p_1)\) かつ \(x\equiv y\:\:(\mr{mod}\:p_2)\)

が言えます。また、\(p_1\) と \(p_2\) は互いに素なので、

 \(x\equiv y\:\:(\mr{mod}\:p_1)\) かつ \(x\equiv y\:\:(\mr{mod}\:p_2)\) なら
 \(x\equiv y\:\:(\mr{mod}\:p_1p_2)\)

も言えます。なぜなら、\(p_1\mid(x-y)\) かつ \(p_2\mid(x-y)\) なら、\(p_1p_2\mid(x-y)\) だからです。つまり、

 \(x\equiv y\:\:(\mr{mod}\:p_1p_2)\)
 \(x\equiv y\:\:(\mr{mod}\:p_1)\) かつ \(x\equiv y\:\:(\mr{mod}\:p_2)\)

の2つは、\(p_1,\:p_2\) が素数という前提では等価です。従って、Miller-Rabin の条件は次のように言い換えることができます。


\(n=p_1p_2,\:\:n-1=2^ek\) とするとき、

Miller-Rabin の条件(言い換え)

(1)
 (1a) \(a^k\equiv1\:\:(\mr{mod}\:p_1)\) かつ
 (1b) \(a^k\equiv1\:\:(\mr{mod}\:p_2)\)

もしくは、

(2) ある \(r\:(0\leq r\leq e-1)\) について、
 (2a) \(a^{2^rk}\equiv-1\:\:(\mr{mod}\:p_1)\) かつ
 (2b) \(a^{2^rk}\equiv-1\:\:(\mr{mod}\:p_2)\)

が成り立つ。


このように言い換えて、\((Z/p_1p_2Z)^{*}\) での問題を、\((Z/p_1Z)^{*}\) と \((Z/p_2Z)^{*}\) の問題に置き換えます。Miller-Rabin の条件を満たす、

 \((Z/p_1p_2Z)^{*}\) の部分集合を \(M\)
 \((Z/p_1Z)^{*}\) の部分集合を \(M_1\)
 \((Z/p_2Z)^{*}\) の部分集合を \(M_2\)

とすると、元の数については、

 \(|M|=|M_1|\cdot|M_2|\)

が成り立ちます。以降、(1)\(,\) (2) の条件ごとに \(|M_1|\) と \(|M_2|\) を見積もることで、条件ごとの \(|M|\) を見積もり、そこから目的である \(|M|\) の数を評価します。(1)\(,\) (2) の条件ごとの \(M\) については、既に上で使ったように、

 (1)を満たす \(M\) の部分集合を \(A_1\)
 (2)を満たす \(M\) の部分集合を \(A_2\)

とします。


\(n-1=2^ek\) とおいたのと同じように、

 \(p_1-1=2^{e_1}k_1\) (\(e_1\geq1,\:k_1\):奇数)
 \(p_2-1=2^{e_2}k_2\) (\(e_2\geq1,\:k_2\):奇数)

とします。ここで、
 \(e_1\leq e_2\)
とします。\(p_1\) と \(p_2\) は入れ替えてもよいので、こうすることで一般性は失われません。まず初めに、\(e,\:e_1,\:e_2\) の関係を整理しておきます。\(n-1=2^ek\) の式ですが、

\(\begin{eqnarray}
&&\:\:n-1&=p_1\cdot p_2-1\\
&&&=(2^{e_1}k_1+1)\cdot(2^{e_2}k_2+1)-1\\
&&&=2^{e_1+e_2}k_1k_2+2^{e_1}k_1+2^{e_2}k_2\\
&&&=2^{e_1}(2^{e_2}k_1k_2+k_1+2^{e_2-e_1}k_2)\\
\end{eqnarray}\)

と計算されます。この式を、

 \(n-1=2^{e_1}\cdot K\)
  \(K=2^{e_2}k_1k_2+k_1+2^{e_2-e_1}k_2\)

と表わすと、

 \(e_1 < e_2\) のときは、\(K\) は奇数なので \(e=e_1\)
 \(e_1=e_2\) のときは、\(K\) は偶数なので \(e > e_1\)

となり、いずれにせよ、
 \(e_1\leq e\)
です。

ちなみに、\(n=p_1p_2\cd p_m\:\:(m\geq3)\) のときも同様で、
 \(p_i-1=2^{e_i}k_i\:(3\leq i\leq m)\)
としたとき、\(e_1\) を \(e_i\:(3\leq i\leq m)\) の最小値とすると、\(e_1\leq e\) です。


以降、
 \(e_1 < e_2\)
 \(e_1=e_2\)
の2つに分けて証明します。

 2.1  \(e_1 < e_2\) の場合 

(1)が成立するとき 

(1) を満たす \(a\:(1\leq a\leq n-1)\) の集合を \(A_1\) とします。巡回群に関する定理 \((\br{C})\) により、\((Z/pZ)^{*}\) の群位数は \(p-1\) なので、

 \(a^k=1\) となる \((Z/p_1Z)^{*}\) の元は \(\mr{gcd}(k,\:p_1-1)\) 個
 \(a^k=1\) となる \((Z/p_2Z)^{*}\) の元は \(\mr{gcd}(k,\:p_2-1)\) 個

です。また、\(n=p_1p_2\) のとき、

 \((Z/nZ)^{*}\cong(Z/p_1Z)^{*}\times(Z/p_2Z)^{*}\)

の同型が成り立つので、

\(\begin{eqnarray}
&&\:\:|A_1|&=\mr{gcd}(k,\:p_1-1)\cdot\mr{gcd}(k,\:p_2-1)\\
&&&=\mr{gcd}(k,\:2^{e_1}k_1)\cdot\mr{gcd}(k,\:2^{e_2}k_2)\\
\end{eqnarray}\)

です。ここで、\(k,\:k_1,\:k_2\) は全て奇数です。従って、

 \(\mr{gcd}(k,\:2^{e_1}k_1)=\mr{gcd}(k,\:k_1)\)
 \(\mr{gcd}(k,\:2^{e_2}k_2)=\mr{gcd}(k,\:k_2)\)

が成り立ち、

 \(|A_1|=\mr{gcd}(k,\:k_1)\cdot\mr{gcd}(k,\:k_2)\)

となります。ここで \(|A_1|\) の上限値を評価すると、

 \(\mr{gcd}(k,\:k_1)\leq k_1\)
 \(\mr{gcd}(k,\:k_2)\leq k_2\)

であり、

 \(|A_1|\leq k_1k_2\)

が結論づけられます。

(2)が成立するとき 

(2) を満たす \(a\:(1\leq a\leq n-1)\) の集合を \(A_2\) とします。まず、\(0\leq r\leq e-1\) である \(r\) を一つ固定して考え、

 \(a^{2^rk}\equiv-1\:\:(\mr{mod}\:p_1)\) かつ
 \(a^{2^rk}\equiv-1\:\:(\mr{mod}\:p_2)\)

であるような集合を \(A_2(r)\) とします。そうすると、

 \(|A_2|=\displaystyle\sum_{r=0}^{e-1}|A_2(r)|\)

が成り立ちます。まず、次を証明します。


\((Z/p_1Z)^{*}\) において \(a^{2^rk}=-1\) である \(a\) の個数は

 \(r\geq e_1\) のとき \(0\) 個
 \(r < e_1\) のとき \(2^r\cdot\mr{gcd}(k,\:k_1)\) 個

である。


証明

\((Z/p_1Z)^{*}\) は群位数 \(p_1-1\) の巡回群なので、その生成元を \(g\) とする。ここで、

 \(g^{\frac{p_1-1}{2}}\)

を考えると、生成元の定義上、\(g^{p_1-1}=1,\) \(g^x\neq1\:(1\leq x < p_1-1)\) なので、

\(\begin{eqnarray}
&&\:\:g^{\frac{p_1-1}{2}}&\neq1\\
&&\:\:(g^{\frac{p_1-1}{2}})^2&=1\\
\end{eqnarray}\)

であり、つまり、

 \(g^{\frac{p_1-1}{2}}=-1\:(=p_1-1)\)

である。\(a^{2^rk}=-1\) が成り立つ \(a\) を、生成元 \(g\) を用いて、

 \(a=g^x\:\:(1\leq x\leq p_1-1)\)

と表すと、

 \(a^{2^rk}=-1\)
 \((\br{D})\)
 \((g^x)^{2^rk}=g^{\frac{p_1-1}{2}}\)

だが、\(p_1-1=2^{e_1}k_1\) なので、

 \(g^{2^rkx}=g^{2^{e_1-1}k_1}\)

が成り立つ。ここで一般的に \((Z/pZ)^{*}\) の生成元を \(g\) とし、
 \(g^s=g^t\)
なら、\(j\) を整数として、
\(\begin{eqnarray}
&&\:\:g^{p-1}&=1\\
&&\:\:g^{j(p-1)}&=1\\
\end{eqnarray}\)
なので、

 \(g^s=g^{t+j(p-1)}\)

である。つまり、

 \(s\equiv t\:\:(\mr{mod}\:p-1)\)

が成り立つ。従って、

 \(2^rkx\equiv2^{e_1-1}k_1\:\:(\mr{mod}\:p_1-1)\)
 \(2^rkx\equiv2^{e_1-1}k_1\:\:(\mr{mod}\:2^{e_1}k_1)\)
 \((\br{E})\)

であり、\((\br{E})\) 式は \((\br{D})\) 式と等価である。\((\br{E})\) 式を解いて \(x\) を求めると、そこから \(a=g^x\) で \(a\) が求まる。

ここで、\(r\geq e_1\) と仮定すると、\((\br{E})\) 式は、

 \(2^rkx-2^{e_1-1}k_1\equiv0\:\:(\mr{mod}\:2^{e_1}k_1)\)
 \(2^{e_1-1}(2^{r-e_1+1}kx-k_1)\equiv0\:\:(\mr{mod}\:2^{e_1}k_1)\)
 \((\br{F})\)

と書ける。この \((\br{F})\) 式の \((2^{r-e_1+1}kx-k_1)\) の項に着目すると、\(r-e_1+1\geq1\) であり、\(k_1\) は奇数なので「偶数 - 奇数」=「奇数」である。そうすると、\((\br{F})\) 式の左辺は \(2^{e_1-1}\) の奇数倍であり、法である \(2^{e_1}k_1\) では割り切れず、\((\br{F})\) 式は成り立たない。つまり、\(a^{2^rk}=-1\) の解は、\(r\geq e_1\) のときには無い。

一方、\(r < e_1\) のとき \((\br{E})\) 式は、

 \(2^r(kx-2^{e_1-r-1}k_1)\equiv0\:\:(\mr{mod}\:2^{e_1}k_1)\)
 \((\br{F}\,')\)

と書ける。この \((\br{F}\,')\) 式が成り立つためには、\((kx-2^{e_1-r-1}k_1)\) の項は約数として \(2^i\:(i\geq e_1-r\geq1)\) を持つ必要があるが(少なくとも偶数である必要)、\(kx\) と \(2^{e_1-r-1}k_1\) はともに奇数にも偶数にもなり得るので、 \((\br{F}\,')\) 式の成立可能性に問題はない。そこで、以降で \(r < e_1\) のときの \((\br{E})\) 式の解の個数を検討する。

 \(2^rkx\equiv2^{e_1-1}k_1\:\:(\mr{mod}\:2^{e_1}k_1)\)
 \((\br{E})\)

において、

\(\begin{eqnarray}
&&\:\:h&=\mr{gcd}(k,\:k_1)\\
&&\:\:k\,'&=\dfrac{k}{h}\\
&&\:\:k_1{}^{\prime}&=\dfrac{k_1}{h}\\
\end{eqnarray}\)

とおく。\(k\,'\) と \(k_1{}^{\prime}\) は互いに素で、また、\(k,\:k_1\) が奇数なので、\(h,\:k\,',\:k_1{}^{\prime}\) は奇数である。\(r < e_1\) つまり \(r\leq e_1-1\) の条件があるので、\((\br{E})\) 式の両辺と法を \(2^rh\) で割ると、

 \(k\,'x\equiv2^{e_1-1-r}k_1{}^{\prime}\:\:(\mr{mod}\:2^{e_1-r}k_1{}^{\prime})\)
 \((\br{G})\)

となる。一般的に、

 \(ax\equiv b\:\:(\mr{mod}\:m)\)

の合同方程式は、\(a\) が \(m\) と素なときには \(b\) の値にかかわらず解があって、その解は \(m\) を法として唯一である(下記)。

一次不定方程式、
  \(ax+my=b\)
は、\(\mr{gcd}(a,\:m)=1\) のときに解をもつ(No.355「高校数学で理解するガロア理論(2):不定方程式の解の存在:21C」参照)。この等式の両辺を \(\mr{mod}\:m\) でみると、
  \(ax\equiv b\:\:(\mr{mod}\:m)\)
の合同方程式となる。この方程式に \(x_1,\:x_2\) の2つの解があるとすると、
  \(ax_1\equiv b\:\:(\mr{mod}\:m)\)
  \(ax_2\equiv b\:\:(\mr{mod}\:m)\)
  \(a(x_1-x_2)\equiv0\:\:(\mr{mod}\:m)\)
となるが、\(\mr{gcd}(a,\:m)=1\) なので、
  \(x_1\equiv x_2\:\:(\mr{mod}\:m)\)
となり、解は \(m\) を法として唯一である。

\((\br{G})\) 式 をみると、\(k\,'\) と \(k_1{}^{\prime}\) は互いに素であり、かつ奇数なので、\((\br{G})\) 式における \(k\,'\) と、法である \(2^{e_1-r}k_1{}^{\prime}\) は互いに素である。ということは、

 \((\br{G})\) 式は、法 \(2^{e_1-r}k_1{}^{\prime}\) で唯一の解をもつ

ことになる。\((\br{G})\) 式は \((\br{E})\) 式の両辺と法を \(2^rh\) で割ったものであった。つまり、\((\br{G})\) 式の法は、

 \(2^{e_1-r}k_1{}^{\prime}=\dfrac{2^{e_1}k_1}{2^rh}\)

である。ということは、\((\br{G})\) 式の、法 \(2^{e_1-r}k_1{}^{\prime}\) での唯一の解は、法 \(2^{e_1}k_1\) である \((\br{E})\) 式の解、\(2^rh=2^r\cdot\mr{gcd}(k,\:k_1)\) 個に対応する。\((\br{E})\) 式は \((\br{D})\) 式と等価なので、これで、

\(0\leq r\leq e-1\) である \(r\) を一つ固定して考えたとき、\((Z/p_1Z)^{*}\) において \(a^{2^rk}=-1\) である \(a\) の個数は
 \(r\geq e_1\) のとき \(0\) 個
 \(r < e_1\) のとき \(2^r\cdot\mr{gcd}(k,\:k_1)\) 個

が証明できた。【証明終


ここまでで、

 \((Z/p_1Z)^{*}\) において \(a^{2^rk}=-1\) である \(a\) の個数は
   \(r\geq e_1\) のとき \(0\) 個
   \(r < e_1\) のとき \(2^r\cdot\mr{gcd}(k,\:k_1)\) 個

であることが分かりました。この議論は \((Z/p_2Z)^{*}\) のときにも全く同じようにできて、

 \((Z/p_2Z)^{*}\) において \(a^{2^rk}=-1\) である \(a\) の個数は
   \(r\geq e_2\) のとき \(0\) 個
   \(r < e_2\) のとき \(2^r\cdot\mr{gcd}(k,\:k_2)\) 個

が言えます。この結果を踏まえて、

 \(|A_2(r)|\):\((Z/p_1p_2Z)^{*}\) において
\(a^{2^rk}=-1\) である \(a\) の個数

を求めます。これは、

 \((Z/p_1p_2Z)^{*}\cong(Z/p_1Z)^{*}\times(Z/p_2Z)^{*}\)

の直積関係を利用すると、\(e_1 < e_2\) の関係を考慮して、

 \(r < e_1\) のとき
\(\begin{eqnarray}
&&\:\: |A_2(r)|&=2^r\cdot\mr{gcd}(k,\:k_1)\cdot2^r\cdot\mr{gcd}(k,\:k_2)\\
&&&=4^r\cdot\mr{gcd}(k,\:k_1)\cdot\mr{gcd}(k,\:k_2)\\
\end{eqnarray}\)

 \(r\geq e_1\) のとき
  \(|A_2(r)|=0\)

となります。ここから \(|A_2|\) を計算するには、

 \(|A_2|=\displaystyle\sum_{r=0}^{e-1}|A_2(r)|\)

ですが、\(e_1\leq e\) の関係があるので、\(e-1\) までの総和は \(e_1-1\) までの総和に等しいことになります。つまり、

\(\begin{eqnarray}
&&\:\:|A_2|&=\displaystyle\sum_{r=0}^{e-1}|A_2(r)|\\
&&&=\displaystyle\sum_{r=0}^{e_1-1}|A_2(r)|\\
&&&=\displaystyle\sum_{r=0}^{e_1-1}4^r\cdot\mr{gcd}(k,\:k_1)\cdot\mr{gcd}(k,\:k_2)\\
\end{eqnarray}\)

の式が成り立ちます。この式に等比数列の総和である、

 \(\displaystyle\sum_{r=0}^{e_1-1}4^r=\dfrac{4^{e_1}-1}{4-1}=\dfrac{4^{e_1}-1}{3}\)

を代入すると、

 \(|A_2|=\dfrac{4^{e_1}-1}{3}\mr{gcd}(k,\:k_1)\cdot\mr{gcd}(k,\:k_2)\)

です。ここで、

 \(\mr{gcd}(k,\:k_1)\leq k_1\)
 \(\mr{gcd}(k,\:k_2)\leq k_2\)

の関係を利用すると、

 \(|A_2|\leq\dfrac{4^{e_1}-1}{3}k_1k_2\)

となります。ここまでの式は、\(e_1 < e_2\) でなくても \(e_1\leq e_2\) なら成り立つことが導出過程から分かります。


以上の計算で \(|M|\) を評価できます。

\(\begin{eqnarray}
&&\:\:|M|&=|A_1|+|A_2|\\
&&&\leq k_1k_2+\dfrac{4^{e_1}-1}{3}k_1k_2\\
\end{eqnarray}\)

この計算をもとに \(1\leq a\leq n-1\) の \(n-1\) 個のうちの \(|M|\) の割合を評価すると、

\(\begin{eqnarray}
&&\:\:\dfrac{|M|}{n-1}&=\dfrac{|M|}{p_1p_2-1}\\
&&& < \dfrac{|M|}{(p_1-1)(p_2-1)}\\
&&&=\dfrac{|M|}{2^{e_1}k_1\cdot2^{e_2}k_2}\\
&&&\leq\dfrac{1}{2^{e_1+e_2}}\left(1+\dfrac{4^{e_1}-1}{3}\right)\\
&&&=\dfrac{1}{2^{e_1+e_2}}\cdot\dfrac{2+4^{e_1}}{3}\\
\end{eqnarray}\)

となります。ここで、\(\bs{e_1 < e_2}\) なので、\(\bs{2e_1+1\leq e_1+e_2}\) です。従って、

\(\begin{eqnarray}
&&\:\:\dfrac{|M|}{n-1}& < \dfrac{1}{2^{2e_1+1}}\cdot\dfrac{2+4^{e_1}}{3}\\
&&&=\dfrac{2+4^{e_1}}{6\cdot4^{e_1}}\\
\end{eqnarray}\)

ですが、この最後の式の最大値は \(e_1=1\) のときです。これを代入すると、

 \(\dfrac{|M|}{n-1} < \dfrac{6}{24}=\dfrac{1}{4}\)

となって、\(1\leq a\leq n-1\) のなかで Miller-Rabin の条件を満たす数の比率は \(e_1 < e_2\) のときに \(\dfrac{1}{4}\) 未満であることが証明されました。

 2.2  \(e_1=e_2\) の場合 

(1)が成立するとき 

\(e_1 < e_2\) と全く同じ考え方で、

 \(|A_1|=\mr{gcd}(k,\:k_1)\cdot\mr{gcd}(k,\:k_2)\)

です(\(k,\:k_1,\:k_2\) は奇数)。ここで、一般的には、

 \(\mr{gcd}(k,\:k_1)\leq k_1\)
 \(\mr{gcd}(k,\:k_2)\leq k_2\)

が成り立ちますが、\(e_1=e_2\) だと、

 \(\mr{gcd}(k,\:k_1)=k_1\)
 \(\mr{gcd}(k,\:k_2)=k_2\)

が同時に成り立つことはありません。なぜなら、同時に成り立つとすると、

 \(k_1\mid k\) かつ \(k_2\mid k\)

ですが、\(n-1=2^ek\) だったので、

 \(k_1\mid(n-1)\) かつ \(k_2\mid(n-1)\)

です。ここで、\(n-1\) は

\(\begin{eqnarray}
&&\:\:n-1&=p_1p_2-1\\
&&&=(1+2^{e_1}k_1)\cdot p_2-1\\
&&&\equiv p_2-1\:\:(\mr{mod}\:k_1)\\
\end{eqnarray}\)

となりますが、\(k_1\mid(n-1)\) なので、

 \(k_1\mid(p_2-1)\)
 \(k_1\mid2^{e_2}k_2\)
 \(k_1\mid k_2\)

となります。まったく同様にして、

 \(n-1\equiv p_1-1\:\:(\mr{mod}\:k_2)\)
 \(k_2\mid(p_1-1)\)
 \(k_2\mid2^{e_1}k_1\)
 \(k_2\mid k_1\)

です。\(k_1\mid k_2\) かつ \(k_2\mid k_1\) ということは、\(k_1=k_2\) ですが、\(e_1=e_2\) なので、\(p_1=p_2\) となって矛盾します。つまり \(\mr{gcd}(k,\:k_1)=k_1\)、\(\mr{gcd}(k,\:k_2)=k_2\) が同時に成り立つことはありません。そこで、

 \(\mr{gcd}(k,\:k_1) < k_1\)
 \(\mr{gcd}(k,\:k_2)\leq k_2\)

として一般性を失いません。ここで \(k_1\) を素因数分解したときに現れる最小の素数を \(q\:(q\geq3)\)とし、

 \(k_1=q\cdot k_0\:\:(k_0\):奇数\()\)

と表します。そうすると、\(\mr{gcd}(k,\:k_1) < k_1\) なので、

 \(\mr{gcd}(k,\:k_1)\leq k_0\)

が成り立ち、

 \(\dfrac{k_1}{\mr{gcd}(k,\:k_1)}\geq\dfrac{k_1}{k_0}=q\geq3\)

となります。ここから、

 \(\mr{gcd}(k,\:k_1)\leq\dfrac{1}{3}k_1\)

が得られます。そこで、

 \(\mr{gcd}(k,\:k_1)\leq\dfrac{1}{3}k_1\)
 \(\mr{gcd}(k,\:k_2)\leq k_2\)

をもとに、

 \(|A_1|=\mr{gcd}(k,\:k_1)\cdot\mr{gcd}(k,\:k_2)\)

を評価すると、

 \(|A_1|\leq\dfrac{1}{3}k_1k_2\)

となります。

(2)が成立するとき 

このケースは \(e_1 < e_2\) で導出した、

 \(|A_2|\leq\dfrac{4^{e_1}-1}{3}\mr{gcd}(k,\:k_1)\cdot\mr{gcd}(k,\:k_2)\)

までは全く同じです。ここで、

 \(\mr{gcd}(k,\:k_1)\leq\dfrac{1}{3}k_1\)
 \(\mr{gcd}(k,\:k_2)\leq k_2\)

によって評価すると、

 \(|A_2|\leq\dfrac{1}{3}\cdot\dfrac{4^{e_1}-1}{3}k_1k_2\)

が成り立ちます。


以上の計算から \(|M|\) を評価すると、

\(\begin{eqnarray}
&&\:\:|M|&=|A_1|+|A_2|\\
&&&\leq\dfrac{1}{3}k_1k_2+\dfrac{1}{3}\cdot\dfrac{4^{e_1}-1}{3}k_1k_2\\
\end{eqnarray}\)

この計算をもとに \(1\leq a\leq n-1\) の \(n\) 個のうちの \(|M|\) の割合を計算すると、

\(\begin{eqnarray}
&&\:\:\dfrac{|M|}{n-1}&=\dfrac{|M|}{p_1p_2-1}\\
&&& < \dfrac{|M|}{(p_1-1)(p_2-1)}\\
&&&=\dfrac{|M|}{2^{e_1}k_1\cdot2^{e_2}k_2}\\
&&&\leq\dfrac{1}{2^{e_1+e_2}}\cdot\dfrac{1}{3}\left(1+\dfrac{4^{e_1}-1}{3}\right)\\
&&&=\dfrac{1}{2^{2e_1}}\cdot\dfrac{1}{3}\cdot\dfrac{2+4^{e_1}}{3}\\
&&&=\dfrac{1}{4^{e_1}}\cdot\dfrac{1}{3}\cdot\dfrac{2+4^{e_1}}{3}\\
&&&=\dfrac{1}{3}\left(\dfrac{2}{3\cdot4^{e_1}}+\dfrac{1}{3}\right)\\
\end{eqnarray}\)

となります。この最後の式の最大値は \(e_1=1\) のときです。代入すると、

\(\begin{eqnarray}
&&\:\:\dfrac{|M|}{n-1}& < \dfrac{1}{3}\left(\dfrac{1}{6}+\dfrac{1}{3}\right)\\
&&&=\dfrac{1}{6} < \dfrac{1}{4}\\
\end{eqnarray}\)

となって、\(1\leq a\leq n-1\) のなかで Miller-Rabin の条件を満たす数の比率は、\(e_1=e_2\) のときにも \(\dfrac{1}{4}\) 未満であることが証明されました。

3. \(n=p_1\cdot p_2\cdot\cd\cdot p_m\:\:(\:m\geq3\:)\)
\(n\) が3個以上の相異なる奇素数の積に素因数分解される場合です。この場合も、基本的には \(n=p_1\cdot p_2\) のケースと(全く同じではないが)同様になります。Miller-Rabin の定理を再掲します。


Miller-Rabin の定理(再掲)

\(n\) を \(3\) 以上の奇数の合成数とする。また、\(n-1=2^ek\:\:(e\geq1,\:k\) は奇数\()\) と表されているものとする。このとき、

 Miller-Rabin の条件

  (1) \(a^k\equiv1\:\:(\mr{mod}\:n)\) もしくは

  (2) ある \(r\:(0\leq r\leq e-1)\) について、
      \(a^{2^rk}\equiv-1\:\:(\mr{mod}\:n)\)

を満たす \(a\:(1\leq a\leq n-1)\) は、\(n-1\) 個のうちの \(1/4\) 以下である。


以降、表記を見やすくするため、\(m=3\)、\(n=p_1\cdot p_2\cdot p_3\) の場合で記述します。既約剰余類群の同型関係、

 \((Z/p_1p_2p_3Z)^{*}\cong(Z/p_1Z)^{*}\times(Z/p_2Z)^{*}\times(Z/p_3Z)^{*}\)

を利用して、問題を置き換えます。それぞれの群位数は、

\(\begin{eqnarray}
&&\:\:|(Z/p_1p_2p_3Z)^{*}|&=\varphi(p_1p_2p_3)\\
&&&=(p_1-1)(p_2-1)(p_3-1)\\
\end{eqnarray}\)
 \(|(Z/p_1Z)^{*}|=\varphi(p_1)=p_1-1\)
 \(|(Z/p_2Z)^{*}|=\varphi(p_2)=p_2-1\)
 \(|(Z/p_3Z)^{*}|=\varphi(p_3)=p_3-1\)

であり、

 \(|(Z/p_1p_2p_3Z)^{*}|=|(Z/p_1Z)^{*}|\cdot|(Z/p_2Z)^{*}|\cdot|(Z/p_3Z)^{*}|\)

が成り立ちます。Miller-Rabin の条件は次のように言い換えられます。


\(n=p_1p_2p_3,\:\:n-1=2^ek\) とするとき、

(1)
 (1a) \(a^k\equiv1\:\:(\mr{mod}\:p_1)\) かつ
 (1b) \(a^k\equiv1\:\:(\mr{mod}\:p_2)\) かつ
 (1c) \(a^k\equiv1\:\:(\mr{mod}\:p_3)\)

もしくは、

(2)
 ある \(r\:(0\leq r\leq e-1)\) について、
 (2a) \(a^{2^rk}\equiv-1\:\:(\mr{mod}\:p_1)\) かつ
 (2b) \(a^{2^rk}\equiv-1\:\:(\mr{mod}\:p_2)\) かつ
 (2c) \(a^{2^rk}\equiv-1\:\:(\mr{mod}\:p_3)\)

が成り立つ。


例によって、

 \(p_1-1=2^{e_1}k_1\:\:(e_1\geq1,\:k_1\) は奇数\()\)
 \(p_2-1=2^{e_2}k_2\:\:(e_2\geq1,\:k_2\) は奇数\()\)
 \(p_3-1=2^{e_3}k_3\:\:(e_3\geq1,\:k_3\) は奇数\()\)

とおきますが、\(\bs{e_1}\)\(\bs{e_1,\:e_2,\:e_3}\) のうちの最小とします。こう仮定して一般性を失うことはありません。この仮定のもとでは、

 \(3e_1\leq e_1+e_2+e_3\)

が成り立ちます。等号は \(e_1=e_2=e_3\) の場合です。

(1)が成立するとき 

(1) を満たす \(a\:(1\leq a\leq n-1)\) の集合を \(A_1\) とします。\(n=p_1\cdot p_2\) のケースと同様の計算によって、

 \(|A_1|=\mr{gcd}(k,\:k_1)\cdot\mr{gcd}(k,\:k_2)\cdot\mr{gcd}(k,\:k_3)\)

となります。\(|A_1|\) の上限値を評価すると、

 \(\mr{gcd}(k,\:k_1)\leq k_1\)
 \(\mr{gcd}(k,\:k_2)\leq k_2\)
 \(\mr{gcd}(k,\:k_3)\leq k_3\)

なので、

 \(|A_1|\leq k_1k_2k_3\)

が結論づけられます。

(2)が成立するとき 

(2) を満たす \(a\:(1\leq a\leq n-1)\) の集合を \(A_2\) とします。\(n=p_1\cdot p_2\) のケースと同様の計算で、

 \(|A_2|=\displaystyle\sum_{r=0}^{e_1-1}(2^r)^3\cdot\mr{gcd}(k,\:k_1)\cdot\mr{gcd}(k,\:k_2)\cdot\mr{gcd}(k,\:k_3)\)

です。この式に \(e_1\) だけが現れるのは、\(e_1\) が \(\{e_1,\:e_2,\:e_3\}\) の最小値だからです。ここで、

 \(\mr{gcd}(k,\:k_1)\leq k_1\)
 \(\mr{gcd}(k,\:k_2)\leq k_2\)
 \(\mr{gcd}(k,\:k_3)\leq k_3\)

の関係を利用します。また、等比数列の総和を計算すると、

\(\begin{eqnarray}
&&\:\:\displaystyle\sum_{r=0}^{e_1-1}(2^r)^3&=\displaystyle\sum_{r=0}^{e_1-1}(2^3)^r\\
&&&=\dfrac{(2^3)^{e_1}-1}{2^3-1}\\
\end{eqnarray}\)

です。まとめると、

 \(|A_2|\leq\dfrac{2^{3e_1}-1}{2^3-1}\cdot k_1k_2k_3\)

が得られます。


以上をもとに \(|M|\) を評価すると、

\(\begin{eqnarray}
&&\:\:|M|&=|A_1|+|A_2|\\
&&&\leq k_1k_2k_3+\dfrac{2^{3e_1}-1}{2^3-1}\cdot k_1k_2k_3\\
\end{eqnarray}\)

です。この計算をもとに \(1\leq a\leq n-1\) の \(n-1\) 個のうちの \(|M|\) の割合を計算すると、

\(\begin{eqnarray}
&&\:\:\dfrac{|M|}{n-1}&=\dfrac{|M|}{p_1p_2p_3-1}\\
&&& < \dfrac{|M|}{(p_1-1)(p_2-1)(p_3-1)}\\
&&&=\dfrac{|M|}{2^{e_1}k_1\cdot2^{e_2}k_2\cdot2^{e_3}k_3}\\
&&&\leq\dfrac{1}{2^{e_1+e_2+e_3}}\left(1+\dfrac{2^{3e_1}-1}{2^3-1}\right)\\
\end{eqnarray}\)

となります。ここで、\(3e_1\leq e_1+e_2+e_3\) です。従って、

\(\begin{eqnarray}
&&\:\:\dfrac{|M|}{n-1}& < \dfrac{1}{2^{3e_1}}\left(1+\dfrac{2^{3e_1}-1}{2^3-1}\right)\\
&&&=\dfrac{6+2^{3e_1}}{7\cdot2^{3e_1}}\\
\end{eqnarray}\)

ですが、この最後の式は \(e_1\) の増大によって単調減少するので、その最大値は \(e_1=1\) のときです。これを代入すると、

 \(\dfrac{|M|}{n-1} < \dfrac{6+8}{56}=\dfrac{1}{4}\)

となって、\(1\leq a\leq n-1\) のなかで Miller-Rabin の条件を満たす数の比率は \(\dfrac{1}{4}\) 未満であることが確かめられました。

以上の表記は \(m=3\) の場合ですが、証明のプロセスを振り返ってみると、\(m\geq3\) のときは、

\(\begin{eqnarray}
&&\:\:\dfrac{|M|}{n-1}& < \dfrac{1}{2^{m\cdot e_1}}\left(1+\displaystyle\sum_{r=0}^{e_1-1}(2^m)^r\right)\\
&&&=\dfrac{1}{2^{m\cdot e_1}}\left(1+\dfrac{2^{m\cdot e_1}-1}{2^m-1}\right)\\
&&&=\dfrac{2^m-2+2^{m\cdot e_1}}{(2^m-1)\cdot2^{m\cdot e_1}}\\
\end{eqnarray}\)

です。この式の右辺は \(e_1\) について単調減少なので、\(e_1=1\) を代入すると、

\(\begin{eqnarray}
&&\:\:\dfrac{|M|}{n-1}& < \dfrac{2^m-2+2^m}{(2^m-1)\cdot2^m}\\
&&&=\dfrac{2\cdot(2^m-1)}{(2^m-1)\cdot2^m}\\
&&&=\dfrac{1}{2^{m-1}}\\
&&&\leq\dfrac{1}{4}\\
\end{eqnarray}\)

が \(m\geq3\) のすべてで成り立ちます。


ちなみに、カーマイケル数は必ず、\(p_1\cdot p_2\cdot\cd\cdot p_m\) \((\:m\geq3\:)\) の形をしていることが知られています。上の証明によって、\(n\) がカーマイケル数であったとしても Miller-Rabin の条件を満たす底 \(a\) は 全体の \(\dfrac{1}{4}\) 未満であることが分かります。

以上で、Miller-Rabin の定理が証明されました。

 
 1024 ビットの素数を求める 
 

Miller-Rabin の定理を使って、実際に巨大素数を求めてみます。2048 ビットの RSA 暗号で使われる 1024 ビットの素数を求めます。1024 ビットは、\(2^{1023}\) ~ \(2^{1024}-1\) の数です。Python で整数 n が素数かどうかを判定する関数、miller_rabin(n) を次のようにシンプルに実装します。n が素数なら True、合成数なら False を返す関数です。反復回数は 40回とします。

from random import randint def miller_rabin(n): if n == 2: return True if n < 2 or n % 2 == 0: return False k = (n - 1) // 2 e = 1; while k % 2 == 0: e += 1 k = k // 2 iteration = 40 for _ in range(iteration): if not mr_base(n, e, k): return False return True def mr_base(n, e, k): a = randint(1, n - 1) b = pow(a, k, n) if (b == 1) or (b == n - 1): return True else: for _ in range(e - 1): b = pow(b, 2, n) if b == n - 1: return True return False

この関数を用いて作ったのは、次のようなプログラムです。

①  \(2^{1023}\) ~ \(2^{1024}-1\) の間の乱数 \(n\) を \(10,000\)個、順々に発生させる。
②  miller_rabin(n) で \(n\) が素数かどうかを調べる。
③  見つかった素数の個数をカウントする。
④  最初に見つかった素数を出力する。

1つの実行例ですが、12個の素数が見つかり、最初に見つかったのは次に示す 308桁の素数でした。実行時間は Google Colaboratry の環境で約 30秒です。

94872061 3054580553 8024546417 0443276752 8208705264 5738921481
         0677834138 4405922941 9044925712 7675055467 0399951005
         3184840724 4107587320 1847375774 1842027537 2972168431
         3292460096 0558147125 1513790454 1422818823 6684614711
         0137905023 0947309459 7845156412 5542386383 6759057622
         9952488549 9964568003 6095666702 5172908475 7410497807

何回か実行してみると、素数の桁数はほとんどが 309桁で、一部が 308桁です。これは \(\mr{log}_{10}2^{1023}\fallingdotseq307.95\) なので、そうなるはずです。また、1万個の n のうちの素数の数は 8~18 個程度となりました。実行結果について「素数定理」と「反復回数」の観点から考察します。

素数定理
数学では、\(x\) 以下の素数の個数を \(\pi(x)\) で表わします。素数定理によると、

 \(\pi(x)\sim\dfrac{x}{\mr{log}(x)}\)

です。左辺と右辺をつなぐ \(\sim\) は、

 左辺と右辺の比率 \(\longrightarrow\:1\:\:(x\longrightarrow\infty)\)

を意味します。以下、

 \(\pi(x)=\dfrac{x}{\mr{log}(x)}\)

と考えて、m ビットの数に含まれる素数の割合を見積もります。m ビットの数の総数は \(2^{m-1}\) 個なので、m ビット数の素数割合は、

 素数割合 \(=\dfrac{1}{2^{m-1}}(\pi(2^m)-\pi(2^{m-1}))\)
\(=\dfrac{1}{\mr{log}2\cdot m}\cdot\dfrac{m-2}{m-1}\)

ですが、\(\dfrac{m-2}{m-1}\) を \(1\) と見なすと、簡潔に、

 素数割合 \(=\dfrac{1}{\mr{log}2\cdot m}\)

です。この式に \(m=1024\) を代入すると、

 素数割合 \(\fallingdotseq0.0014\)

となります。つまり、

1024 ビットの数、10,000個をランダムに選んで素数判定を行うと、0.14%=14 個程度の素数が見つかる

と言えます。これは上の実験で、1万個の n のうちの素数の数は 8~18 個程度だったことに合致します。

反復回数
プログラムを少々変更して、

 何回目の反復(iteration)で素数\(\cdot\)合成数の判定ができたか

を調べると、素数判定のときは当然 iteration = 40 ですが、

 合成数判定のときの iteration = 1

であることが分かります(1万個の素数判定をする前提です)。つまり、\(n\) が合成数なら最初の計算で即、合成数と判明します。何回かの反復の後に合成数と判明することは、上の計算では無いのです。

この理由は、\(n\) が合成数だと「\(a\:(1\leq a\leq n-1)\) のなかで Miller-Rabin の条件を満たす底 \(a\) の比率は \(\tfrac{1}{4}\) 以下」という定理の \(\tfrac{1}{4}\) が(一般には)過大評価であることによります。たとえば、\(n\) が2つの異なる素数の積の場合、

\(\begin{eqnarray}
&&\:\:n&=p_1p_2\\
&&\:\:n-1&=2^ek\\
&&\:\:p_1-1&=2^{e_1}k_1\\
&&\:\:p_2-1&=2^{e_2}k_2\\
\end{eqnarray}\)
  (\(e,e_1,e_2\geq1,\:\:k,k_1,k_2\) は奇数)

において \(\tfrac{1}{4}\) 以下の主な根拠は、

 \(\mr{gcd}(k,\:k_1)\cdot\mr{gcd}(k,\:k_2)\leq k_1k_2\)

でした。ところが、この式で等号が成り立つのは、特に \(n\) が巨大だと、めったにありません。高々 10,000個程度の合成数を判定したとしても、Miller-Rabin の条件を満たす底 \(a\) が現れる確率はほとんどゼロに等しいのです。

ランダムに選んだ数 \(n\) のほとんどは(1024 ビットの数の場合 99.86 % は)合成数です。したがって「合成数を合成数だと速く判定する」のが素数判定アルゴリズムのポイントであり、反復回数をどうするかは全体の速度にそれほど関係ありません。このあたりの事情はフェルマの条件で素数判定をしても同じです。

ただし、フェルマの条件とは違って、ランダムに選んだ底 \(a\) が Miller-Rabin の条件を満たす確率が、\(n\) の値にかかわらず必ず \(\tfrac{1}{4}\) 以下であることが数学的に保証されています。そこが Miller-Rabin の素数判定アルゴリズムの価値なのでした。




nice!(0) 

No.368 - 命のビザが欲しかった理由 [歴史]

No.201「ヴァイオリン弾きとポグロム」に関連する話です。No.201 の記事は、シャガール(1887-1985)の絵画『ヴァイオリン弾き』(1912)を、中野京子さんの解説で紹介したものでした。有名なミュージカルの発想のもとになったこの絵画には、ユダヤ人迫害の記憶が刻み込まれています。シャガールは帝政ロシアのユダヤ人強制居住地区(現、ベラルーシ)に生まれた人です。

絵のキーワードは "ポグロム" でした。ポグロムとは何か。No.201 で書いたことを要約すると次のようになるでしょう。

◆ ポグロムはロシア語で、もともと「破壊」の意味だが、歴史用語としてはユダヤ人に対する集団的略奪・虐殺を指す。単なるユダヤ人差別ではない。

◆ ポグロムに加わったのは都市下層民や貧農などの経済的弱者で、シナゴーグ(ユダヤ教の礼拝・集会堂)への放火や、店を襲っての金品強奪、暴行、レイプ、果ては惨殺に及んだ。

◆ ポグロムはロシアだけの現象ではない。現代の国名で言うと、ドイツ、ポーランド、バルト3国、ロシア、ウクライナ、ベラルーシなどで、12世紀ごろから始まった。特に19世紀末からは各地でポグロムの嵐が吹き荒れた。

◆ 嵐が吹き荒れるにつれ、ポグロムに警官や軍人も加わるようになり、政治性を帯びて組織化した。この頂点が、第2次世界大戦中のナチス・ドイツによるユダヤ人のホロコーストである。

杉原千畝.jpg
故・杉浦千畝
(朝日新聞より)
その、ナチスによるホロコーストに関係した有名な話があります。当時のリトアニアの日本領事代理だった杉原千畝ちうねが、ユダヤ人に日本通過ビザ(いわゆる "命のビザ")を発行し、ドイツによるホロコーストから救ったという件です。

この "命のビザ" について、先日の朝日新聞に大変興味深い記事が掲載されました。「ユダヤ難民は誰からのがれたかったのか」を追求した、東京理科大学の菅野かんの教授の研究です。それを以下に紹介します。記事の見出しは、

 杉原千畝「命のビザ」で異説
 ユダヤ人が逃れたかったのはソ連?
  (朝日新聞 2023年11月20日 夕刊)

です。朝日新聞編集委員・永井靖二氏の署名入り記事です。

手書きのビザ.jpg
杉原氏が発給した手書きのビザ。"敦賀上陸" とある。
(朝日新聞より)


難民は何から逃れたかったのか


まず記事の出だしでは、当時の状況と命のビザの経緯が簡潔に書かれています。


リトアニアで第2次世界大戦中、外交官の故・杉原千畝(ちうね)(1900~86)が発給したいわゆる「命のビザ」で、ユダヤ人難民らは何から逃れようとしていたのか。専門家が当時の1次資料を分析したところ、「ナチスの迫害から」とする見方だけではない事情が浮かんできた。

杉原は独立国リトアニアの首都カウナスで日本領事代理を務めていた。40年7~8月、ドイツと旧ソ連による侵攻で母国を失った主にポーランド国籍のユダヤ人難民に、日本の通過ビザを発給したことで知られる。外務省の記録では、杉原がこの時期に発給したビザは計2140件とされる。

朝日新聞 2023年11月20日(夕刊)

東京理科大学の菅野かんの教授は、当時の1次資料のみを読み解き、ユダヤ難民が何から逃れたかったのかを突き止めました。


全体主義恐れる

東京理科大学教授の菅野かんの賢治さん(ユダヤ研究)は、歳月を経て出た回想録などを除き、当時の1次資料のみを考証の対象とした。

現地で難民救援にあたったユダヤ人の非政府組織「アメリカ・ユダヤ合同分配委員会」(JDC、本部ニューヨーク)が所蔵する現地の報告な約3千点の記録を読み解くとともに、当時の地元住民らが書いた日記などを集めた。

その結果、この時期に難民や支援者が抱き、語った危機感は、思想弾資産の没収など、ソビエトの全体主義に対するものだったという。ナチスの迫害への危惧を脱出の動機とした言説は見当たらなかった

ソ連とドイツは1939年8月に不可侵条約を結んでいた。ソ連は40年6月、リトアニアに進駐。8月3日にリトアニアはソ連に併合された。

杉原がビザを発給したのは、この時期だった。同じ頃、ドイツはユダヤ人に隔離や国外追放が主体の施策をとり、ソ連などでも反ユダヤ主義は強かった。そのため、カウナスのヘブライ語教師が「体のみを殺すドイツ人の到来の方が、魂まで殺すロシア人の到来よりも、まだしも好ましい」と、意思表示をしたという記録も残っていた。

独ソ戦が始まったのは41年6月2日。アウシュビッツ収容所で毒ガスが初めて使われたのは同年9月で、杉原のビザ発給から1年以上後だった。

(同上)

あらためて歴史的経緯を時系列にまとめると、次のようになります。

1939年8月 独ソ不可侵条約が締結
1939年9月 ドイツがポーランドに侵攻(=第2次世界大戦が勃発)。ソ連も侵攻し、10月、ポーランドは独ソ両国によって分割された。
1940年6月 ソ連がリトアニアに進駐
1940年7-8月 杉原がリトアニアでユダヤ人に計2140件のビザを発給
1940年8月 ソ連がリトアニアを併合
1941年6月 独ソ戦開戦
1941年9月 アウシュビッツ収容所で毒ガスが初めて使われた

この経緯のポイントは次の3つでしょう。

◆ 杉原氏が命のビザを発給したのは、ソ連がリトアニアに進駐して併合する、まさにその時期にあたる。

◆ 独ソ戦が始まったのは、命のビザより10ヶ月あとである(もちろん独ソ戦が始まった以上、リトアニアにドイツ軍が押し寄せてくることは想定できる)。

◆ アウシュビッツ(ポーランド)で毒ガスによるホロコーストが始まったのは、命のビザより1年後である。

ユダヤ難民がなぜ命のビザを欲しがったのか。それは記事にあるように「ソ連から逃れるため」というのが正解でしょう。もちろん、ドイツの "ユダヤ人狩り" は難民も知っていたはずです。しかし、当時は独ソ不可侵条約が結ばれていて、その一方の当事者であるソ連にリトアニアは占領されていました。当時、ドイツの脅威が直接的にリトアニアに及んだわけではありません。シンプルに考えても、リトアニアのユダヤ難民が恐れたのはドイツではなくソ連だった。

加えてロシア・ソ連では、シャガールの絵に象徴されるように、19世紀以来、ポグロムの嵐が吹き荒れていました。ユダヤ人がリトアニアを占領したソ連から逃れたかったのは当然でしょう。


通説の経緯


しかし日本では「ナチスの迫害から逃れるため」というのが通説になっています。この通説ができた経緯が記事に紹介されています。


評価変わらず

従来の通説とは異なる研究成果だが、菅野さんは「杉原が困窮した難民らにビザを発給した事跡は、変わるものではない」としている。

杉原千畝記念館(岐阜県八百津町)館長の山田和実さんも「様々な苦難のもとで困窮していたユダヤ人難民らに、自らの良心に従ってビザを発給した杉原の行為に対する評価は、変わらないと思う」と話している。

菅野さんは通説ができる過程についても、近著「『命のヴィザ』の考古学」(2023年9月出版)で追った。

日本を通過したユダヤ人難民について、1960年7月1日付の朝日新聞朝刊は「ドイツを追われ日本に来た」としていた。8月7日発行の週刊読売も「ナチスに追われ」たと書いていた。菅野さんはその年の5月、ユダヤ人を強制収容所へ送る実務責任者だっアドルフ・アイヒマンが、アルゼンチンで逮捕されたことと関連があると推測する。

杉原の名前が登場するようになったのは、朝日新聞(88年8月2日付夕刊)や中央公論(71年5月発行)などからだったという。

菅野さんは同書で、47年に外務省を退職した杉原の戦後の発言もたどった。本人がビザ発給の経緯を述べた最古の記録は、69年の覚書。ビザを発給した相手は「ポーランド難民」で、約3500人のうち「およそ500人のユダヤ人がいた、と記憶している」としていた。

88年9月になると、フジテレビのドキュメンタリーで、難民にビザを発給したのは「ナチスにひっ捕まって」「ガスの部屋へ放り込まれる」からだったと語っていたという。(編集委員・永井靖二)

(同上)

記事にある杉原氏の覚え書きによると、ビザを発給したのはポーランド難民で、その一部がユダヤ人ということになります。では「ユダヤ人でないポーランド難民」は何から逃れたかったのかというと、それはソ連からということになります。

しかし日本では当初から、ユダヤ難民は「ナチス・ドイツに追われ」たことになっていました。記事にも、

・ 日本を通過したユダヤ人難民について、1960年7月1日付の朝日新聞朝刊は「ドイツを追われ日本に来た」としていた。8月7日発行の週刊読売も「ナチスに追われ」たと書いていた。

・ 1988年9月、杉原氏はフジテレビのドキュメンタリーで、難民にビザを発給したのは「ナチスにひっ捕まって」「ガスの部屋へ放り込まれる」からだったと語った。

とあります。杉原氏自身でさえ、ユダヤ人難民は「ナチスに捕まってガスの部屋へ放り込まれる」からビザを欲したのだと、1988年に語っているわけです。「ナチスの迫害から逃れるため」という通説ができるのは当然です。もちろん、時間がたつと記憶が曖昧になるのは誰しもあるわけです。

これは、1960年の新聞報道を含め、ナチス・ドイツによるユダヤ人ホロコーストが、如何に世界の人々にショックと強烈な印象を与えたかというあかしだと思います。そして重要な点は、ユダヤ人難民がソ連から逃れたかったにしろ、杉原氏の行為に対する評価は変わらないということです。


複合的な視点で見る必要性


ナチス・ドイツによるユダヤ人ホロコーストという惨劇を知ってしまうと、それに強く影響された視点でものごとを考えがちです。しかし、複合的な視点はどのようなことでも重要です。記事の中で内田たつる氏が発言していました。


国益への配慮も

ユダヤ人問題などが専門の思想家、内田樹さんの話

日露戦争でユダヤ資本家から戦費調達で支援を受けた日本政府は、ユダヤ人に融和的な姿勢を保っていた。杉原千畝には道義心に加え国益への配慮もあったはずだ。リトアニアではソ連への恐怖の方がナチスよりも強かったし、難民らには局面ごとに多様な外力が働いていた。だが、我々は直後に起きたホロコーストという惨劇を知っているため、出来事を一本の線でとらえがちだ。当時の政策への無知もその傾向を助長したと思う。

(同上)

この内田氏の指摘は鋭いと思います。

・ 日本政府はユダヤ人に融和的な姿勢を保っていたから、杉原氏には道義心に加えて、国益への配慮もあったはずだ。

・ リトアニアではソ連への恐怖の方がナチスよりも強かったし、難民らには局面ごとに多様な外力が働いていた。

杉原氏は外交官であり、日本の国益のために働くのが使命です。明治以降の日本政府がユダヤ人に融和的だっというのは、数々の証拠があります。外交官である杉原氏はそれを知っていたのでしょう。その "融和的" な姿勢の発端は、日露戦争におけるユダヤ人資本家からの戦費調達であり、その背景にはロシアにおけるポグロムがある。ユダヤ人資本家は、ロシアと戦おうとする日本を応援したわけです。

杉原氏の「命のビザ」は、ソ連から逃れようとする「ユダヤ人を含む難民」に発給されたものであり、それは人道的配慮と日本の国益への配慮に合致するものであった

という「複合的な視点」が重要でしょう。一面的に歴史をみることはまずいし、「歴史から学ぶ」ことにもならないのです。




nice!(0) 

No.367 - 南部鉄器のティーポット [文化]

これまでの記事で、NHK総合で定期的に放映されているフランスの警察ドラマ「アストリッドとラファエル」から連想した話題を2つ書きました。

No.346「アストリッドが推理した呪われた家の秘密」(シーズン1 第2話「呪われた家」より)

No.363「自閉スペクトラム症と生成AI」(シーズン2 第6話「ゴーレム」より)

の2つです。今回もその継続で、このドラマに出てくるティーポットの話を書きます。


ダマン・フレール


パリのマレ地区のヴォージュ広場を囲む回廊の一角に、紅茶専門店、ダマン・フレール(Dammann Frères)の本店があります。ダマン・フレールは、17世紀のルイ14世の時代にフランスにおける紅茶の独占販売権を得たという老舗しにせで、ホームページには次のようにあります。


フランス王室に認められた
随一のティーブランド

ダマンフレールの歴史は、1692年、フランス国王ルイ14世によりフランス国内での紅茶の独占販売権を許可されたことから始まりました。それはまた、フランスにおける紅茶の歴史の始まりとも言えます。1925年には紅茶を愛してやまないダマン兄弟により紅茶専門のダマン・フレール社が立ち上げられ、上流階級の嗜好品としての紅茶文化が開花しました。

ダマン・フレールの日本語公式サイトより

ちなみに、フレールとはフランス語で兄弟の意味で、屋号は「ダマン兄弟」です。緑茶や中国茶も扱っているので「お茶専門店」というのが正確でしょう。

パリには4回ほど個人旅行をしましたが、2000年代初頭にダマン・フレールの本店に行ったことがあります。私の配偶者が是非行きたいということで、紅茶のティーバッグをお土産(いわゆる "バラマキ")にするためだったと思います。

Dammann_Freres Paris.jpg
ダマン・フレール本店の店内
(ダマンの公式ホームページより)

店内に入ってみると、いかにも老舗という内装で、その "重厚感" が印象的でした。当時は日本人の店員さんがいたと思います。パリでも日本人観光客がメジャーな時代でした。

そして私が最も印象的だったのは、明らかに日本の南部鉄器と思われる "ティーポット"(日本で言う "急須")が売られていたことです。ただし、黒い鉄色ではなく、色がついていました。このような鉄器の "カラー急須" を見たのは初めてだったので、ちょっとびっくりしたわけです。

南部鉄器の急須.jpg
南部鉄器のカラーのティーポット
ダマンで売られていたものではありません。「ダイアモンド・オンライン」のページより。


アストリッドの愛用品


「アストリッドとラファエル」には、アストリッドの愛用品として鉄器のカラーのティーポットが出てきます。次の画像は、シーズン1の第2話「呪われた家」のもので、アストリッドが勤務する犯罪資料局の執務机の様子です。上の図では、彼女が青色の鉄器のティーポットを取り出して机に置いています。茶筒と湯呑み茶碗もあるので、緑茶(日本茶)を入れるためのものでしょう。その下の画像では、実際にお茶を入れています。

Astrid and Teapot-a.jpg
アストリッドの青のティーポット
シーズン1・第2話「呪われた家 前編」(2022.8.14)より

Astrid and Teapot-b.jpg
お茶を入れるアストリッド
シーズン1・第2話「呪われた家 後編」(2022.8.21)より

アストリッドの自宅の様子が次の画像です。このティーポットも青色ですが、犯罪資料局に持ち込んだものとはデザインが違うようです。

Astrid and Teapot-c.jpg
アストリッドの自宅のティーポット(1)
シーズン1・第6話「存在しない男」(2022.9.18)より

次の画像もアストリッドの自宅ですが、このティーポットは緑っぽい色です。

Astrid and Teapot-d.jpg
アストリッドの自宅のティーポット(2)
シーズン4・第3話「密猟者」(2024.1.28)より

そもそもこのドラマには、日本関連のものが数々登場します。アストリッドが常連客である日本食材店や、犯罪資料局にアストリッドが持ち込んだ半畳ほどの畳、箱根細工(と思われる)"からくり箱" などです。また、アストリッドの "恋人" はテツオ・タナカという日本からの留学生です。ドラマの制作サイドが日本市場を意識しているのでしょう。

しかし南部鉄器のティーポットに関して言うと、それがパリでいつでも買えるものだからこそ、ドラマに登場するのだと思います。20年ほど前にダマン・フレールで見た南部鉄器のカラーのティーポットは、現在でもフランスに愛好者がいることが分かります。

南部鉄器は鋳造なので、ガラスや磁器のティーポットに比べると熱容量が大きく、お茶が冷めにくい。おそらくそこが評価されているのだと思います。また、ヨーロッパにとっては、紅茶や緑茶はもともと東洋からの輸入品です。南部鉄器という "アジアン・テイスト" のアイテムが、お茶にマッチすると考える人もいそうです。


岩鋳


ところで、南部鉄器をヨーロッパに輸出した先駆者は、岩手県盛岡市の「岩鋳いわちゅう」という会社です。南部鉄器といえば江戸時代が発祥の由緒ある工芸品で、盛岡と水沢(奥州市)が生産の中心地です。水沢の会社では "及源おいげん" が有名です。

その岩鋳の鉄器が海外進出した経緯が「ダイアモンド・オンライン」(ダイアモンド社)に出ていました。興味深い話だったので、是非それを紹介したいと思います。「飛び立て、世界へ! 中小企業の海外進出奮闘記」と題する一連の記事の中の一つで、記事のタイトルは、

日本人が知らない南部鉄器の海外人気、フランスから世界へ急拡大(2018.2.8)
 ルポライター:吉村克己
 https://diamond.jp/articles/-/158955

です。まず、少々意外だったのは、岩鋳の製品の半分は海外に販売され、ヨーロッパでは「イワチュー」(IWACHU)が鉄器の代名詞になっていることです。


年間100万点生産し半数が海外へ
欧州で南部鉄器の代名詞となった会社

南部鉄器と言えば、約400年の歴史を持つ岩手県の伝統工芸だ。かつて、日本の家庭には鋳物の鉄瓶や急須が1つはあったものだが、いまでは姿を見かけなくなった。

と思ったら、日本伝統の鉄瓶や急須が欧米や中国・東南アジアで人気になっている。それが日本に逆輸入されて、いま若い女性や主婦などが伝統の良さを再発見しているのだ。

その古くて新しい南部鉄器を生み出したのが、盛岡市に本社を置く岩鋳だ。いまやヨーロッパで「イワチュー」と言えば鉄器の代名詞である。

4代目を継ぐ同社副社長(引用注:現、社長)の岩清水弥生(48歳)はこう語る。

「海外に出て行ってなかったら、今の岩鋳はなかったでしょうし、技術の向上もなかったと思います。海外で売れるようになったからこそ社員の士気も高まったし、若い職人志望者も増えた。当初はつくっても売れるのかなと思ったのですが、やはり自分たちだけでお客様が求めるものを決めつけてはいけませんね」

岩鋳では現在、伝統的な鉄瓶や急須だけではなく、鋳物製の鍋やフライパンなどのキッチンウェアなども手がけ、年間約100万点の鉄器を生産している。これは南部鉄器としては最大規模だ。なんと、その半数が海外で販売されている。世界20ヵ国程度に広がり、国・地域ごとに代理店を通して売っている。

欧米市場では急須が主な商品だ。昔ながらの黒い鉄器ではなく、赤やピンク、青、緑、オレンジなどカラフルで、いわゆる南部鉄器のイメージとは全く違う。その形も、楕円形で注ぎ口が細長いものなどデザインにも工夫を凝らしている。

海外では国内より価格が約2倍半ほど高くなる。国内で6000円ほどの売れ筋の急須でも、1万5000円ほどになるから、決して安いものではないが、紅茶などのティーポットとして使われている。

現代風とは言え、生産はすべて本社で、職人の技を大切にしている。色とりどりながらも鋳物らしい風合い、いわゆる「鋳肌(いはだ)」(鉄の素材感)が活きている

着色はウレタン樹脂を使っているので、無害かつ安全。顧客の要望さえあれば130色ほども再現できるという。内部はホーロー引きでメンテナンスしやすい。つまり、伝統の良さを活かしながらも、南部鉄器の使い方を知らない現代の外国人にも使いやすくしているのだ。

ルポライター:吉村克己
「日本人が知らない南部鉄器の海外人気
フランスから世界へ急拡大」
ダイアモンド・オンライン(2018.2.8)

南部鉄器の急須.jpg
岩鋳のカラーの急須
「ダイアモンド・オンライン」より。

ポイントを何点かにまとめると、次のようになるでしょう。

① 岩鋳は、伝統的な鉄瓶や急須だけではなく、鍋やフライパンなどのキッチンウエアなど、年間約100万点の鉄器を生産していて、南部鉄器としては最大規模である。かつ、その半数が海外20ヵ国で販売されている。

② 欧米市場では、赤やピンク、青、緑、オレンジなどのカラフルな急須が主力商品である。ヨーロッパでは「イワチュー」が鉄器の代名詞になっている。

ちなみに、岩鋳の海外ブランドは "IWACHU" であり、最初に人気に火がついたフランスでは、フランス語読みで「イワシュー」で通っているそうです。

③ 急須の着色はウレタン樹脂を使うが、鋳物らしい風合い = 鋳肌(いはだ、鉄の素材感)を活かしている。また内部はホーローをコーティングしている。

日本古来の急須とちがって、着色するのみならず、急須の内部にはホーロー加工がしてあります。鉄器の急須は、鉄分が溶けだして体にいいとか、お茶がまろやかになると言いますが、そういう効果は期待できないわけです。しかしこれは欧米のニーズに合わせた製品なのです。

もちろん、鋳肌いはだが活きていると書いてあるように、ダマン・フレールで見たときも、一目でアラレ模様の南部鉄器だと分かるものでした。着色も、日本の伝統色を思わせる中間色で、鉄器にマッチしています。

なお、中国や東南アジアでは、欧米とは違い、日本で伝統的な黒い急須や鉄瓶が売れるようです。

その岩鋳の海外進出は 1960年代から始まりました。そして本格的な販売がスタートしたのは、パリの紅茶専門店からの依頼が契機だったのです。


パリの紅茶専門店からの
依頼でつくった急須が大ヒット

岩鋳の創業は明治35年で、115年を迎える老舗だが、南部鉄器の工房としては若い方だ。岩清水の祖父である弥吉は進歩的な人物で、鉄瓶だけでは将来がないと新製品を積極的に開発した。1960年代から手作業以外の工程の機械化を進め、すき焼き鍋や企業向けなどの記念品として灰皿も開発した。

周囲はそうした弥吉の方針に対して、南部鉄器の伝統をないがしろにするものだと批判的だったが、「仕事がなくなったら伝統も何もないし、職人を守れない」と、鉄器を広く知ってもらうように努めた。

海外進出もこうした弥吉の先進性から始まった。1960年代後半には、当時専務だった弥吉の弟が製品を抱えて船に乗り、ヨーロッパに渡って1ヵ月間売り歩いた。微々たる量だったが、日本の文化や鉄器に興味を持つヨーロッパ人が鉄瓶や急須を買ってくれた。

「当時は国内も好景気で、観光客も多く、売り上げが伸びていたので、海外販売にはそれほど力を入れていませんでした」と岩清水。

本格的な海外展開のきっかけとなったのは、パリの紅茶専門店からの1つの依頼だった。カラフルな急須がほしいというのだ。1996年のことである

鉄器は黒いのが当たり前で、それが一番美しいと考えられていた。岩鋳の経営陣も職人も戸惑った。しかし、せっかく頼まれたものを断るのもしゃくだった。

「他の工房と違って、父(岩清水晃社長)も私も職人ではありません。そのため、いい意味でこだわりがないし柔軟で、新しいことにチャレンジするのに抵抗がないのです。それでもカラフルな急須とは驚きました。工場長や職人からも反発はありませんでしたが、せっかくつくっても本当に売れるのか不安だったようです」

鋳肌を活かしながら着色することは予想以上に難関だった。工場長と着色担当の職人に塗料メーカーの協力も得て、3年かけて着色法を開発した。ウレタン樹脂を吹き付けた後、カラフルな塗料を重ね塗りすることで、色合いを表現した

パリの紅茶店に製品を送ると、たちまち人気になり、ヨーロッパ中に口コミで広がっていった。展示会にも出展し、カラフルな急須の売れ行きが伸びた。さらにアメリカに伝播し、アジアにも拡大した。

(同上)

岩鋳にカラフルなティーポットの製作を依頼したパリの紅茶専門店は、マリアージュ・フレールだそうです。マリアージュもパリのマレ地区に本店があり、ダマンから近い距離です。南部鉄器のカラフルなティーポットは、マリアージュでまずヒットし、それがダマンを含む店に広まったということでしょう。

鉄にホーローをコーティングするのは従来からある技術です(各種のホーロー製品)。しかし、鋳造した鉄への着色は従来からの技術ではありません。「3年かけて着色法を開発した」とあるように、かなりの苦労の末に開発した製品だったようです。

そして、記事の最後にある、岩鋳の岩清水社長のコメントが印象的でした。


現地のニーズをよく調べる、
そして必ず足を運ぶのが基本

岩清水はパリの紅茶店オーナーに、なぜ鉄器に興味を持ったのかと聞いたことがある。

男性が使ってもさまになるティーポットがほしかったと、オーナーは言いました。ガラスや陶器は女性っぽいので、カラフルな鉄器なら重厚感があり男性にぴったりだというのです

つくり手側が思いもよらないニーズがあるものだ。それに対して愚直に応えたからこそ、現在の岩鋳がある。海外進出する際に何を心がけるべきか岩清水に聞くと、こう答えた。

「自分たちの商品をそのまま外国に持って行っても、通用しません。私たちは鉄器は黒が最高だと思っていたのに、たまたまお客様の要望で色をつけたら売れた。私たちの押しつけではなく、相手の要望を聞き、現地に足を運ぶことが重要です」

自社の製品や技術力にいかに自信があろうとも、海外でも日本と同じように売れるわけではない。市場の声に耳を澄まし、そこに自慢の技術を投入することが肝要だ。

(同上)

カラフルな鉄器の急須は、我々日本人からすると、女性客を狙ったのだろうと、暗黙に考えてしまいます。無骨な感じの黒の鉄器ではパリジェンヌにはウケないだろうと ・・・・・。依頼を受けた岩鋳の人たちも、おそらくそう考えたのではないでしょうか。

しかしそうではないのですね。岩鋳に依頼したパリの紅茶専門店のオーナーの考えでは「カラフルな鉄器なら重厚感があり男性にぴったり」なのです。少なくとも当初の発想はそうだった。

かなり意外ですが、まさに岩清水社長の言うように「市場の声に耳を澄まし、そこに自慢の技術を投入することが肝要」です。お茶を飲むのは日本(を含む東アジアの)文化であり、南部鉄器の急須もその文化の一部です。しかし、ダマン・フレールを見ても分かるように、フランスにおいても、お茶は数百年の伝統をもつ伝統文化なのです。文化の "押し売り" はうまく行かない。岩鋳はパリの紅茶専門店に導かれて、ニーズと技術のベストなマッチングを作り上げたことになります。



ドラマ「アストリッドとラファエル」に戻ると、アストリッドが愛用する青いティーポットは、実はフランスと日本の2つの文化の接点を示している象徴的なアイテムなのでした。



 補記:大谷翔平 

岩手県が生んだスポーツ界のスーパースターと言えば大谷翔平選手ですが、大谷選手は2024年5月9日、自身のインスタグラムのストーリーズに「ありがとうございます」の文字とともに、深い青色の鉄瓶とふたつの湯飲み茶碗の写真を投稿しました。その鉄瓶の写真が次です。これは奥州市水沢地区の及富おいとみ(江戸時代後期1848年創業)で作られたものです。ドジャーズのチームカラーと自身の出身地をかけて、両方に「ありがとう」と言っているような投稿でした。

大谷翔平 Instagram.jpg
及富の鉄瓶。鮮やかな青が美しい。かつ、伝統的な形ではない斬新なデザインである。

(2024.6.10)



nice!(0) 

No.366 - 高校数学で理解する ChatGPT の仕組み(2) [技術]

\(\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}\)

この記事は、No.365「高校数学で理解する ChatGPT の仕組み(1)」の続きです。記号の使い方、用語の定義、ニューラル・ネットワークの基本事項、単語の分散表現などは、前回の内容を踏まえています。

 
3.Transformer 
 


Attention Is All You Need


Google社は、2017年に "Attention Is All You Need" という論文(以下、"論文" と記述)を発表し、"Transformer" という画期的な技術を提案しました。Transformer は機械翻訳で当時の世界最高性能を発揮し、これが OpenAI 社の GPT シリーズや ChatGPT につながりました。

Attention(アテンション)とは "注意" という意味で、Transformer に取り入れられている "注意機構"(Attetion mechanism)を指します。"Attention Is All You Need" を直訳すると、

 「必要なのはアテンションだけ」

ですが、少々意訳すると、

 「アテンションこそがすべて」

となるでしょう(蛇足ですが、ビートルズの "All You Need Is Love" を連想させる論文タイトルです)。

Transformer を訳すと "変換器" ですが、その名の通り「系列 A から系列 B への変換」を行います。系列 A = 日本語、系列 B = 英語、とすると和文英訳になります。第3章では、この Transformer の仕組みを説明をします。


全体のアーキテクチャ


Transformer のアーキテクチャの全体像が次図です(論文より)。以降、この絵の意味を順に説明します。

図18:Transformer のアーキテクチャ.jpg
図18:Transformer のアーキテクチャ

アーキテクチャを簡略化して書くと次のようになります。以下では「日本語 → 英語の機械翻訳」を例として Transformer の動作を説明します。

図19:アーキテクチャの簡略図.jpg
図19:アーキテクチャの簡略図

左側がエンコーダで、入力された日本語テキストを中間表現(=テキストの特徴を抽出した内部表現)に変換します。右側のデコーダは、中間表現を参照しつつ「次に生成すべき英単語」を推論します。

エンコーダ、デコーダとも、図で「ブロック」と書いた単位を積層した構造です。つまり、1つのブロックの出力が次のブロックへの入力になります。アーキテクチャの絵で「N x」と書いてあるのはその積層の意味(= N 倍)で、積層する数を \(N\) とすると、Transformer では、
 \(N=6\)
です。エンコーダの中間表現は最終ブロックからの出力です。その出力がデコーダの全てのブロックへ伝わります。

訓練
多数の「日本語 \(\rightarrow\) 英語の翻訳データ」を用いて Transformer を訓練するとき、全体がどのように動くかを示したのが次の図です。

図20:Transformerの動作(訓練時).jpg
図20:Transformerの動作(訓練時)

エンコーダには日本語の文(Input)が入力されます。デコーダからの出力は、英文の推論結果(確率)です。これを正しい英文(Output = 教師ラベル)と照らし合わして損失(交差エントロピー誤差)を計算し、誤差逆伝播を行ってニューラル・ネットワークの重みを更新します(前回参照)。デコーダの入力となるのは「右に1語だけずらした Output」です。アーキテクチャの図18 で shifted right と書いてあるのはその意味です。なお、実際に入力されるのは単語ではなくトークンの列です(前回参照)。

推論
訓練を終えた Transformer を使って日本語文を英語文に機械翻訳するときの動きは次図です。

図21:Transformerの動作(推論時).jpg
図21:Transformerの動作(推論時)

エンコーダに日本語のテキストを入力し、中間表現を得ます。これは1回きりです。

デコーダには、生成すべき英語テキストの最初のトークン、[BOS](文の始まりを示す特殊トークン)を入力し、[BOS] の次にくるべきトークンの確率を推論します。最も確率が高いトークンを選ぶと [I] になるはずです。これが1回目の推論(#1)です。

2回目(#2)では [I] を入力し、[I] の次のトークンを推論します([am] となるはずです)。[BOS] から [I] を推論したときの情報はデコーダに残されているので、その部分を再計算する必要はありません。推論のためには、日本語文の全情報(エンコーダの中間表現)と、既に生成した英文([BOS] [I])を参照します。

このようにして順々に英文を生成していき、推論結果が [EOS](文の終了を示す特殊トークン)になるところで、翻訳が終了します。


アーキテクチャの詳細


用語と記号
 トークンの語彙 

トークンの語彙(vocabulary)のサイズ を \(V\) とします。トークンを識別する "トークンID" は \(1\)~\(V\) の数字です。

 系列 

Transformer への入力となるテキストは、Tokenizer でトークンID の列に変換されます。以降、Transformer への入力を "系列(sequece)" と呼びます。

系列はその最大サイズ \(S\) が決まっています(普通、数千程度)。入力が \(S\) より少ない場合、残りのトークンは無効トークン([PAD])としておき、そこの処理は回避するようにします。[PAD] を含めて、系列は長さ \(\bs{S}\) の固定長とします。

 系列\(=\{\:t_1,\:t_2,\:\cd\:,\:t_S\:\}\)
   \(t_i\):トークンID \((1\leq t_i\leq V)\)

Transformer の論文には語彙のサイズと系列のサイズが書いてありませんが、以降の説明では \(V\) と \(S\) を使います。

 分散表現ベクトル 

トークンの分散表現ベクトル(埋め込みベクトル)の次元を \(D\) とします。トークンID が \(t_i\) であるトークンの分散表現を \(\bs{x}_i\) とすると、
 \(\bs{x}_i=\left(\begin{array}{r}x_1&x_2&\cd&x_D\\\end{array}\right)\) \([1\times D]\)
というようになり、系列をベクトル列で表現すると、
 系列\(=\{\:\bs{x}_1,\:\bs{x}_2,\:\cd\:,\:\bs{x}_S\:\}\)
となります。なお、\(D\) 次元ベクトルを、\(1\)行 \(D\)列の配列とし、\([1\times D]\) で表わします(前回参照)。

なお、Transformer では \(D=512\) です。

以降、全体アーキテクチャの図に沿って、各レイヤー(計算処理)の説明をします。以降の説明での \(\bs{x}_i,\:\:\bs{y}_i\) は、

 \(\bs{x}_i\):レイヤーへの入力
  (系列の \(i\) 番目。\(1\leq i\leq S\))
 \(\bs{y}_i\):レイヤーからの出力
  (系列の \(i\) 番目。\(1\leq i\leq S\))

で、すべてのレイヤーに共通です。また、\(D\) 次元ベクトルを \([1\times D]\)、\(S\)行 \(D\)列の行列を \([S\times D]\) と書きます。

埋め込みベクトルの生成
図18a.jpg

このレイヤーの入出力を、

\(\bs{x}_i\): トークンID を one hot ベクトルにしたもの \([1\times V]\)
\(\bs{y}_i\): 埋め込みベクトル \([1\times D]\)

とすると、

 \(\bs{y}_i=\bs{x}_i\cdot\bs{W}_{\large enc}\)
   \([1\times D]=[1\times V]\cdot[V\times D]\)

で表現できます(前回の word2vec 参照)。もちろん、この行列演算を実際にする必要はなく、\(\bs{x}_i\) のトークンID を \(t_i\) とすると、

 \(\bs{y}_i=\bs{W}_{\large enc}\) の \(t_i\) 行

です。\(\bs{W}_{\large enc}\) は Transformer の訓練を始める前に、あらかじめ(ニューラル・ネットワークを用いて)作成しておきます。従って、埋め込みベクトルの作成はテーブルの参照処理(table lookup)です。

位置エンコーディング
図18b.jpg

埋め込みベクトル(分散表現)に、トークンの位置を表す「位置符号ベクトル」を加算します。つまり、

 \(\bs{x}_i\):埋め込みベクトル \([1\times D]\)
 \(\bs{p}_i\):位置符号ベクトル \([1\times D]\)
 \(\bs{y}_i\):位置符号加算ベクトル \([1\times D]\)

とすると、

 \(\bs{y}_i=\bs{x}_i+\bs{p}_i\:\:\:(1\leq i\leq S)\)
   \([1\times D]=[1\times D]+[1\times D]\)

の単純加算です。位置符号ベクトル \(\bs{p}_i\) の要素を次の記号で表します。

 \(p_{t,d}\)
   \(t\) は \(0\) から始まる、トークンの位置
    \((t=i-1,\:\:0\leq t\leq S-1)\)
   \(d\) は \(0\) から始まる、ベクトル内の要素の位置
    \((0\leq d\leq D-1)\)

この \(p_{t,d}\) の値は次のように定義されます。

 \(p_{t,2k}\)\(=\mr{sin}\left(\dfrac{1}{10000^x}\cdot t\right)\)
 \(p_{t,2k+1}\)\(=\mr{cos}\left(\dfrac{1}{10000^x}\cdot t\right)\)

   \((0\leq k < \dfrac{D}{2},\:\:\:x=\dfrac{2k}{D},\:\:\:0\leq x < 1)\)

つまり、\(D=512\) とすると、

 \(d\) が偶数の要素位置では \(\mr{sin}\) 波
  (\(d=0,\:2,\:4,\:\cd\:,510\))
 \(d\) が奇数の要素位置では \(\mr{cos}\) 波
  (\(d=1,\:3,\:5\:\:\cd\:,511\))

で位置符号値を決めます。この \(\mr{sin}/\mr{cos}\)波の波長 λ は

 λ\(=2\pi\cdot10000^x\)

であり、\(0\leq d < D\) の範囲で、

 \(2\pi\leq\)λ\( < 2\pi\cdot10000\)

となります。この \(\mr{sin}/\mr{cos}\) 波を図示してみます。グラフをわかりやすくするために、\(D=512\) ではなく、
 \(D=32\)
とし、ベクトルの要素 \(32\)個のうちの最初の6つ、
 \(d=0,\:1,\:2,\:3,\:4,\:5\)
だけのグラフにします。グラフの
 ・横軸はトークンの位置 \(t\)
 ・縦軸は位置符号ベクトルの要素 \(p_{t,d}\)
です。

図22:位置符号値を計算するための正弦・余弦波.png
図22:位置符号値を計算するための正弦・余弦波
図の黒丸は、\(t=3\) の位置符号ベクトルの、要素\(0\)~要素\(5\)(\(0\leq d\leq5\))を示す。

具体的に \(t=3\) のときのベクトルの要素 \(p_{3,d}\:\:(0\leq d\leq31)\) の \(0\leq d\leq5\) の部分を書いてみると、

  \(p_{3,0}=\phantom{-}0.1411\)
  \(p_{3,1}=-0.9900\)
  \(p_{3,2}=\phantom{-}0.9933\)
  \(p_{3,3}=-0.1160\)
  \(p_{3,4}=\phantom{-}0.8126\)
  \(p_{3,5}=\phantom{-}0.5828\)

となります(図22)。


言うまでもなく、言語モデルにとってトークンの位置はきわめて重要な情報です。位置をバラバラにすると意味をなさないテキストになるし、Bob loves Alice と Alice loves Bob では意味が逆です。従って、何らかの手段で「トークンの位置を考慮したモデル化」をしなければならない。

 \(\bs{y}_i=\bs{x}_i+\bs{p}_i\:\:\:(1\leq i\leq S)\)

の式で、\(\bs{x}_i\) は「単語埋め込み」のアルゴリズムで作られ、似たような単語/トークンは類似したベクトルになります(前回参照)。それに対し \(\bs{p}_i\) の \(\mr{sin}/\mr{cos}\) 波は、言語処理とは全く無関係な数学の産物です。従って、加算結果である \(\bs{y}_i\) がどのような「意味」をもつベクトルなのか、説明しようとしても無理でしょう。全く異質なものの足し算をしているのだから ・・・・・・。それでいて、このやり方で全体として成り立つのが驚きです。

Transformer より以前の機械翻訳では、トークンの出現順に逐次処理をするアーキテクチャでした。つまり、1つのトークンの処理結果を利用しながら次のトークンを処理するという逐次処理によって、並び順に意味があるという言語の特質を捕らえていました。

それに対し、位置エンコーディングを取り入れた Transformer では、逐次処理の必要性がなくなり、系列のトークン全部の並列処理が可能になりました。この結果、同一計算の超並列処理ができる GPU(数千並列が可能) をフルに活用することで、実用的な大規模言語モデルが構築できるようになったわけです。位置エンコーディングにはそういう意味があります。


なお Transformer の論文にも書いてあるのですが、位置符号ベクトルを \(\mr{sin}/\mr{cos}\) 波のような「決めうち」で作らないで、「学習可能なパラメータ」としておき、Transformer を訓練する過程で決めるやり方があります。位置符号ベクトルを学習で決めるわけです。GPT はこの方法をとっています。

Single Head Attention : SHA
図18c.jpg

アテンション・レイヤー(Multi Head Attention : MHA)の説明をするために、まず "Single Head Attention : SHA" の処理論理を説明します。Transformer で実際に使われている MHA は、以下に説明する SHA の拡張版で、核となるアルゴリズムは同じです。

SHAの入出力は、それぞれ \(S\)個の \(D\)次元ベクトルであり、

 入力 \(\bs{x}_i\:\:[1\times D]\:\:(1\leq i\leq S)\)
 出力 \(\bs{y}_i\:\:[1\times D]\:\:(1\leq i\leq S)\)

ですが、系列の全体を1つの行列で表すことができます。1つのベクトルを行列の1行として、それを縦方向に \(S\)個並べて行列を作ります。つまり、

 入力 \(\bs{X}\:\:[S\times D]\) (\(i\) 番目の行が \(\bs{x}_i\))
 出力 \(\bs{Y}\:\:[S\times D]\) (\(i\) 番目の行が \(\bs{y}_i\))

とすると SHA は、

 \(\bs{Y}=\mr{SHA}(\bs{X})\)

と書けます。アテンションの処理では、まず入力ベクトル \(\bs{x}_i\) を、

 ◆クエリ・ベクトル \(\bs{q}_i\)(query:問合わせ)
 ◆キー・ベクトル \(\bs{k}_i\)(key:鍵)
 ◆バリュー・ベクトル \(\bs{v}_i\)(value:値)

の組、( \(\bs{q}_i,\:\:\bs{k}_i,\:\:\bs{v}_i\) )に変換します。変換式は次の通りです。

\(\bs{q}_i=\bs{x}_i\cdot\bs{W}_Q\:\:\:(1\leq i\leq S)\)

\(\bs{k}_i=\bs{x}_i\cdot\bs{W}_K\:\:\:(1\leq i\leq S)\)

\(\bs{v}_i=\bs{x}_i\cdot\bs{W}_V\:\:\:(1\leq i\leq S)\)

  \([1\times D]=[1\times D]\cdot[D\times D]\)

ここで、\(\bs{W}_Q,\:\:\bs{W}_K,\:\:\bs{W}_V\) は学習で決まる変換行列です。系列全体についての Query/Key/Value(\(QKV\))を行列の形で表すと、

\(\bs{Q}=\bs{X}\cdot\bs{W}_Q\)

\(\bs{K}=\bs{X}\cdot\bs{W}_K\)

\(\bs{V}=\bs{X}\cdot\bs{W}_V\)

  \([S\times D]=[S\times D]\cdot[D\times D]\)

となります。SHA レイヤーからの出力、\(\bs{y}_i\:\:[1\times D]\) は、\(S\)個のバリュー・ベクトル \(\bs{v}_j\:\:(1\leq j\leq S)\) の "重み付き和" (加重和)で求めます。加重和に使う重み、\(\bs{w}_i\:\:[1\times S]\) は次のように計算されます。

まず、クエリ・ベクトル \(\bs{q}_i\) とキー・ベクトル \(\bs{k}_j\:\:(1\leq j\leq S)\) の "スケール化内積(scaled dot product)" を計算し、\(S\)個のスカラー値を求めます。スケール化内積(\(\mr{SDP}\) と記述します)とは、2つの \(D\)次元ベクトル \(\bs{a}\) と \(\bs{b}\) の場合、

 \(\mr{SDP}(\bs{a},\bs{b})=\dfrac{1}{\sqrt{D}}\bs{a}\bs{b}^T\)
   \([1\times1]=[1\times D]\cdot[D\times1]\)

で定義されます。つまり、一般の内積(=スカラー値)を「ベクトルの次元数の平方根」で割ったものです。

\(\bs{q}_i\) と \(\bs{k}_j\:\:(1\leq j\leq S)\) のスケール化内積を順番に \(S\)個並べたベクトルを \(\bs{s}_i\:\:[1\times S]\) と書くと、スケール化内積の定義によって、

 \(\bs{s}_i=\dfrac{1}{\sqrt{D}}\bs{q}_i\bs{K}^T\)
   \([1\times S]=[1\times D]\cdot[D\times S]\)

です。そして、加重和を求めるときの重み \(\bs{w}_i\) は、

 \(\bs{w}_i=\mr{Softmax}(\bs{s}_i)\)
   \([1\times S]=\mr{Softmax}([1\times S])\)

とします。この \(S\)次元の重みベクトルを使って、\(S\)個のバリュー・ベクトル \(\bs{v}_j\:\:(1\leq j\leq S)\) の加重和をとると、出力ベクトル \(\bs{y}_i\) は、

 \(\bs{y}_i=\bs{w}_i\cdot\bs{V}\)
   \([1\times D]=[1\times S]\cdot[S\times D]\)

となります。以上の計算プロセスを一つの式で書いてしまうと、

\(\bs{y}_i=\mr{Softmax}\left(\dfrac{1}{\sqrt{D}}\bs{q}_i\cdot\bs{K}^T\right)\cdot\bs{V}\)

   \([1\times D]=\mr{Softmax}([1\times D]\cdot[D\times S])\cdot[S\times D]\)

です。従って、SHA からの出力ベクトル \(\bs{y}_i\) を縦方向に並べた行列 \(\bs{Y}\) は、

 \(\bs{Y}=\mr{Softmax}\left(\dfrac{1}{\sqrt{D}}\bs{Q}\cdot\bs{K}^T\right)\cdot\bs{V}\)

   \([S\times D]=\mr{Softmax}([S\times D]\cdot[D\times S])\cdot[S\times D]\)

と表すことがきます。この表記で \(\mr{Softmax}\) 関数が作用するのは \([S\times S]\) の行列ですが、\(S\)個の行ごとに \(\bs{\mr{Softmax}}\) を計算します。

単なる内積ではなく「スケール化内積」を使う理由ですが、2つのベクトルの内積は、要素同士のかけ算を次元数 \(D\) 個だけ加算したものです。従って、ベクトル \(\bs{s}_i\) を、シンプルな内積を使って、

 \(\bs{s}_i\:=\bs{q}_i\cdot\bs{K}^T\)

のように定義し、重み \(\bs{w}_i\) を、

 \(\bs{w}_i=\mr{Softmax}(\bs{s}_i)\)

で求めると、\(D\) が大きいと \(\bs{s}_i\) の要素が大きくなり、その結果として \(\bs{w}_i\) はゼロに近いところに多くの要素が集まるようになります。これは \(\mr{Softmax}\) 関数の性質によります(前回参照)。こうなると勾配消失が起きやすくなり、訓練が収束しづらくなります。そのため「スケール化」するというのが論文の説明です。

もちろん、幾多の試行錯誤があり、その結果として決まったのが「スケール化内積で加重和の重みを計算する」というやり方だったのでしょう。


以上の計算でわかるように、注意機構(Attention machanism)とは、あるトークンを処理するときに、注意を向けるべきトークンと注意の強さを決め(それ自体が学習で決まる)、注意を向けた先の情報を集めてきて集積するものです。

しかも、注意機構は6層(\(N=6\)) に重ねられています。ということは、階層的な(多段階の) "注意の向け方" ができることになります。また、言語における単語と単語の関係性は多様です。動作\(\cdot\)動作主体、修飾\(\cdot\)被修飾、指示代名詞と指示されるもの(照応関係)など多岐に渡ります。それらのさまざまなタイプの関係性を、Transformer の訓練を通して、多層の注意機構が自動的に把握すると考えられるのです。

MHA : Multi Head Attention
SHA では、入力ベクトル \(\bs{x}_i\) から、1組の Query/Key/Value(\(QKV\)) ベクトルを抽出しましたが、Transformer で実際に使われているのは、

① 1つの入力ベクトル \(\bs{x}_i\) から、複数組の違った \(\bs{QKV}\) ベクトルを抽出し、
② それぞれについて独立に SHA と同等のアテンション処理をし、
③ 処理結果を単純結合(Concatenation)し、
④ 最後に線型変換をして出力ベクトルに \(\bs{y}_i\) する

という処理です。これを Multi Head Attention : MHA と呼びます。この「それぞれについてのアテンション処理」のことを "head(ヘッド)" と言います。複数の head なので Multi Head です。このヘッドの数を \(H\) とし、

 \(d=\dfrac{D}{H}\) (\(D\) は入出力ベクトルの次元)

とします(\(H\) は \(d\) が整数になるように選びます)。このとき、

\(\bs{x}_i\:\:[1\times D]\) から抽出される(複数組の)\(QKV\) ベクトルの次元はすべて \([1\times d]\)

です。つまり MHA は「複数の特徴を抽出し(一つの情報量は SHA より少ない)、それぞれの特徴について 独立した "注意機構" を働かせ、最後に統合してまとめる」仕組みです。なお、Transformer では、
 \(H=8\)
 \(d=\dfrac{D}{H}=\dfrac{512}{8}=64\)
です。

\(h\) 番目のヘッド \((1\leq h\leq H)\) に着目し、"注意機構" の計算プロセスを式で書くと、次のようになります。まず、\(h\) 番目のヘッドの \(QKV\) ベクトルの計算は、

\(\bs{q}_i^h=\bs{x}_i\cdot\bs{W}_Q^h\:\:\:(1\leq i\leq S,\:\:1\leq h\leq H)\)

\(\bs{k}_i^h=\bs{x}_i\cdot\bs{W}_K^h\:\:\:(1\leq i\leq S,\:\:1\leq h\leq H)\)

\(\bs{v}_i^h=\bs{x}_i\cdot\bs{W}_V^h\:\:\:(1\leq i\leq S,\:\:1\leq h\leq H)\)

  \([1\times d]=[1\times D]\cdot[D\times d]\)

です。系列全体について、\(h\) 番目のヘッドの \(QKV\) を行列の形で表すと、

\(\bs{Q}^h=\bs{X}\cdot\bs{W}_Q^h\)

\(\bs{K}^h=\bs{X}\cdot\bs{W}_K^h\)

\(\bs{V}^h=\bs{X}\cdot\bs{W}_V^h\)

  \([S\times d]=[S\times D]\cdot[D\times d]\)

です。\(h\) 番目のヘッドのアテンション処理は、SHA の場合と同様で、

\(\bs{y}_i^h=\mr{Softmax}\left(\dfrac{1}{\sqrt{d}}\bs{q}_i^h\cdot(\bs{K}^h)^T\right)\cdot\bs{V}^h\)

  \([1\times d]=\mr{Softmax}([1\times d]\cdot[d\times S])\cdot[S\times d]\)

となり、これを系列全体での表現にすると、

\(\bs{Y}^h=\mr{Softmax}\left(\dfrac{1}{\sqrt{d}}\bs{Q}^h\cdot(\bs{K}^h)^T\right)\cdot\bs{V}^h\)

  \([S\times d]=\mr{Softmax}([S\times d]\cdot[d\times S])\cdot[S\times d]\)

となります。行列 \(\bs{Y}^h\) は、\(h\) 番目のヘッドの出力ベクトル \(\bs{y}_i^h\:\:[1\times d]\) を、系列の数だけ縦に並べた行列です。


系列の \(i\) 番目の入力 \(\bs{x}_i\) に対する \(H\) 個の出力ベクトル

 \(\bs{y}_i^h\:\:[1\times d]\:\:(1\leq h\leq H)\)

が求まったところで、これら \(H\) 個を単純結合して(=順に並べる)一つのベクトルにし、さらに Linear 変換をして最終出力にします。変換に使う行列は \(\bs{W}_O\:\:[D\times D]\) です。

\(\bs{y}_i=\mr{Concat}(\bs{y}_i^1,\:\bs{y}_i^2,\:\cd,\:\bs{y}_i^H)\cdot\bs{W}_O\)

\(\begin{eqnarray} &&\:\: [1\times D]&=\mr{Concat}([1\times d],\:\cd\:)\cdot[D\times D]\\ &&&=[1\times D]\cdot[D\times D]\\ \end{eqnarray}\)

Linear 変換は直前の単純結合(Concatenation)とセットになっています。つまり、ヘッドの順序を表す \(h\:\:(1\leq h\leq H)\) という数字には、"注意機構" における何らかの意味があるわけではありません。単にアテンション処理を \(H\) 個に分けた \(h\) 番目というだけです。従って、順に単純結合する、

 \(\mr{Concat}(\bs{y}_i^1,\:\bs{y}_i^2,\:\cd,\:\bs{y}_i^H)\)

という操作の「結合順序」には意味が無いことになります。そこで結合した後で、学習可能なパラメータ \(\bs{W}_O\) で線型写像を行って、最適な出力ベクトルを求めるわけです。


エンコーダの MHA は、エンコーダ内に閉じたアテンションで、これを「自己アテンション」(Self Attention)と言います。一方、デコーダ側には自己アテンションの他に、エンコーダとデコーダにまたがるアテンションがあります。これを Source Target Attention と言います。このアテンションは、

・ クエリは、デコーダ側のベクトルから生成し、
・ キーとバリューは、エンコーダ側のベクトルから生成

します。これによってエンコーダからデコーダ側への情報の流れを作ります。日本語 → 英語の機械翻訳の場合だと、次に生成すべき英単語に関連して「注意を向けるべき日本語のトークンと、その注意の量」がここで決まります。


Multi Head Attention において、1つのベクトルから複数の \(QKV\) を取り出すことの意味は、おそらくトークンの「多義性」でしょう。その例ですが、英語で fine という語の代表的な意味を4つあげるとしたら、たとえば、

 fine :
  (1) 素晴らしい
  (2) 晴れた
  (3) 細かい
  (4) 罰金

です(例です。(1) (2) は同類の意味)。単語の埋め込みベクトルは、似たような(あるいは同一ジャンルの)語は類似している(= コサイン類似度が 1 に近い)わけです(前回参照)。とすると、(1)~(4) の同一ジャンルの言葉は、それぞれ、

  (1) good, excellent, ・・・・・・
  (2) cloudy, rainy, ・・・・・・
  (3) tiny, small, coarce, ・・・・・・
  (4) penalty, guilty, ・・・・・・

などとなるはずです。fine がこれら4つのジャンルと類似性があるということは、fine の埋め込みベクトルおいて4つの意味が物理的に分散して配置されていると考えられます。さらにイタリア語まで考えると、

 fine :
  (5) 終わり

が加わります(イタリア映画の最後に出てくる語、ないしは音楽用語)。埋め込みベクトルは言語ごとに作るわけではないので、fine のベクトルはあくまで1つです。ということは、埋め込みベクトルには(この例では)5つの意味が分散して配置されているはずです。

この状況は、埋め込みベクトルから複数の \(QKV\) ベクトルを取り出し、それぞれについて独立したアテンション計算をするというアルゴリズムがマッチしていると考えられるのです。


Add & Norm


図18d.jpg

アーキテクチャの絵で5カ所にある「Add & Norm」は、ベクトルごとに「残差結合」と「レイヤー正規化」を行うレイヤーです(詳細は前回参照)。図で表すと以下です。

図23:残差結合とレイヤー正規化.jpg
図23:残差結合とレイヤー正規化

計算式は次のようになります。系列の \(i\) 番目を示す \(\bs{x}_i,\:\:\bs{y}_i\) の \(i\) は省略します。

 \(\bs{y}=\mr{LayerNormalization}(\bs{x})\)

\(\begin{eqnarray}
&&\:\:  \bs{x}=\{\:x_1, &x_2, &\cd\:, &x_D\:\}\\
&&\:\:  \bs{y}=\{\:y_1, &y_2, &\cd\:, &y_D\:\}\\
\end{eqnarray}\)

 \(x_k\:\:(1\leq k\leq D)\) の平均 : \(\mu\)
  \(\mu=\dfrac{1}{D}\displaystyle\sum_{k=1}^{D}x_k\)

 \(x_k\:\:(1\leq k\leq D)\) の標準偏差 : \(\sg\)
  \(\sg=\sqrt{\dfrac{1}{D}\displaystyle\sum_{k=1}^{D}(x_k-\mu)^2}\)

とおくと、

\(\bs{y}=\dfrac{1}{\sg}\bs{g}\odot(\bs{x}-\mu)+\bs{b}\)

  \([1\times D]=[1\times D]\odot[1\times D]+[1\times D]\)

です。ここで \(\bs{g}\) と \(\bs{b}\) は学習で決まるベクトル(=パラメータ)です。


Feed Forward Network


図18e.jpg

ベクトルごとに処理される、2層の全結合ニューラル\(\cdot\)ネットワークです。第1層の活性化関数は \(\mr{ReLU}\) で、第2層(出力層)には活性化関数がありません。3つのレイヤーで表現すると次の通りです。

図24:Feed Forward Network.jpg
図24:Feed Forward Network

ニューロンの数(=ベクトルの次元)は、
 入力層:\(D\)
 第1層:\(D_{ff}=4\times D\)
 出力層:\(D\)
です。計算を式で表すと(系列の \(i\) 番目を示す \(\bs{x}_i,\:\:\bs{y}_i\) の \(i\) は省略)、

 \(\bs{y}=\mr{ReLU}(\bs{x}\bs{W}_1+\bs{b}_1)\cdot\bs{W}_2+\bs{b}_2\)

です。第1層の次元を入力\(\cdot\)出力層の4倍にとるのは、そのようにするのが Transformer の性能(たとえば、翻訳文の質)が最も向上するからです。GPT-3、ChatGPT も踏襲しています。

Masked Multi Head Attention
図18f.jpg

デコーダ側にある Masked Multi Head Attention の説明をします。系列のトークンの列を、

 \(\{\:\bs{x}_1,\:\cd\:,\:\bs{x}_{t-1},\:\bs{x}_t,\:\bs{x}_{t+1},\:\cd\:,\:\bs{x}_S\:\}\)

とし、いま \(\bs{x}_t\) に着目しているとします。

 \(\bs{x}_i\:\:\:(1\leq i\leq t)\:\longrightarrow\) 過去のトークン
 \(\bs{x}_i\:\:\:(t < i\leq S)\:\longrightarrow\) 未来のトークン

と呼ぶことにします。着目しているトークンを基準に、系列でそれ以前のトークンが「過去」、次以降のトークンが「未来」です。

日本語から英語に翻訳する Transformer を例にとると、デコーダの推論時には、英文のトークンを一つずつ推論していきます。つまり、

 [BOS] \(\longrightarrow\) [I]
 [BOS] [I] \(\longrightarrow\) [am]
 [BOS] [I] [am] \(\longrightarrow\) [a]
 [BOS] [I] [am] [a] \(\longrightarrow\) [cat]
 [BOS] [I] [am] [a] [cat] \(\longrightarrow\) [EOS]

といった具合です(図21)。このときの各ステップにおけるアテンション処理は、当然ですが、末尾のトークンから生成済みのトークン(=過去のトークン)に対して行われます。つまり「トークンが注意を向ける先は常に過去のトークン」です。「すでに生成済みのトークンの情報だけから次にくるトークンを推論する」のがデコーダなので、これは当然です。

一方、デコーダの訓練時のことを考えると、

(入力データ)[BOS] [I] [am] [a] [cat]
      
(教師ラベル)[I] [am] [a] [cat] [EOS]

で(図20)、入力データとしては系列のトークンが全部与えられています。しかしここで未来のトークンに注意を向けてしまうと、推論時との不整合が起きてしまいます。そこで

未来のトークンには注意を向けない。自分自身を含む過去のトークンにだけ注意を向ける

という配慮が、デコーダ側のアテンション処理では必要になります。この配慮をした注意機構が Masked Multi Head Attention です。一方、エンコーダ側では、訓練時も推論時も、

 [我が輩] [は] [猫] [で] [ある]

という系列が一括して与えられるので(図20、図21)、未来のトークンに注意を向けても問題ありません。またデコーダ側からエンコダー側に注意を向けるのもかまいません。

この「過去のトークンにだけ注意を向ける」ことを数式で表現するには、\([S\times S]\) のマスク行列、\(\bs{M}\) を次のように定義します。

 \(\bs{M}=\left(\begin{array}{c}
0&\phantom{0}&\phantom{0}&\phantom{0}&\phantom{0}\\
\phantom{0}&\large\ddots&\phantom{0}&\huge\textrm{-}\infty&\phantom{0}\\
\phantom{0}&\phantom{0}&0&\phantom{0}&\phantom{0}\\
\phantom{0}&\huge0&\phantom{0}&\large\ddots&\phantom{0}\\
\phantom{0}&\phantom{0}&\phantom{0}&\phantom{0}&0\\
\end{array}\right)\)  \([S\times S]\)

このマスク行列は、
・ 対角項:\(0\)
・ 行列の左下(行番号\( > \)列番号):\(0\)
・ 行列の右上(行番号\( < \)列番号):\(-\infty\)
です。これを、アテンションの計算式の \(\mr{Softmax}\) 関数の内側に足し込みます。\(h\) 番目のヘッドに着目したアテンションの計算式は、

\(\bs{Y}^h=\mr{Softmax}\left(\dfrac{1}{\sqrt{d}}\bs{Q}^h\cdot(\bs{K}^h)^T\right)\cdot\bs{V}^h\)

  \([S\times d]=\mr{Softmax}([S\times d]\cdot[d\times S])\cdot[S\times d]\)

でした。これに \(\bs{M}\) を足し込むと、

\(\bs{Y}^h=\mr{Softmax}\left(\dfrac{1}{\sqrt{d}}\bs{Q}^h\cdot(\bs{K}^h)^T+\bs{M}\right)\cdot\bs{V}^h\)

  \([S\times d]=\mr{Softmax}([S\times d]\cdot[d\times S]+[S\times S])\cdot[S\times d]\)

となります。\(\mr{Softmax}\) 関数は、ベクトル(上式では行列の1行)の各要素の \(\mr{exp}()\) をとります。従って、要素が \(-\infty\) だと \(\mr{exp}(-\infty)=0\) となり、\(\mr{Softmax}\) 関数にとってはその要素が無いのと同じことになります。

上式の \(\mr{Softmax}\) 関数の内側は \([S\times S]\) の行列ですが、縦方向が系列全体のクエリ・ベクトルに対応し、横方向が系列全体のキー・ベクトルに対応しています。そのため、マスク行列を足し込むと、アテンション処理において過去のトークンだけに注意が行き、未来のトークンには注意が行かない(=結果としてバリュー・ベクトルが加重和されない)ようになるのです。

こうして求めた行列 \(\bs{Y}^h\) の \(i\) 行目をベクトル、

 \(\bs{y}_i^h\:\:[1\times d]\:\:(1\leq h\leq H)\)

とすると、これ以降の処理はマスク行列がない場合と同じです。つまり \(H\) 個のベクトル \([1\times d]\) を単純結合して一つのベクトル \([1\times D]\) にし、さらに Linear 変換をしてアテンション処理からの最終出力にします。

 \(\bs{y}_i=\mr{Concat}(\bs{y}_i^1,\:\bs{y}_i^2,\:\cd,\:\bs{y}_i^H)\cdot\bs{W}_O\)

\(\begin{eqnarray}
&&\:\: [1\times D]&=\mr{Concat}([1\times d],\:\cd\:)\cdot[D\times D]\\
&&&=[1\times D]\cdot[D\times D]\\
\end{eqnarray}\)

わざわざ \(\mr{exp}(-\infty)\) を持ち出してマスク行列を使うのは、話をややこしくするだけのようですが、マスク行列を使った Masked Multi Head Attention の計算式を見ると、線型変換と \(\mr{Softmax}\) 関数だけからできています。ということは、「過去のトークンだけに注意を向けるアテンション計算は微分可能」であり、誤差逆伝播の計算が成り立つことがわかります。

確率生成
図18g.jpg

Transformerのデコーダの最終部分は、推論結果である \(D\) 次元のベクトルを、語彙集合の中での確率ベクトルに変換する部分です。計算式で書くと、

 \(\bs{y}=\mr{Softmax}(\bs{x}\cdot\bs{W}_{\large dec})\)
  \([1\times V]=\mr{Softmax}([1\times D]\cdot[D\times V])\)

です(系列の \(i\) 番目を示す \(\bs{x}_i,\:\:\bs{y}_i\) の \(i\) は省略)。\(\bs{W}_{\large dec}\) は、前回の word2vec のところに出てきた、\(D\)次元の埋め込みベクトルを \(V\) 次元の確率ベクトルに変換する行列です。


以上で Transformer のアーキテクチャの説明は終わりですが、全体を振り返ると、

アテンションだけが系列全体に関わる処理であり、あとはすべてベクトル(トークン)ごとの処理である

ことがわかります。以降は、この中で鍵となる「アテンション」と「Feed Foward Network」についての補足です。


アテンションの意義


一般のニューラル・ネットワークにおいて、隣合った2つの層、\(\bs{x}\) と \(\bs{y}\) が同じニューロン数 \(D\) だとします。活性値を、

\(\begin{eqnarray}
&&\:\:\bs{x}=\{x_1, &x_2, &\cd\:,&x_D\}\\
&&\:\:\bs{y}=\{y_1, &y_2, &\cd\:,&y_D\}\\
\end{eqnarray}\)

とし、重み行列を \(\bs{W}\)、バイアスはなし、活性化関数を \(\mr{ReLU}\) とするると、

 \(\bs{y}=\mr{ReLU}(\bs{x}\cdot\bs{W})\)

です。重み \(\bs{W}\) は誤差逆伝播法による訓練で決まり、推論時には一定の値です。Transformer のアテンション機構もこれと似ています。アテンションは、

 入力ベクトル列 :\(\bs{x}_i\:\:\:(1\leq i\leq S)\)
 出力ベクトル列 :\(\bs{y}_i\:\:\:(1\leq i\leq S)\)

の間の変換をする機構だからです。ニューラル\(\cdot\)ネットワークの活性値(実数値)がベクトルに置き換わったものと言えます。ヘッドが1つの場合(Single Head Attension)で図示すると、次の通りです。

図25:注意機構.jpg

図25:注意機構
ヘッドが1つの場合の計算処理である。ヘッドが複数の場合も本質は同じで、この計算処理を独立して複数個行ない、結果を結合して出力とする。

しかし、この図は一般のニューラル\(\cdot\)ネットワークとは決定的に違います。重み行列 \(\bs{W}_Q,\:\:\bs{W}_K,\:\:\bs{W}_V\) は推論時には一定ですが、実際に \(\bs{x}_i\) と \(\bs{y}_i\) の関係性を決めているのは、クエリ・ベクトル \(\bs{Q}\) とキー・ベクトル \(\bs{K}\) であり、これは入力ベクトル列 \(\bs{x}_i\) の内容にもろに依存しているからです。つまり、

注意機構により、ネットワークの "ありよう"(結合状態と結合強度)が、入力データの内容に依存して、ダイナミックに変化する

と言えます。\(\bs{x}_1\) の値を変えると、その影響は \(\bs{y}_i\:\:(1\leq i\leq S)\) の全体に及びます。それは、「\(x_1\) を変えると \(y_i\) の全部が変わる」という一般のニューラル\(\cdot\)ネットワークと同じではありません。一般のニューラル\(\cdot\)ネットワークを関数とみなすと、「関数は一定だが、入力が変わるから出力も変わる」のです。それに対して注意機構は「入力が変わると関数の形まで変わる」とみなすことができるでしょう。もちろん、実際には図25のように関数は一定なのですが、一般のニューラル\(\cdot\)ネットワークとの比較で言うと、そうみなせるということです。

この柔軟性とダイナミックな(動的な)性格が、Transformer に大きなアドバンテージをもたらしました。次章の GPT-3 / ChatGPT が実現している「本文中学習(In Context Learning)」はその一つです。ChatGPT では、プロンプトを変える、ないしは文言を追加すると、応答が大きく変わることがあります。また、欲しい応答の表現形式を例示したプロンプトをすると、その形式どおりのに応答がきたりします。あたかも、プロンプトからその場で学んだように見えるのが In Context Learning です。しかし、ニューラル・ネットワークのパラメータは、推論時にはあくまで一定であり、決してその場で学んでいるわけではありません。この "あたかも" を作り出しているのが "注意機構"です。


Feed Forward Network の意味


Transformer のアーキテクチャは、注意機構の後ろに Feed Forward Network(FFN) が接続され、このペアが多層に積み重ねられています。この FFN の意味は何でしょうか。

FFN は、注意機構と違ってベクトルごとの処理です。論文では "Position-wise(位置ごとの)Feed Forward Network" と書いてあります。ということは、系列の文脈には依存しないということです。つまり Transformer の訓練を通して、ベクトル(トークンの中間表現)が本来持っている性格や関連情報が、FFN の重みの中に蓄えられると考えられます。AI の専門家である、プリファードネットワークス社の共同創業者の岡野原大輔氏は、著書の『大規模言語モデルは新たな知能か』の中で次のように書いています。


トランスフォマーは、自己注意機構と MLP ブロックと呼ばれる単位を交互に重ねていき、データを処理するモデルである。

MLP ブロックは、三層の全結合層(前の層のすべてのニューロンが次の層のすべてのニューロンとつながっている)とよばれる層を使った多重パーセプトロン(Multi-Layer Perceptron)とよばれるニューラルネットワークを使ったブロックであり、自己注意機構で集めた情報ををもとにそれを変換する部分である。

しかし、MLP ブロックは実は、学習中に出会った情報を保存しておき、今処理している内容と関係しそうな情報を読み出して処理している長期記憶に対応する部分だとみなすことができる。どの情報を保存し、どの情報とどの情報を関連づける(記憶でいえば想起する)のかを判断する機能が、あくまで次の単語を予測できるようにするという目的を達成するための重みを修正する過程で、自動的に実現される。その結果、今後必要そうな情報を記憶し、またそれを必要に応じて読みだすことができる。

岡野原 大輔 
「大規模言語モデルは新たな知能か」
(岩波書店 2023)

岡野原氏が「多重パーセプトロン(Multi-Layer Perceptron : MLP)と書いているのは FFN のことです。ちなみに入力層(第0層)を含めて「三層」という言い方になっています。


ここで、FFN のパラメータ数を求めてみます。バイアスを無視すると、

 \(\bs{W}_1\:\:[D\times D_{ff}]\)
 \(\bs{W}_2\:\:[D_{ff}\times D]\)
  \(D\) : 埋め込みベクトルの次元
  \(D_{ff}=4D\)

なので、

 FFN のパラメータ数\(=8D^2\)

です。一方、Multi Head Attention で、
 \(H\) : ヘッドの数
 \(d=\dfrac{D}{H}\)
とすると、\(h\)番目のヘッドの \(QKV\) を作る行列は、

 \(\bs{W}_Q^h\) \([D\times d]\)
 \(\bs{W}_K^h\) \([D\times d]\)
 \(\bs{W}_V^h\) \([D\times d]\)

であり、これらを足すとパラメータ数は \(3Dd\) ですが、この組が \(H\) セットあるので、合計は \(3DdH=3D^2\) です。さらに、単純結合したあとの Linear 変換行列である、

 \(\bs{W}_O\) \([D\times D]\)

が加わるので、結局、

 MHA のパラメータ数\(=4D^2\)

です。ということは、

 FFN のパラメータ数は、MHA のパラメータ数の2倍

ということになります。パラメータ数だけの単純比較はできませんが、FFN が極めて多い情報量=記憶を持っていることは確かでしょう。それが、大量の訓練データの中から関連する情報を記憶し、また推論時にそれを想起することを可能にしています。

論文のタイトルは "Attention Is All You Need" で、これは従来の機械翻訳の技術では補助的役割だった Attention を中心に据えたという意味でしょう。しかし技術の内実をみると、決して「アテンションがすべて」ではなく「アテンション機構と多重パーセプトロンの合わせ技」であり、しかもそれを多層に重ねたのが Transformer なのでした。

前回でニューラル・ネットワークの例とした多重パーセプトロンは、ニューラル・ネットワークの研究の歴史の中で最も由緒あるもので、1980年代に盛んに研究されました。それが、2010年代半ばから研究が始まった "アテンション機構" と合体して Transformer のアーキテクチャになり、さらには ChatGPT につながったのが興味深いところです。

 
4.GPT-3 と ChatGPT 
 

OpenAI 社は、GPT(2018)、GPT-2(2019)、GPT-3(2020)、ChatGPT(2022)と発表してきましたが、技術内容が論文で公開されているのは GPT-3 までです。また、ChatGPT の大規模言語モデルは GPT-3 と同じ仕組みであり、大幅に学習を追加して一般公開できるようにしたのが ChatGPT です。ここではまず GPT-3 の仕組みを説明します。

GPT-3 のアーキテクチャ
GPT は Generative Pre-trained Transformer の略です。generative とは "生成型の"、pre-trained は ""事前学習済の" という意味で、Transformer は Google が 2017年に提案した Transformer を指します。

訳すると "事前学習済の生成型トランスフォーマー" となるでしょう。Transformer は「変換器」という意味でした。とすると「生成型の変換器」とは言葉が矛盾しているようですが、実は GPT は Transformer のアーキテクチャのデコーダ部分だけを使った大規模言語モデルです。だから「生成型変換器」なのです(下図)。

図18h.jpg
GPT は上図の Transformer のアーキテクチャから赤枠の部分のみを使っている。

この「デコーダ部分だけを使う」という発想が、OpenAI の技術者の慧眼でした。デコーダだけで系列変換(機械翻訳、文章要約、質問応答、・・・・・・ )ができるはず、という発想が GPT に柔軟性と大きな能力を与えました。GPT-3 のアキテクチャーは以下のようです。

図26:GPT-3 のアーキテクチャ.jpg
図26:GPT-3 のアーキテクチャ

このアキテクチャーは、Transformer から「エンコーダとエンコーダ関連部分」を取り去ったものです。ただし、次が違います。

① Position Encoding における位置符号ベクトルは、学習で決まるパラメータとします。Transformer では固定的な \(\mr{sin}/\mr{cos}\) 波でした。

② レイヤー正規化を Masked Multi Head Attetion と Feed Forward Network の直前に行います。Transformer では、それぞれの後にレイヤー正規化が配置されていました。

③ Feed Forward Network の活性化関数は \(\mr{GELU}\) を使います。Transformer では \(\mr{ReLU}\)です(\(\mr{GELU}\) については前回参照)。

これらはいずれも、学習の安定化と高速化のための工夫です。さらに GPT-3 は Transformer に比べてモデルの規模が大きく拡大されています。

 ・埋め込みベクトルの次元 \(D=12288\)
    \((\)Transformer \(:\:512\) の \(24\)倍\()\)
 ・デコーダブロックの積層数 \(N=96\)
    \((\)Transformer \(:\:6\) の \(16\)倍\()\)
 ・アテンションのヘッドの数 \(H=96\)
    \((\)Transformer \(:\:8\) の \(12\)倍\()\)

です。大規模言語モデルでは、モデルの規模と学習量の拡大を続けると、それにともなって性能(たとえば機械翻訳の精度)が上がり続けるという「スケール則」がみられました。これは一般の深層学習のニューラル\(\cdot\)ネットワークにはない特徴です。このスケール則を信じ、アーキテクチャをシンプルにしつつ、モデルの規模を「桁違いに」拡大した OpenAI 社と出資した会社(マイクロソフト)の勝利でしょう。

このアーキテクチャのパラメータ数をカウントしてみます。

 ・トークンの語彙数 \(V\)
 ・埋め込みベクトルの次元 \(D\)
 ・系列の長さ \(S\)
 ・デコーダの積層数 \(N\)

とします。GPT-3 の具体的な数値は、

 \(V\)\(=50257\)
 \(D\)\(=12288\)
 \(S\)\(=\phantom{1}2048\)
 \(N\)\(=\phantom{111}96\)

です(\(V\) の値については前回参照)。学習で決まる行列やベクトルを順にカウントしていくと次のとおりです。

 (1) Embedding と確率生成 


  \(\bs{W}_{\large enc}\) \([V\times D]\)
  \(\bs{W}_{\large dec}\) \([D\times V]\)

  \(\rightarrow\) パラメータ数\(=2VD\)

 (2) Positional Encoding 

  \(\bs{p}\) \([S\times D]\)

  \(\rightarrow\) パラメータ数\(=SD\)

 (3) Masked Multi Head Attention 

  \(\bs{W}_Q\) \([D\times D]\) ※
  \(\bs{W}_K\) \([D\times D]\) ※
  \(\bs{W}_V\) \([D\times D]\) ※
  \(\bs{W}_O\) \([D\times D]\)

  \(\rightarrow\) パラメータ数\(=4D^2\)

※ GPT-3 のヘッドの数は \(H=96\) なので、\(\bs{W}_Q,\:\:\bs{W}_K,\:\bs{W}_V\) はそれぞれ \(96\)個の部分行列に分かれていますが、パラメータ数の全体は上式のとおりです。

 (4) Feed Forward Network 

  \(\bs{W}_1\) \([D\times4D]\)
  \(\bs{b}_1\) \([1\times4D]\)
  \(\bs{W}_2\) \([4D\times D]\)
  \(\bs{b}_2\) \([1\times D]\)

  \(\rightarrow\) パラメタ数\(=8D^2+5D\)

 (5) Layer Nomaliation (2レイヤー) 

  \(\bs{g}\) \([1\times D]\)
  \(\bs{b}\) \([1\times D]\)

  \(\rightarrow\) パラメタ数\(=2\times2D=4D\)


(3), (4), (5) は \(\times\:N\) に積層されていることに注意して総パラメータ数を計算すると、

 総パラメータ数
  \(=\:2VD+SD+N(4D^2+8D^2+5D+4D)\)
  \(=\:2VD+SD+N(12D^2+9D)\)
  \(=\) \(\bs{175,217,074,176}\)

となり、約 1752億となります。一般に言われているパラメータ数が 1750億というのは、英語の 175B(B = Billion = 10億)の日本語訳で、Billion 単位にしたパラメータ数です。

GPT-3 が系列の次のトークンを推論するとき、1752億のパラメータの全てを使った演算が行われます(図21)。40文字の日本語文章を 60トークンだとすると、 わずか 40文字の日本語文章を生成するために、1752億のパラメータの全てを使った演算が 60回行われるということです。

また、1752億のパラメータがすべて 32ビットの浮動小数点数(4バイト)だとすると、パラメータのためだけに

 653ギガバイト(1ギガ = \(1024^3\) 換算)

のメモリが必要になります。業務用コンピュータ・システムの開発経験者ならわかると思いますが、これだけのデータ量を常時抱えつつ、更新やリアルタイムの推論を行うシステムを開発・運用するのは、ちゃんとやればできるでしょうが、かなり大変そうな感じです。


GPT-3 のアーキテクチャを振り返ってみると、Transformer のデコーダ部分だけを採用したことによる、Transformer との違いがあることに気づきます。それは、

Transformer には「過去と未来の両方に注意を向けるアテンション機構」と「過去にだけ注意を向けるアテンション機構」の両方があるが、GPT-3 には「過去にだけ注意を向けるアテンション機構」しかない

ことです。言うまでもなく、アテンション機構は Transformer / GPT-3 の "キモ" です。そのキモのところに違いがある。

人間の言語活動(発話・文章作成)では「過去の単語との整合性を考慮しつつ、未来の単語を想定して次の単語を決める」ことが多々あります。このことは、機械翻訳では、翻訳前の「原文」を処理するエンコーダ側の「過去と未来の両方に注意を向けるアテンション機構」で実現されています(Mask がない Multi Head Attention)。

しかし GPT-3 では様子が違ってきます。事前学習(次項)だけの GPT-3 で機械翻訳がなぜできるかというと、

 [ 原文 ] を翻訳すると [ 翻訳文 ] です

といった対訳(に相当するデータ)が訓練データの中に多数あるからです(GPT-2 の論文による)。この「原文」の部分のアテンション処理において、「原文」の中の未来の単語に注意が向くことはありません(Masked Multi Head Attention しかないから)。このことにより翻訳の精度が Transformer とは違ってくる(精度が落ちる)と想定できます。

こういった "問題" は、大規模言語モデルを "超大規模" にすることで解決するというのが、GPT-3 の開発方針だと考えられます。1752億という膨大なパラメータ数が、それを表しています。

GPT-3 の訓練
GPT-3 の訓練は、
 ・WebText
 ・電子ブック
 ・Wikipedia
をもとに行われました。WebText は "訓練に使うべきではない" テキストを除外してあります。集められたテキストの量はトークンの数でカウントすると、
 ・WebText \(4290\)億
 ・電子ブック \(\phantom{42}67\)億
 ・Wikipedia \(\phantom{42}30\)億
です。これらのテキストからランダムに選んだミニバッチを作り、「ミニバッチ勾配降下法」(前回参照)で訓練が行われました。但し、Wikipedia などの "信頼性が高いテキスト" は、より多くミニバッチに選ばれるような工夫がしてあります。訓練は、使われたテキストが、トークン数で延べ \(3000\)億になったところで打ち切られました。

訓練は、Transformer のデコーダのところでで説明したように「ひたすら次のトークンの予測をする」というものです。この「次のトークンの予測」について補足しますと、前回、GPT のトークン化のロジックである BPE(Byte Pair Encoding)のことを書きました。これによると、UTF-8 では改行も空白も文字として扱われるので、改行、空白のそれぞれにトークンID が割り当てられることになります。

これから言えることは、テキストを学習するということは、その意味内容だけでなく、テキストの表現形式も学習するということです。つまり、段落、字下げ、箇条書きなどの形式です。訓練が終わった 1752億のパラメータには、そういった "表現形式に関する知識" も含まれていることに注意すべきでしょう。

以上のように、一般的に入手できるテキストだけを使ってニューラル・ネットワークを訓練することを「事前学習」と言います。このような事前学習を行った上で、機械翻訳や質問応答などのタスク別に専用に作成した訓練データで「目的別学習」を行うのが、言語モデルの定番の学習手法です。あらかじめ事前学習を行った方が言語モデルの性能が良くなるからです。目的別学習を "ファイン・チューニング" と言います。

GPT-3 は、それまでの GPT、GPT-2 と違って、ファイン・チューニングなしの言語モデルを狙ったものです。つまり、

事前学習済みの(=事前学習だけの)、生成型の(=デコーダだけの)トランスフォーマー

と言えるでしょう。実際 GPT-3 は、ファイン・チューニングを行った言語モデルと比較しても、"そこそこの"、ないしは "同等の" 性能であることが分かりました。もちろんファイン・チューニング済の言語モデルに劣るタスクも多々あります。しかし全体としては "そこそこの" 性能を示します。「ニューラル・ネットワークの超大規模化」と「大量の訓練データ」によってそれが可能であることを、GPT-3 は示したのでした。

ChatGPT
ChatGPT は GPT-3 のアーキテクチャと事前学習をもとに、さらに「目標駆動型学習」を追加したものです。ここでの目標駆動型学習とは「人間にとって好ましい応答の例を人間が作り、それを目標として、そこに近づくように学習する」という意味です。OpenAI 社は RLHF(Reinforcement Learning by Human Feedback:人間のフィードバックによる強化学習)と呼んでいます。これは一種のファイン・チューニングであると言えます。

この、目標駆動型学習をどうやるか、その詳細が OpenAI 社のノウハウでしょう。考えてみると、GPT-3 の(従って ChatGPT の)アーキテクチャはシンプルあり、これをシステム上に実現するのは、コンピュータ技術とAI技術、ハードウェアの調達(特にGPU)、そしてお金の問題です。事前学習に使う WebText にしても、世界中から集めて公開している団体があります(GPT-3 でも使われた Common Crawl)。お金がある(かつ投資意欲がある)大手IT企業なら、システム構築は難しくない。

しかし「人手で作った訓練データをもとに、人にとって違和感がない対話ができるまでに訓練する」のは、Transformer の性質や "癖 を熟知していないとできないと考えられます。そこにノウハウがあるはずです。

その目標駆動型学習の概要を、先ほど引用した岡野原氏の「大規模言語モデルは新たな知能か」では、次のような3つのステップで説明しています。この説明は専門用語を最小にした簡潔なものなので、以降これに沿って書きます。


  ラベラーが望ましい対話の例を作り、それを生成できるように言語モデルを教師あり学習で修正する。

このステップでは理想的な回答例を直接学習することができるが、工数がかかるため、大量の模範解答例を作ることはできない。あくまで大規模言語モデルの基本的な部分を修正するだけである。

  複数の異なるモデルによって生成されたプロンプトに対する回答例を、ラベラーが、どの回答が良かったか悪かったか、良い順にランキングする。このランキングをもとに、自動評価システムが回答を評価できるようにする。

このステップでは、生成された対話が良い対話かどうかを自動的に評価できるシステムを作ることが目標である。自動評価システムを作ること自体難しいタスクだが、言語を理解している大規模言語モデルの内部状態を入力として、自動評価システムが評価を出力することで、高精度に評価を推定できるようにする。

  大規模言語モデルは、その回答結果に対し、自動評価システムが高い評価を与えるようにモデルを強化学習で修正する。

岡野原 大輔 
「大規模言語モデルは新たな知能か」

この岡野原氏の説明を読み解くと、次のようになるでしょう。ラベラーとは訓練データ(教師ラベル)を作る人の意味です。

第1ステップは、機械学習の分野でいう「教師あり学習」です。ここで具体的にどのような訓練をしたのかは、OpenAI 社も公表していません。推測すると「望ましい対話」の例には、人間の質問に「答えられません」や「できません」と応答する訓練データも多数あるのではと思います。たとえば「反社会的行為を助長するような質問」の場合(爆弾の作り方など)です。

さらにこの第1ステップでは、特定のタイプのプロンプトに対して、あたかも ChatGPT が感情をもっているかのように応答する訓練が可能なはずです。それが「望ましい対話」だと OpenAI が判断すればそうなります。

第2ステップは2つのフェーズに分かれています。第1フェーズは、人手によるランキングの作成です。このとき「複数の異なるモデル」を使います。モデルとは言語モデルのことです。実は、GPT-3 を開発する過程においても、パラメータ数の違う複数の言語モデルが開発されていて、最終的に公開されたのが GPT-3 です。またパラメータ数が同じでも、訓練のやり方が違うとパラメータの値が違うので、モデルとしては別です。

このような複数の異なるモデルを選び(4つとします)、同じ入力(プロンプト。\(P\) で表します)に対して、4つの違った応答、\(A,\:B,\:C,\:D\) を得ます。ラベラーは、この \(P/A,\:P/B,\:P/C,\:P/D\) という4つの「プロンプト \(/\) 応答」にランク付けします( \(/\) はプロンプトのあとに応答が続くという意味です)。ランク付けが仮に、

 \(P/A\: > \:P/B\: > \:P/C\: > \:P/D\)

だとします。現実問題としては4つのランク付けは難しいので、2つずつの6つのペアについて、どちらが良いかを決めます。ランク付けの基準について岡野原氏は書いていないのですが、OpenAI 社の公開資料によると、
 ・嘘やデマを含まない
 ・差別的・攻撃的な内容を含まない
 ・ユーザの役に立つ
という基準です。このような「ランク付けデータ」を大量に準備します。これは人に頼る "人海戦術" しかないので、アウトソーシングしたとしてもコストがかかります。

ちなみに、応答が「差別的・攻撃的な内容を含まない」というのは極めて重要です。というのも、過去に「AI を使った Chat システムが差別的発言をするようになり、公開中止に追い込まれる」という事件が何件か発生しているからです(2016年のマイクロソフト、2022年のメタなど)。

特に、メタ(旧フェイスブック)の Galactica 炎上事件(差別的応答による)は、システムの公開日が 2022年11月15日であり、ChatGPT の公開日(2022年11月30日)とほぼ同時期でした。メタがつまづき、ChatGPT がつまづかなかったのは、OpenAI 社が極めて慎重に「反倫理的・反社会的応答」を排除するように訓練したからと考えられます。

第2ステップの第2フェーズは、ランキングのデータをもとに自動評価システムを作ることが目的です。データを入力して評価値(強化学習の用語でいうと "報酬")を出力する関数(=自動評価システム)を \(\mr{Score}()\) と書くと、

 \(\mr{Score}(P/A) > \mr{Score}(P/B) > \mr{Score}(P/C) > \mr{Score}(P/D)\)

となるように関数を決めます。これはニューラル・ネットワークを使って、訓練を繰り返して決めます(強化学習の用語で "報酬モデル")。ここで岡野原氏が指摘しているのは、\(\mr{Score}\) 関数への入力は、

ランキングをつけたデータそのものでなく、目標駆動型学習をしたい大規模言語モデル(この場合は GPT-3)にランキング済みデータを入力したときの、大規模言語モデルの内部状態

だということです。従って、\(\mr{Score}(P/A)\) は、
 \(\mr{Score}(\mr{InnerState}(P/A))\)
と書くべきでしょう。これによって「高精度に評価を推定できる」というのが岡野原氏の説明です。

第3ステップでは、この自動評価システムを使って、プロンプトに対する応答の評価値が最も高くなるように強化学習を行います。このステップには人手を介した評価はないので、大量のプロンプトで学習することができます。

ここで、言語モデル \(\al\) の内部状態を入力とする自動評価システムを \(\mr{Score}_{\large\:\al}\) とし、言語モデル \(\al\) を上記のように訓練した結果、言語モデル \(\beta\) になったとします。すると、同じ「プロンプト/応答」を投入したときの内部状態が、2つの言語モデルで違ってきます。つまり、
 \(\mr{InnerState}_{\large\:\al}(P/A)\neq\mr{InnerState}_{\large\:\beta}(P/A)\)
です。ということは、

\(\mr{InnerState}_{\large\:\beta}\) を入力とする、自動評価システム \(\mr{Score}_{\large\:\al}\) の改訂版、\(\mr{Score}_{\large\:\beta}\) が作れる

ことになります。つまり「第2ステップの第2フェーズ」と「第3ステップ」をループさせて繰り返すことができる。このとき、ラベラーが作ったランキングデータはそのまま使えます。このランキングが絶対評価ではなく相対評価だからです。以上のことから、

自動評価システムと言語モデルは、より正確な評価値を獲得するように "共進化" できる

と言えます。岡野原氏が言っている「高精度に評価を推定できる」とは、こういった "共進化" も含めてのことだと考えられます。このように、目標駆動型学習で鍵となるのは、この「高精度の自動評価システム」です。

補足しますと、ChatGPT が公開された後は、利用者の実際のプロンプトとそれに対する ChatGPT の応答を膨大に集積できます(利用者が拒否しなければ)。この実際の「プロンプト/応答」データの中から自動評価システムの評価が低いものだけを集め、プロンプトへの応答の評価が高くなるように ChatGPT の強化学習ができることになります。ChatGPT から "でたらめな" 応答を引き出そうとする(そして成功すれば喜ぶ)人は多いでしょうから、強化学習のためのデータにはこと欠かないはずです。

以上が、岡野原氏の説明の "読み解き" です。


ここまでをまとめると、次のようになるでしょう。

◆ GPT-3 は、ひたすら次の語を予測することに徹し、大量のテキストで訓練された大規模言語モデルである。その基盤技術は Transformer をシンプルにしたものであり、\(1752\)億のパラメータをもつ巨大ニューラル・ネットワークである。

◆ ChatGPT は GPT-3 をベースに、人手で作った「人にとって好ましい応答例」を訓練データとして学習し、人と違和感なく会話できるようにした大規模言語モデルである。

このような GPT-3 の仕組みでは、計算や論理的推論は本質的にできません。簡単な計算(2桁整数同士のたし算、2次方程式を解くなど)ができる(ように見える)のは、それが訓練データにあるからです。また、正しい論理的推論ができたとしたら、類似の推論が訓練データの中にあるからです。

とはいえ、ChatGPT はバックに語と語の関係性についての膨大な "知識" をもっていて、それによって "規則性" や "ルール" の認識が内部にできているはずです。その中には「人が気づかない」「暗黙の」「意外なもの」があってもおかしくない。それにより、蓄積した知識を "混ぜ合わせて" 正しい推論、ないしは発見的な推論がきることもあり得るはずです。

さらに、人が普段話すのと同じように話せば、その膨大な "知識" が活用できるのは多大なメリットでしょう。もちろん "悪用" される可能性はいつでもありますが、そのことを踏まえつつ、使い方の発見や検討が今後も進むのでしょう。

 
言語の "理解" とは 
 

人の問いかけに対する ChatGPT の応答は、いかにも人らしいものです。もちろん間違いや、変な答え、明らかに事実とは違う応答もあります。しかし、世界中から集めた知識の量は膨大で、言語の壁も越えています。

その "知識" は(GPT-3, ChatGPT では)1752億個のパラメータの中に埋め込まれています。量は膨大ですが、それを処理する仕組みはシンプルです。なぜこれでうまくいくのか、そこが驚異だし、その理由を理解することは難しいでしょう。

もちろん、その中身を解明しようとする研究は進むでしょうが、"理解" は難しいのではと思われます。というのも、「比較的シンプルな記述による、人にフレンドリーな説明」でないと、人は "理解" したとは思わないからです。

しかし考えてみると、我々が言語(母語)を習得でき、かつ自在に扱えるのはなぜか、その脳の働きは、Transformer / ChatGPT と極めて似ているのではないでしょうか。

前回の冒頭で紹介したように、慶応義塾大学の今井教授は、「ChatGPT の仕組み(=注意機構)は、幼児が言語を学習するプロセスと類似している」と指摘していました。今井教授は幼児の言語発達を研究する専門家なのでこの指摘になるのですが、実は Transformer / ChatGPT のやっていることは、幼児のみならず、我々が言葉(母語)を理解してきた(現に理解している)やりかたと酷似していることに気づきます。それは、

外界からくる複雑な情報を丸ごと飲み込んで、ルールを知らないうちから活用する(活用できる)

という言語理解のありようです。もちろん(外からの指摘による)「好ましくない言葉の使い方」であれば訂正します。しかし、学び方も含めて、我々は内発的・創発的に言葉を理解しています。それが我々の脳の働きの重要な一面です。

前回、Transformer がタンパク質の機能分析に使える(可能性がある)ことを書きましたが、さらにヒトの脳の(ある脳領域の)解明に役立つこともありそうです。

大規模言語モデルの外面的な機能は驚異的ですが、さらにその内部の「仕組み」を理解することで、その応用範囲が極めて広いことがわかるのでした。




nice!(0) 

No.365 - 高校数学で理解する ChatGPT の仕組み(1) [技術]

\(\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}\)
前回の No.364「言語の本質」の補足で紹介した新聞記事で、慶応義塾大学の今井教授は、

ChatGPT の「仕組み」(=注意機構)と「メタ学習」は、幼児が言語を学習するプロセスと類似している

と指摘していました。メタ学習とは「学習のしかたを学習する」ことですが、 ChatGPT がそれをできる理由も「注意機構(Attention mechanism)」にあります。そこで今回は、その気になる ChatGPT の仕組みをまとめます。

今まで「高校数学で理解する ・・・・・・」というタイトルの記事をいくつか書きました。


の 13 の記事です。"高校数学で理解する" という言い方は、「高校までで習う数学だけを前提知識として説明する」という意味ですが、今回もそれに習います。もちろん、文部科学省の学習指導要領は年々変わるので、"おおよそ高校までの数学" が正しいでしょう。今回、前提とする知識は、
・ 行列
・ ベクトル
・ 指数関数、対数
・ 微分、積分
・ 標準偏差と正規分布(ガウス分布)
です。ChaGPT は "ニューラル・ネットワーク"、ないしは "深層学習(ディープ・ラーニング)" の技術を使った AI ですが、こういった知識は前提とはしないことにします。つまり、ニューラル・ネットワークについては、その基礎から(必要なものだけに絞って)順を追って説明します。


全体の構成


全体の構成は次の4つです

1.ニューラル・ネットワーク

ニューラル・ネットワークの基礎から始まって、最も重要なポイントである「学習できる」ことを説明をします。

2.自然言語のモデル化

自然言語をニューラル・ネットワークで扱う際に必須である「単語の分散表現」を説明します。また、「言語モデル」と、ChatGPT で使われている「トークン」についても説明します。

3.Transformer

ChatGPT のベースになっている技術は、2017年に Google社が発表した Transformer です。この説明をします。

4.GPT-3 と ChatGPT

OpenAI 社は、GPT(2018)、GPT-2(2019)、GPT-3(2020)、ChatGPT(2022)と発表してきましたが、技術内容が論文で公開されているのは GPT-3 までです。また、ChatGPT の大規模言語モデルは GPT-3 と同じ仕組みであり、大幅に学習を追加して一般公開できるようにしたのが ChatGPT です。

ここでは GPT-3 の仕組み・技術内容を説明し、合わせて ChatGPT と GPT-3 の違いも説明します。

なお、この記事の作成には、Google と OpenAI の論文に加えて、以下を参考にしました。

◆岡野原 大輔(プリファードネットワークス)
 「大規模言語モデルは新たな知能か」
 (岩波書店 2023)

◆澁谷 崇(SONY)
 「系列データモデリング (RNN/LSTM/Transformer)」
   第7回「Transformer」
   第12回「GPT-2, GPT-3」
 (YouTube 動画)

 
1.ニューラル・ネットワーク 
 

記号
以降で使用する記号の意味は次の通りす。

◆ ボールド体ではない、ノーマル書体の英大文字・小文字はスカラー値(ないしはスカラー変数)を表します。\(a,\:\:b,\:\:x,\:\:y,\:\:x_1,\:w_{12},\:\:M,\:\:N,\:\:L\) などです。

◆ ボールド体の英大文字は行列を表します。\(\bs{W}\) などです。 \(N\) 行、\(M\) 列 の行列を \([N\times M]\) と表記します。\(\bs{W}\:[2\times3]\) は、2行3列の行列 \(\bs{W}\) で、
 \(\bs{W}=\left(\begin{array}{r}w_{11}&w_{12}&w_{13}\\w_{21}&w_{22}&w_{23}\\\end{array}\right)\)
です。

◆ ボールド体の英小文字はベクトルを表します。ベクトルは「行ベクトル」で表現し、\(n\)次元のベクトル \(\bs{x}\) は、
 \(\bs{x}=\left(\begin{array}{r}x_1&x_2&\cd&x_n\\\end{array}\right)\)
です。この \(n\)次元のベクトルを、\(1\) 行 \(n\) 列の行列と同一視します。従って次元の表記は \(\bs{x}\:[1\times n]\) です。

◆ 列ベクトルは、転置行列の記号(\({}^T\))を使って、
 \(\bs{x}^T\)
で表します。たとえば、3次元の列ベクトルは3次元の行ベクトルの転置を使って、
 \(\bs{x}^T=\left(\begin{array}{r}x_1\\x_2\\x_3\\\end{array}\right)\:\:[3\times1]\)
です。

◆ 同一次元の2つのベクトル \(\bs{x}\:\:\bs{y}\) の内積(スカラー積、ドット積)は、
 \(\bs{x}\bs{y}^T\)
で表します。ドッド記号(\(\cdot\))は内積ではなく、行列の積(または実数値同士の積)です。ただし、一般的に行列の積は、\(\bs{x}\bs{y}^T\) のように積記号を省略します。

◆ 同一次元の2つのベクトルの「対応する要素同士の積」で作ったベクトルを「要素積」(ないしはアダマール積)と呼び、\(\odot\) の記号で表します(一般的には \(\otimes\) の記号も使います)。\(n\)次元ベクトル同士の要素積は、
 \(\left(\begin{array}{r}x_1&x_2&\cd&x_n\\\end{array}\right)\odot\left(\begin{array}{r}y_1&y_2&\cd&y_n\\\end{array}\right)\)
   \(=\left(\begin{array}{r}x_1y_1&x_2y_2&\cd&x_ny_n\\\end{array}\right)\)
です。要素積は、行数・列数が同一の2つの行列にも適用します。

◆ 指数関数、\(f(x)=e^x\) を、
 \(f(x)=\mr{exp}(x)\)
と表記します。

◆ \(n\)次元ベクトルを \(\bs{x}=\{x_1\:x_2\:\cd\:x_n\}\) とし、1変数の関数 \(f(x)\) があるとき、ベクトル \(f(\bs{x})\) を、
 \(f(\bs{x})=\left(\begin{array}{r}f(x_1)&f(x_2)&\cd&f(x_n)\\\end{array}\right)\)
で定義します。

ニューラル・ネットワークの例
2層から成るシンプルなニューラル・ネットワークの例が図1です。この例では隠れ層が1つだけですが、隠れ層は何層あってもかまいません(なお、入力層を含めて、これを "3層" のニューラル・ネットワークとする定義もあります)。

図1:ニューラル・ネットワーク.jpg
図1:ニューラル・ネットワーク

丸印は "ニューロン" で、各ニューロンは1つの値(活性値)をもちます。値は実数値で、32ビットの浮動小数点数が普通です。図1のニューロンの数は 3+4+3=10 個ですが、もちろんこの数は多くてもよく、実用的なネットワークでは数100万から億の単位になることがあります。

ニューロン間の矢印が "シナプス" で、一つのニューロンは、シナプスで結ばれている前の層のニューロンから値を受けとり、決められた演算をして自らの値を決めます(入力層を除く)。なお、"ニューロン" や "シナプス" は脳神経科学の用語に沿っています。

各層は、重み \(\bs{W}\)(行列)とバイアス \(\bs{b}\)(ベクトル)、活性化関数 \(f\) を持ちます。図1の場合、第1層の重みは \(\bs{W}\:\:[3\times4]\)、バイアスは \(\bs{b}\:\:[1\times4]\) で、

 \(\bs{W}=\left(\begin{array}{r}w_{11}&w_{12}&w_{13}&w_{14}\\w_{21}&w_{22}&w_{23}&w_{24}\\w_{31}&w_{32}&w_{33}&w_{34}\\\end{array}\right)\)

 \(\bs{b}=\left(\begin{array}{r}b_1&b_2&b_3&b_4\\\end{array}\right)\)

です。このとき、隠れ層(第1層)のニューロンの活性値、\(\bs{h}=\left(\begin{array}{r}h_1&h_2&h_3&h_4\\\end{array}\right)\) は、

 \(h_1=f\:(\:x_1w_{11}+x_2w_{21}+x_3w_{31}+b_1\:)\)
 \(h_2=f\:(\:x_1w_{12}+x_2w_{22}+x_3w_{32}+b_2\:)\)
 \(h_3=f\:(\:x_1w_{13}+x_2w_{23}+x_3w_{33}+b_3\:)\)
 \(h_4=f\:(\:x_1w_{14}+x_2w_{24}+x_3w_{34}+b_4\:)\)

の式で計算されます。ベクトルと行列で表示すると、

 \(\bs{h}=f\:(\bs{x}\cdot\bs{W}+\bs{b})\)

になります。第2層も同様です。

このニューラル・ネットワークは、多重パーセプトロン(Multi Layer Perceptron : MLP)と呼ばれるタイプのもので、ニューラル・ネットワークの歴史の中では、古くから研究されている由緒のあるものです。

また上図の第1層、第2層は、すべてのニューロンが前層のすべてのニューロンとシナプスを持ってます。このような層を「全結合層」(Fully connected layer. FC-layer. FC層)と言います。全結合の多重パーセプトロンは Transformer や GPT で使われていて、重要な意味を持っています。

図2:ReLU 関数.jpg
図2:ReLU 関数
活性化関数 \(f\) は、隠れ層では、\(\mr{ReLU}\) 関数(Rectified Linear Unit:正規化線形ユニット)を使うのが普通です。\(\mr{ReLU}\) 関数は、

\(\mr{ReLU}(x)=x\:\:(x > 0)\)
\(\mr{ReLU}(x)=0\:\:(x\leq0)\)

で定義される非線形関数です(図2)。以降での表記を簡潔にするため、単位ステップ関数 \(H(x)\) を用いて \(\mr{ReLU}\) 関数を表しておきます。単位ステップ関数は、

図3:単位ステップ関数.jpg
図3:単位ステップ関数
 \(H(x)=1\:\:(x > 0)\)
 \(H(x)=0\:\:(x\leq0)\)

で定義される関数で(図3)、ヘヴィサイド関数とも呼ばれます。\(H(x)\) の微分は、
 \(H\,'(x)=0\:\:(x\neq0)\)
です。\(x=0\) において \(H(x)\) は不連続で、微分は定義できませんが、無理矢理、
 \(H\,'(0)=0\)
と定義してしまうと、\(x\) の全域において、
 \(H\,'(x)=0\)
となります。この \(H(x)\) を用いて \(\mr{ReLU}\) 関数を定義すると、

\(\mr{ReLU}(x)=H(x)x\)

となり、微分は、
 \(\dfrac{d}{dx}\mr{ReLU}(x)=H(x)\)
と表現できます。

出力層の活性化関数 \(f\,'\) は、ニューラル・ネットワークをどんな用途で使うかによって違ってきます。

ニューラル・ネットワークによる推論
ニューラル・ネットワークが扱う問題は、入力ベクトル \(\bs{x}\) をもとに出力ベクトル \(\bs{y}\) を "推論"(ないしは "推定"、"予測")する問題です。これには主に「回帰問題」と「分類問題」があります。

回帰問題で推論する \(\bs{y}\) は実数値(=連続値)です。たとえば、
 ・身長
 ・体重
 ・年齢
 ・男女の区別
 ・生体インピーダンス
から(\(=\bs{x}\))、
 ・体脂肪率
 ・筋肉量
 ・骨密度
を推定する(\(=\bs{y}\))といった例です(但し、市販の体組成計が AI を使っているわけではありません)。

一方、分類問題の例は、たとえば手書き数字を認識する問題です。この場合、多数の手書き数字の画像(をベクトルに変換した \(\bs{x}\))を「\(0\) のグループ」「\(1\) のグループ」・・・・・ というように分類していきます。このグループのことを AI では "クラス" と呼んでいます。つまり「クラス分類問題」です。

手書き数字の場合、明確に \(0\) ~ \(9\) のどれかに認識できればよいのですが、そうでない場合もある。たとえば、\(1\) なのか \(7\) なのか紛らわしい、\(0\) なのか \(6\) なのか曖昧、といったことが発生します。分類するのは、\(0\) ~ \(9\) のうちのどれかという「離散値の予測」であり、連続値とは違って、どうしても紛らわしい例が発生します。

従って、クラス分類問題(=離散値を予測する問題)では、出力ベクトル \(\bs{y}\) は確率です。手書き数字の認識では、\(\bs{y}\) は\(10\)次元の確率ベクトルで、たとえば、
 \(y_1\):数字が \(1\) である確率
 \(y_2\):数字が \(2\) である確率
   \(\vdots\)
 \(y_9\):数字が \(9\) である確率
 \(y_{10}\):数字が \(0\) である確率
となるように、ニューラル・ネットワークを設計します。確率なので、
 \(0\leq y_i\leq1,\:\:\:\displaystyle\sum_{i=1}^{10}y_i=1\)
です。入力画像が \(1\) なのか \(7\) なのか紛らわしい場合、たとえば推定の例は、
 \(\bs{y}=\left(\begin{array}{r}0.8&0&0&0&0&0&0.2&0&0&0\\\end{array}\right)\)
です。これは、
 \(1\) である確率が \(0.8\)
 \(7\) である確率が \(0.2\)
を表します。クラス分類問題は「離散値を推論する問題」、すなわち「確率を推定する問題」であると言えます。


回帰問題の出力層の活性化関数は、恒等関数(=何もしない)とするのが普通です。一方、クラス分類問題の出力層の活性化関数は、出力 \(\bs{y}\) が確率として解釈できるような関数を選びます。それが \(\mr{Softmax}\) 関数です。

\(\mr{Softmax}\) 関数
\(\mr{Softmax}\) 関数によって、出力 \(\bs{y}\) が確率と解釈できるようになります。ベクトル \(\bs{x}\) を \(\mr{Softmax}\) 関数によって確率ベクトル \(\bs{y}\) に変換する式は、次のように定義できます。なお、ここでの \(\bs{x}\) は入力層の \(\bs{x}\) ではなく、一般的なベクトルを表します。

 \(\bs{y}=\mr{Softmax}(\bs{x})\)
  (\(\bs{x}\:\:\bs{y}\) は \(n\)次元ベクトル)

 \(y_i=\dfrac{\mr{exp}(x_i)}{\displaystyle\sum_{i=1}^{n}\mr{exp}(x_i)}\)

  \(0 < y_i < 1,\:\:\:\displaystyle\sum_{i=1}^{n}y_i=1\)

ここで使われている指数関数は、すぐに巨大な数になります。たとえば \(\mr{exp}(100)\) は\(10\)進で\(40\)桁以上の数で、\(32\)ビット浮動小数点の最大値(\(10\)進で\(40\)桁弱)を越えてしまいます。従って、\(\mr{Softmax}\) 関数の計算には工夫が必要で、それには \(\mr{Softmax}\) 関数の性質を利用します。

\(C\) を任意の実数値とし、\(n\)次元ベクトル \(\bs{z}\) を
 \(z_i=x_i+C\)
と定義します。そして、
 \(\bs{y}\,'=\mr{Softmax}(\bs{z})\)
と置くと、

\(\begin{eqnarray}
&&\:\:y_i\,'&=\dfrac{\mr{exp}(z_i)}{\displaystyle\sum_{i=1}^{n}\mr{exp}(z_i)}=\dfrac{\mr{exp}(x_i+C)}{\displaystyle\sum_{i=1}^{n}\mr{exp}(x_i+C)}\\
&&&=\dfrac{\mr{exp}(x_i)\cdot\mr{exp}(C)}{\displaystyle\sum_{i=1}^{n}\mr{exp}(x_i)\cdot\mr{exp}(C)}\\
&&&=\dfrac{\mr{exp}(x_i)\cdot\mr{exp}(C)}{\mr{exp}(C)\cdot\displaystyle\sum_{i=1}^{n}\mr{exp}(x_i)}\\
&&&=\dfrac{\mr{exp}(x_i)}{\displaystyle\sum_{i=1}^{n}\mr{exp}(x_i)}=y_i\\
\end{eqnarray}\)

となります。つまり \(x_i\:\:(1\leq i\leq n)\) の全部に定数 \(C\) を足しても、\(\mr{Softmax}\) 関数は変わりません。そこで、
 \(C=-\mr{max}(x_1,\:x_2,\:\cd\:,x_n)\)
と置いて、
 \(x_i\:\longleftarrow\:x_i+C\:\:(1\leq i\leq n)\)
と修正すると、\(x_i\) の最大値は \(0\) になります。従って、
 \(0 < \mr{exp}(x_i)\leq1\)
の範囲で \(\mr{Softmax}\) 関数が計算可能になります。


大規模言語モデルと確率


クラス分類問題の出力ベクトル \(\bs{y}\) は確率でしたが、実は Transformer や GPT が実現している「大規模言語モデル」も "確率を推定するニューラル・ネットワーク" です。たとえば、

 [今日] [は] [雨] [なの] [で]

というテキストに続く単語を推定します。仮に、日本語の日常用語の語彙数を5万語とすると、5万の単語すべてについて上のテキストに続く単語となる確率を、実例をもとに推定します。当然、「雨の日の行動」とか「雨の日の情景」、「雨の日の心理状態」、「雨の日に起こりうること」を描写・説明する単語の確率が高くなるわけです。たとえば名詞だけをとると、[家] [ビデオ] [映画] [傘] [犬] [洗濯] [祭] [運動会] などの確率が高く、[ニンジン] [牛] [鉛筆] などの確率は(雨の日とは関係があるとは思えないので)低いといった具合です(あくまで想定です)。

「大規模言語モデル」の重要な応用例(=タスク)である機械翻訳も同じです。日本語 → 英語の翻訳を例にとると、

 [今日] [は] [晴れ] [です] [。] [BOS] 

に続く英単語を推定します([BOS] は文の開始を示す特殊単語)。確率の高い単語から [it] を選んだとすると、次には、

 [今日] [は] [晴れ] [です] [。] [BOS] [it]

に続く単語を推定します([is] になるはず)。こうやって進むのが機械翻訳です。

Transformer や GPT をごくごくシンプルに言えば、入力ベクトル \(\bs{x}\) はテキスト列、出力ベクトル \(\bs{y}\) は次に続く単語を示す確率ベクトル(次元は語彙数)です。


この記事は、Transformer、GPT、ChatGPT などの大規模言語モデルを説明するのが目的です。従って以降では、出力ベクトル \(\bs{y}\) は確率ベクトルであることを前提とします。


確率を推定するニューラル・ネットワーク


図1において、第1層(隠れ層)の活性化関数を \(\mr{ReLU}\)、第2層(出力層)の活性化関数を \(\mr{Softmax}\) とすると、図4になります。

図4:ニューラル・ネットワーク.jpg
図4:ニューラル・ネットワーク
(出力層は確率ベクトル)

図4の計算は、以下に示すような4段階の計算処理で表すことができます。

 第1層
  \(\bs{h}\,'=\bs{x}\cdot\bs{W}+\bs{b}\)
  \(\bs{h}=\mr{ReLU}(\bs{h}\,')\)

 第2層
  \(\bs{y}\,'=\bs{h}\cdot\bs{W}\,'+\bs{b}\,'\)
  \(\bs{y}=\mr{Softmax}(\bs{y}\,')\)

この4つの計算処理を「計算レイヤー」、略して「レイヤー」と呼び、図5のグラフで表現することにします。

図5:クラス分類問題のレイヤー構成(推論時).jpg
図5:クラス分類問題のレイヤー構成(推論時)

レイヤー(layer)は日本語にすると「層」で、第1層や隠れ層の「層」と紛らわしいのですが、「レイヤー」と書いたときは "ある一定の計算処理" を示します。後ほど説明する Transformer や GPT は、図4のような単純な「層」では表現できない複雑な計算処理があります。従って "ある一定の計算処理 = レイヤー" とした方が、すべての場合を共通に表現できて都合が良いのです。

レイヤーの四角に向かう矢印は計算処理への入力を示し、四角から出る矢印は計算処理からの出力(計算結果)を示します。「レイヤーは一つの関数」と考えてもOKです。

図5の「Linear レイヤー」は、「Affine(アフィン)レイヤー」と呼ばれることが多いのですが、Transformer の論文で Linear があるので、そちらを採用します。

図5のネットワークがどうやって「学習可能なのか」を次に説明します。この「学習できる」ということが、ニューラル・ネットワークが成り立つ根幹です。


ニューラル・ネットワークの学習


重みとバイアスの初期値
まず、重み(\(\bs{W},\:\bs{W}\,'\))の初期値を乱数で与えます。この乱数は、前の層のニューロンの数を \(n\) とすると

 平均 \(=0\)
 標準偏差 \(=\sqrt{\dfrac{1}{n}}\)

の正規分布の乱数とするのが普通です。\(n=10,000\) とすると、標準偏差は \(0.01\) なので、
 \(-\:0.01\) ~ \(0.01\)
の間にデータの多く(約 \(2/3\))が集まる乱数です。但し、\(\mr{ReLU}\) を活性化関数とする層(図4では第1層)の重みは、

 平均 \(=0\)
 標準偏差 \(=\sqrt{\dfrac{2}{n}}\)

の乱数とします。なお、バイアスの初期値は \(0\) とします。こういった初期値の与え方は、学習をスムーズに進めるためです。

損失と損失関数
初期値が決まったところで、訓練データの一つを、
 \(\bs{x}\):入力データ
 \(\bs{t}\):確率の正解データ
とします。この正解データのことを「教師ラベル」と呼びます。そして、ニューラル・ネットワークによる予測の確率 \(\bs{y}\) と、正解の確率である \(\bs{t}\) との差異を計算します。この差異を「損失(\(Loss\))」といい、\(L\) で表します。\(L\) は正のスカラー値です。

\(\bs{y}\) と \(\bs{t}\) から \(L\) を求めるのが「損失関数(Loss Function)」です。確率を予測する場合の損失関数は「交差エントロピー誤差(Cross Entropy Error : CEE)」とするのが普通で、次の式で表されます。

\(L=-\displaystyle\sum_{i=1}^{n}t_i\cdot\mr{log}\:y_i\)

たとえば、先ほどの手書き数字の認識の「\(1\) または \(7\) という予測」を例にとって、その正解が \(1\) だとすると、

 予測 \(\bs{y}=\left(\begin{array}{r}0.8&0&0&0&0&0&0.2&0&0&0\\\end{array}\right)\)
 正解 \(\bs{t}=\left(\begin{array}{r}1&0&0&0&0&0&0&0&0\\\end{array}\right)\) = 教師ラベル

です。なお、\(\mr{Softmax}\)関数の出力は \(0\) にはならないので、上の \(\bs{y}\) で \(0\) と書いた要素は、実際には微小値です。すると、

 \(L=-\mr{log}\:0.8\fallingdotseq0.223\)

となります。損失関数を含めると、レイヤー構成は図6のようになります。

図6:クラス分類問題のレイヤー構成(学習時).jpg
図6:クラス分類問題のレイヤー構成(学習時)

この図の重みとバイアスを少しだけ調整して、\(L\) を少しだけ \(0\) に近づけます。この調整を多数の学習データ(= \(\bs{x}\:\:\bs{t}\) のペア)で繰り返して、\(L\) を次第に \(0\) に近づけていくのが学習です。

勾配降下法
重みの調整には「勾配降下法(Gradient descent method)」を使います。図6の場合、損失 \(L\) は、ある関数 \(f\) を用いて、

 \(L=f(\bs{x},\:\bs{W},\:\bs{b},\:\bs{W}\,',\:\bs{b}\,',\:\bs{t})\)

と表現できます。ここで、\(\bs{W}\) の一つの要素、\(w_{11}\) を例にとると、

\(w_{11}\) を微小に増減させた場合、\(L\) はどのように増減するか、そのの \(w_{11}\) に対する変化の割合

を計算します。これはいわゆる微分ですが、多変数関数の微分なので、数学的には偏微分であり、
 \(\dfrac{\partial L}{\partial w_{11}}\)
です。つまり、\(w_{11}\) 以外の変数をすべて固定しての(すべて定数とした上での)、\(w_{11}\) による微分です。

具体的な入力 \(\bs{x}\) のときの \(\dfrac{\partial L}{\partial w_{11}}\) が求まったとします。もし仮に、\(\dfrac{\partial L}{\partial w_{11}}\) が正の値だとしたら、\(w_{11}\) を少しだけ減らせば、\(L\) は少しだけ \(0\) に近づきます。もし \(\dfrac{\partial L}{\partial w_{11}}\) が負だとしたら、\(w_{11}\) を少しだけ増やせば、\(L\) は少しだけ \(0\) に近づきます。つまり、

 更新式:\(w_{11}\:\longleftarrow\:w_{11}-\eta\cdot\dfrac{\partial L}{\partial w_{11}}\)

として重みを更新すればよいわけです。\(\eta\) は「少しだけ」を表す値で「学習率」といい、\(0.01\) とか \(0.001\) とかの値をあらかじめ決めておきます。この決め方は、学習の効率に大いに影響します。こういった更新を、すべての重みとバイアスに対して行います。

"学習で調整される値" を総称して「パラメータ」と言います。図6のパラメータは重みとバイアスですが、実用的なニューラル・ネットワークでは、それ以外にも更新されるパラメータがあります。

ちなみに、OpenAI 社の GPT\(-3\) のパラメータの総数は \(1750\)億個で、学習率は \(0.6\times10^{-4}\) です。

\(L\) の偏微分値をベクトルや行列単位でまとめたものを、次のように表記します。2次元のベクトル \(\bs{b}\) と、2行2列の行列 \(\bs{W}\) で例示すると、

 \(\dfrac{\partial L}{\partial\bs{b}}=\left(\begin{array}{r}\dfrac{\partial L}{\partial b_1}&\dfrac{\partial L}{\partial b_2}\\\end{array}\right)\)

 \(\dfrac{\partial L}{\partial\bs{W}}=\left(\begin{array}{r}\dfrac{\partial L}{\partial w_{11}}&\dfrac{\partial L}{\partial w_{12}}\\\dfrac{\partial L}{\partial w_{21}}&\dfrac{\partial L}{\partial w_{22}}\\\end{array}\right)\)

です。これを「勾配(gradient)」と言います。勾配を求めることでパラメータを少しづつ更新し、損失を少しづつ小さくしていく(=降下させる)のが勾配降下法です。

ミニバッチ勾配降下法
学習は次のように進みます。まず、すべての訓練データ(たとえば
数万件)から、数\(10\)~数\(100\)件(たとえば\(256\)件)の訓練データをランダムに選びます。この一群のデータを「ミニバッチ」と呼びます。ミニバッチの各訓練データによる確率の推定から損失を計算し、そこからすべてのパラメータの勾配と求め、その勾配ごとに "ミニバッチの平均値" をとります。その平均値に基づき、更新式に従って各パラメータを更新します。

ミニバッチによる更新が終わると、別のミニバッチをランダムに選び、更新を繰り返します。こうすると、損失は次第に減少していきますが、そのうち "頭打ち" になります。そこで更新を止めます。

このようなパラメータ更新のやり方を「ミニバッチ勾配降下法」と言います。一つの訓練データだけで更新しないのは、たまたまその訓練データが「外れデータ」(全体の傾向とは異質なデータ)だと、学習の進行に支障が出てくるからです。

訓練データをランダムに選択する方法を「確率的勾配降下法(Stochastic gradient method - SGD)」と言いますが、ミニバッチ勾配降下法は、その確率的勾配降下法の一種です。

誤差逆伝播法
ここで問題になるのは、すべてのパラメータの勾配をどうやって求めるかです。それに使われるのが「誤差逆伝播法(Back propagation)」です。その原理を、Linear レイヤーから説明します。

 (1) Linear 

図7:linear レイヤー.jpg
図7:linear レイヤー
入力 \(\bs{x}\) \([1\times N]\)
   \(\bs{W}\) \([N\times M]\)
   \(\bs{b}\) \([1\times M]\)
出力 \(\bs{y}\) \([1\times M]\)

図7で示すように、Linear レイヤーがあり、そのあとに何らかの計算処理が続いて、最終的に損失 \(L\) が求まったとします。\(\bs{x}\:\:\bs{y}\) はニューラル・ネットワークへの入力と出力ではなく、Linear レイヤーへの入力と出力の意味です。ここで、

\(\bs{y}\) の勾配 \(\dfrac{\partial L}{\partial\bs{y}}\) が求まれば、合成関数の微分を使って、\(\bs{x},\:\:\bs{W},\:\:\bs{b}\) の勾配が求まる

と言えます。これが誤差逆伝播法の原理です。このことを、2次元ベクトル(\(\bs{x},\:\:\bs{b},\:\:\bs{y}\))、2行2列の配列(\(\bs{W}\))で例示します(\(N=2,\:M=2\) の場合)。

【Linear の計算式】

 \(\left(\begin{array}{r}y_1&y_2\\\end{array}\right)=\left(\begin{array}{r}x_1&x_2\\\end{array}\right)\cdot\left(\begin{array}{r}w_{11}&w_{12}\\w_{21}&w_{22}\\\end{array}\right)+\left(\begin{array}{r}b_1&b_2\\\end{array}\right)\)

 \(y_1=x_1w_{11}+x_2w_{21}+b_1\)
 \(y_2=x_1w_{12}+x_2w_{22}+b_2\)

\(x_1\) が変化すると \(y_1,\:y_2\) が変化し、それが損失 \(L\) に影響することに注意して、\(\bs{x},\:\:\bs{W},\:\:\bs{b}\) の勾配を計算します。

\(\bs{\bs{x}}\) の勾配】

 \(\dfrac{\partial L}{\partial x_1}\)\(=\dfrac{\partial y_1}{\partial x_1}\cdot\dfrac{\partial L}{\partial y_1}+\dfrac{\partial y_2}{\partial x_1}\cdot\dfrac{\partial L}{\partial y_2}\)
\(=\dfrac{\partial L}{\partial y_1}w_{11}+\dfrac{\partial L}{\partial y_2}w_{12}\)
\(=\left(\begin{array}{r}\dfrac{\partial L}{\partial y_1}&\dfrac{\partial L}{\partial y_2}\\\end{array}\right)\left(\begin{array}{r}w_{11}\\w_{12}\\\end{array}\right)\)

同様にして、

 \(\dfrac{\partial L}{\partial x_2}=\left(\begin{array}{r}\dfrac{\partial L}{\partial y_1}&\dfrac{\partial L}{\partial y_2}\\\end{array}\right)\left(\begin{array}{r}w_{21}\\w_{22}\\\end{array}\right)\)

です。これをまとめると、

 \(\left(\begin{array}{r}\dfrac{\partial L}{\partial x_1}&\dfrac{\partial L}{\partial x_2}\\\end{array}\right)=\:\:\:\left(\begin{array}{r}\dfrac{\partial L}{\partial y_1}&\dfrac{\partial L}{\partial y_2}\\\end{array}\right)\left(\begin{array}{r}w_{11}&w_{21}\\w_{12}&w_{22}\\\end{array}\right)\)

 \(\dfrac{\partial L}{\partial\bs{x}}=\dfrac{\partial L}{\partial\bs{y}}\cdot\bs{W}^T\)

となり、\(\bs{x}\) の勾配が求まります。

\(\bs{\bs{W}}\) の勾配】

 \(\dfrac{\partial L}{\partial w_{11}}=\dfrac{\partial y_1}{\partial w_{11}}\dfrac{\partial y_1}{\partial w_{11}}=x_1\dfrac{\partial y_1}{\partial w_{11}}\)
 \(\dfrac{\partial L}{\partial w_{12}}=\dfrac{\partial y_2}{\partial w_{12}}\dfrac{\partial y_2}{\partial w_{12}}=x_1\dfrac{\partial y_2}{\partial w_{12}}\)
 \(\dfrac{\partial L}{\partial w_{21}}=\dfrac{\partial y_1}{\partial w_{21}}\dfrac{\partial y_1}{\partial w_{21}}=x_2\dfrac{\partial y_1}{\partial w_{21}}\)
 \(\dfrac{\partial L}{\partial w_{22}}=\dfrac{\partial y_2}{\partial w_{22}}\dfrac{\partial y_2}{\partial w_{22}}=x_2\dfrac{\partial y_2}{\partial w_{22}}\)

これらをまとめると、

 \(\dfrac{\partial L}{\partial\bs{W}}\)\(=\left(\begin{array}{r}\dfrac{\partial L}{\partial w_{11}}&\dfrac{\partial L}{\partial w_{12}}\\\dfrac{\partial L}{\partial w_{21}}&\dfrac{\partial L}{\partial w_{22}}\\\end{array}\right)\)
\(=\left(\begin{array}{r}x_1\dfrac{\partial L}{\partial y_1}&x_1\dfrac{\partial L}{\partial y_2}\\x_2\dfrac{\partial L}{\partial y_1}&x_2\dfrac{\partial L}{\partial y_2}\\\end{array}\right)\)
\(=\left(\begin{array}{r}x_1\\x_2\\\end{array}\right)\left(\begin{array}{r}\dfrac{\partial L}{\partial y_1}&\dfrac{\partial L}{\partial y_2}\\\end{array}\right)\)
\(=\bs{x}^T\dfrac{\partial L}{\partial\bs{y}}\)

となります。

\(\bs{\bs{b}}\) の勾配】

 \(\dfrac{\partial L}{\partial b_1}\)\(=\dfrac{\partial L}{\partial y_1}\)
 \(\dfrac{\partial L}{\partial b_2}\)\(=\dfrac{\partial L}{\partial y_2}\)

 \(\dfrac{\partial L}{\partial\bs{b}}\)\(=\dfrac{\partial L}{\partial\bs{y}}\)

以上の計算で求まった勾配をまとめて図示すると、図8になります。黒字(入力・出力とパラメータ)の下の赤字がパラメータの勾配で、右から左への矢印は、「レイヤーの出力の勾配が求まれば、レイヤーの入力の勾配が求まる」こと示します(= 逆伝播)。上での計算は2次元ベクトルと2行2列の配列で例示しましたが、図8のようなベクトル・配列で表示すると、\([1\times N]\) のベクトルと \([N\times M]\) の行列で成り立つことが確認できます。

図8:linear の誤差逆伝播.jpg
図8:linear の誤差逆伝播
出力側の勾配が求まれば、そこから入力側の勾配はすべて求まる。これが誤差逆伝播の原理で、合成関数の微分のシンプルな応用である。

 (2) ReLU 

\(\mr{ReLU}\) 関数は、

 \(\mr{ReLU}(x_i)=x_i\:\:(x_i > 0)\)
 \(\mr{ReLU}(x_i)=0\:\:\:(x_i\leq0)\)

であり、ベクトルの表現では、単位ステップ関数、
 \(H(x)=1\:\:\:(x > 0)\)
 \(H(x)=0\:\:\:(x\leq0)\)
と要素積 \(\odot\) を使って、

 \(\mr{ReLU}(\bs{x})=H(\bs{x})\odot\bs{x}\)

と定義できます。従って、勾配は、

 \(\dfrac{\partial L}{\partial x_i}=\dfrac{\partial L}{\partial y_i}\) \((x_i > 0)\)
 \(\dfrac{\partial L}{\partial x_i}=0\) \((x_i\leq0)\)

 \(\dfrac{\partial L}{\partial\bs{x}}=H(\bs{x})\odot\dfrac{\partial L}{\partial\bs{y}}\)

です。
図9:ReLU の誤差逆伝播.jpg
図9:ReLU の誤差逆伝播

 (3) Softmax 

\(\mr{Softmax}\) 関数の定義は、

 \(\bs{y}=\mr{Softmax}(\bs{x})\)
  (\(\bs{x}\:\:\bs{y}\) は \(N\)次元ベクトル)

 \(y_i=\dfrac{\mr{exp}(x_i)}{\displaystyle\sum_{i=1}^{N}\mr{exp}(x_i)}\)

  \(0 < y_i < 1,\:\:\:\displaystyle\sum_{i=1}^{N}y_i=1\)

です。勾配の計算を \(N=3\) の場合で例示します。

 \(S\)\(=\mr{exp}(x_1)+\mr{exp}(x_2)+\mr{exp}(x_3)\)
\(y_1\)\(=\dfrac{\mr{exp}(x_1)}{S}\)
\(y_2\)\(=\dfrac{\mr{exp}(x_2)}{S}\)
\(y_3\)\(=\dfrac{\mr{exp}(x_3)}{S}\)

 \(\dfrac{\partial L}{\partial x_1}=\dfrac{\partial y_1}{\partial x_1}\dfrac{\partial L}{\partial y_1}+\dfrac{\partial y_2}{\partial x_1}\dfrac{\partial L}{\partial y_2}+\dfrac{\partial y_3}{\partial x_1}\dfrac{\partial L}{\partial y_3}\)
 \(\dfrac{\partial y_1}{\partial x_1}\)\(=\dfrac{\mr{exp}(x_1)}{S}-\dfrac{\mr{exp}(x_1)}{S^2}\mr{exp}(x_1)\)
\(=y_1-y_1^2\)
\(=y_1(1-y_1)\)

 \(\dfrac{\partial y_2}{\partial x_1}\)\(=-\dfrac{\mr{exp}(x_2)}{S^2}\mr{exp}(x_1)\)
\(=-y_1y_2\)

 \(\dfrac{\partial y_3}{\partial x_1}\)\(=-\dfrac{\mr{exp}(x_3)}{S^2}\mr{exp}(x_1)\)
\(=-y_1y_3\)

 \(\dfrac{\partial L}{\partial x_1}=y_1(1-y_1)\dfrac{\partial L}{\partial y_1}-y_1y_2\dfrac{\partial L}{\partial y_2}-y_1y_3\dfrac{\partial L}{\partial y_3}\)
 \(\dfrac{\partial L}{\partial x_2}=y_2(1-y_2)\dfrac{\partial L}{\partial y_2}-y_2y_3\dfrac{\partial L}{\partial y_3}-y_2y_1\dfrac{\partial L}{\partial y_1}\)
 \(\dfrac{\partial L}{\partial x_3}=y_3(1-y_3)\dfrac{\partial L}{\partial y_3}-y_3y_1\dfrac{\partial L}{\partial y_1}-y_3y_2\dfrac{\partial L}{\partial y_2}\)

 (4) Cross Entropy Error - CEE 

交差エントロピー誤差の定義は、
 入力 \(\bs{y}\) \((1\times N)\)
 入力 \(\bs{t}\) \((1\times N)\)  教師ラベル(正解データ)
 出力 \(L\:(Loss)\)
とすると、

 \(L=-\displaystyle\sum_{i=1}^{N}(t_i\mr{log}y_i)\)

で定義されます。従って、

 \(\dfrac{\partial L}{\partial y_i}=-\dfrac{t_i}{y_i}\)

であり、\(N=3\) の場合を書くと、

 \(\dfrac{\partial L}{\partial y_1}=-\dfrac{t_1}{y_1}\)
 \(\dfrac{\partial L}{\partial y_2}=-\dfrac{t_2}{y_2}\)
 \(\dfrac{\partial L}{\partial y_3}=-\dfrac{t_2}{y_3}\)

です。

 (5) Softmax + CEE 

\(\mr{Softmax}\) レイヤーの直後に交差エントロピー誤差のレイヤーを配置した場合を考えます。(3) と (4) の計算を合体させると、次のように計算できます。

 \(\dfrac{\partial L}{\partial x_1}\)\(=y_1(1-y_1)\dfrac{\partial L}{\partial y_1}-y_1y_2\dfrac{\partial L}{\partial y_2}-y_1y_3\dfrac{\partial L}{\partial y_3}\)
\(=-y_1(1-y_1)\dfrac{t_1}{y_1}+y_1y_2\dfrac{t_2}{y_2}+y_1y_3\dfrac{t_3}{y_3}\)
\(=-t_1+t_1y_1+y_1t_2+y_1t_3\)
\(=-t_1+t_1y_1+y_1(t_2+t_3)\)
\(=-t_1+t_1y_1+y_1(1-t_1)\)
\(=y_1-t_1\)

計算の過程で、\(\bs{t}\) が確率ベクトルであることから、\(t_1+t_2+t_3=1\) を使いました。この計算は \(x_2,\:\:x_3\) についても全く同様にできます。それを含めてまとめると、

 \(\dfrac{\partial L}{\partial x_1}=y_1-t_1\)
 \(\dfrac{\partial L}{\partial x_2}=y_2-t_2\)
 \(\dfrac{\partial L}{\partial x_3}=y_3-t_3\)

となります。この結果、勾配は、

 \(\dfrac{\partial L}{\partial\bs{x}}=\bs{y}-\bs{t}\)

という、大変シンプルな形になりました。これは任意の次元のベクトルで成り立ちます。実は、このようなシンプルな形になるように、\(\mr{Softmax}\) と 交差エントロピー誤差が設計されています。図示すると次の通りです。

図10:Softmax + CEE の逆伝播.jpg
図10:Softmax + CEE の逆伝播
\(\mr{Softmax}\) 関数の後ろに交差エントロピー誤差を重ねると、\(\bs{x}\) の勾配は \(\bs{y}\) と \(\bs{t}\)(教師ラベル)から直接に求まる。

ニューラル・ネットワークの誤差逆伝播
以上で「確率を推定するニューラル・ネットワーク」を構成する各レイヤーの誤差逆伝播が計算できました。これらをまとめると、次の図11になります。

図11:クラス分類問題の誤差逆伝播.jpg
図11:クラス分類問題の誤差逆伝播

ちなみに、第1層の重み \(\bs{W}\) の勾配は図11から陽に計算すると、次のようになります。

 \(\dfrac{\partial L}{\partial\bs{W}}=\bs{x}^T(H(\bs{x}\bs{W}+\bs{b})\odot((\bs{y}-\bs{t})\bs{W}\,'))\)

このネットワークは隠れ層が1つだけというシンプルなものですが、今までの計算で分かるように、層数が何百層に増えたとしても、逆伝播を多段に重ねることで、誤差逆伝播法が成立します。

また、図11 で使っているレイヤーは、Linear、\(\mr{ReLU}\)、\(\mr{Softmax}\)、Cross Entropy Error ですが、これらを関数と見なしたとき、誤差逆伝播で使った数学的な前提は「関数がパラメータで微分可能」ということだけです。つまり、レイヤーの関数が微分可能である限り、誤差逆伝播法は有効です。

実は、実用的なニューラル・ネットワークで誤差逆伝播法をうまく機能させるためには、数々の工夫が必要です。また、一般に訓練データの数は膨大なので、学習速度を上げる工夫も必要です(以降でその一部を説明します)。上で述べた「初期値の選択」や「学習率」はその工夫の一つです。そういったことはありますが、ネットワークがいかに巨大になろうとも(大規模言語モデルはその巨大な典型です)、誤差逆伝播法は可能なことが分かっています。

以上が、「ニューラル・ネットワークが学習可能である」ということの原理です。

\(\mr{GELU}\)
最近の大規模言語モデル(GPT など)では、活性化関数 \(\mr{ReLU}\) の代わりに \(\mr{GELU}\) \((\)Gaussian Error Linear Unit:ガウス誤差線形ユニット\()\) が使われます。その方が、学習が効率的に進むことが分かったからです。

図12:標準正規分布.jpg
図12:標準正規分布
\(\mr{ReLU}\) は、\(H(x)\) を単位ステップ関数として、
 \(\mr{ReLU}(x)=H(x)x\)
でしたが、\(\mr{GELU}\) は、
 \(\mr{GELU}(x)=\Phi(x)x\)
で定義されます。\(\Phi(x)\) は標準正規分布(平均 \(0\)、標準偏差 \(1\))の累積分布関数です。標準正規分布の確率密度を \(f(x)\) とすると、
 \(f(x)=\dfrac{1}{\sqrt{2\pi}}\mr{exp}\left(-\dfrac{x^2}{2}\right)\)
です(図12)。つまり \(x\) ~ \(x+dx\) である事象が発生する確率が \(f(x)dx\) です。また \(-\infty\) ~ \(\infty\) の範囲で積分すると \(1\) で、原点を中心に左右対称です。

図13:累積分布関数.jpg
図13:累積分布関数
この確率分布を \(-\infty\) から \(x\) まで積分したのが累積分布関数で、
 \(\Phi(x)=\displaystyle\int_{-\infty}^{x}f(t)dt\)
です(図13)。これは正規分布に従うデータ値が \(x\) 以下になる確率です。これはガウスの誤差関数(Gaussian error function)\(\mr{Erf}\) を用いて表現できます。\(\Phi(0)=0.5\) となることを使って計算すると、
\(\begin{eqnarray}
&&\:\:\Phi(x)&=\displaystyle\int_{-\infty}^{x}f(t)dt\\
&&&=\dfrac{1}{\sqrt{2\pi}}\displaystyle\int_{-\infty}^{x}\mr{exp}\left(-\dfrac{t^2}{2}\right)dt\\
&&&=\dfrac{1}{2}+\dfrac{1}{\sqrt{2\pi}}\displaystyle\int_{0}^{x}\mr{exp}\left(-\dfrac{t^2}{2}\right)dt\\
\end{eqnarray}\)
\(t\:\rightarrow\:\sqrt{2}u\) の変数変換をすると、
\(\begin{eqnarray}
&&\:\:\phantom{\Phi(x)}&=\dfrac{1}{2}+\dfrac{1}{\sqrt{2\pi}}\displaystyle\int_{0}^{\tiny\dfrac{x}{\sqrt{2}}}\mr{exp}(-u^2)\sqrt{2}du\\
&&&=\dfrac{1}{2}+\dfrac{1}{\sqrt{\pi}}\displaystyle\int_{0}^{\tiny\dfrac{x}{\sqrt{2}}}\mr{exp}(-u^2)du\\
&&&=\dfrac{1}{2}\left(1+\mr{Erf}\left(\dfrac{x}{\sqrt{2}}\right)\right)\\
\end{eqnarray}\)
となります。ガウスの誤差関数、\(\mr{Erf}()\) の定義は

 \(\mr{Erf}(x)=\dfrac{2}{\sqrt{\pi}}\displaystyle\int_{0}^{x}\mr{exp}(-u^2)du\)

です。従って、

 \(\Phi(x)=\dfrac{1}{2}\left(1+\mr{Erf}\left(\dfrac{x}{\sqrt{2}}\right)\right)\)

図14:GELU 関数.jpg
図14:\(\bs{\mr{GELU}}\) 関数
と表現できます。\(\mr{GELU}\) 関数の形は 図14 です。

\(\mr{GELU}\) は \(\mr{ReLU}\) と良く似ていますが、すべての点で微分可能であり、\(\mr{ReLU}\) のように微係数がジャンプするところがありません。このことが、大規模言語モデルの効率的な学習に役だっていると考えられます。

残差結合
Linear レイヤーを例にとります。入力を \(\bs{x}\)、出力を \(\bs{y}\) とし、入力と出力のベクトルの次元は同一とします。重みを \(\bs{W}\) とし、バイアス \(\bs{b}\) は省略します。通常の Linear レイヤーは、
 \(\bs{y}=\bs{x}\bs{W}\)

ですが、

 \(\bs{y}=\bs{x}\bs{W}+\bs{x}\)

とするのが、「残差結合(residual connection)」をもつ Linear レイヤーです。なお「残差接続」とも言います。また「スキップ接続(skip connection)」も同じ意味です。

図15:残差結合.jpg
図15:残差結合

誤差逆伝播を計算すると、\(\bs{x}\) の勾配は次のようになります。2次元ベクトルの場合で例示します。

 \(\left(\begin{array}{r}y_1&y_2\\\end{array}\right)=\left(\begin{array}{r}x_1&x_2\\\end{array}\right)\cdot\left(\begin{array}{r}w_{11}&w_{12}\\w_{21}&w_{22}\\\end{array}\right)+\left(\begin{array}{r}x_1&x_2\\\end{array}\right)\)

 \(y_1=x_1w_{11}+x_2w_{21}+x_1\)
 \(y_2=x_1w_{12}+x_2w_{22}+x_2\)

 \(\dfrac{\partial L}{\partial x_1}\)\(=\dfrac{\partial y_1}{\partial x_1}\cdot\dfrac{\partial L}{\partial y_1}+\dfrac{\partial y_2}{\partial x_1}\cdot\dfrac{\partial L}{\partial y_2}\)
\(=\dfrac{\partial L}{\partial y_1}w_{11}+\dfrac{\partial L}{\partial y_2}w_{12}+\dfrac{\partial L}{\partial y_1}\)
\(=\left(\begin{array}{r}\dfrac{\partial L}{\partial y_1}&\dfrac{\partial L}{\partial y_2}\\\end{array}\right)\left(\begin{array}{r}w_{11}\\w_{12}\\\end{array}\right)+\dfrac{\partial L}{\partial y_1}\)

同様にして、

 \(\dfrac{\partial L}{\partial x_2}=\left(\begin{array}{r}\dfrac{\partial L}{\partial y_1}&\dfrac{\partial L}{\partial y_2}\\\end{array}\right)\left(\begin{array}{r}w_{21}\\w_{22}\\\end{array}\right)+\dfrac{\partial L}{\partial y_2}\)

従って、

 \(\left(\begin{array}{r}\dfrac{\partial L}{\partial x_1}&\dfrac{\partial L}{\partial x_2}\\\end{array}\right)=\) \(\left(\begin{array}{r}\dfrac{\partial L}{\partial y_1}&\dfrac{\partial L}{\partial y_2}\\\end{array}\right)\left(\begin{array}{r}w_{11}&w_{21}\\w_{12}&w_{22}\\\end{array}\right)\)
 \(+\:\left(\begin{array}{r}\dfrac{\partial L}{\partial y_1}&\dfrac{\partial L}{\partial y_2}\\\end{array}\right)\)

 \(\dfrac{\partial L}{\partial\bs{x}}=\dfrac{\partial L}{\partial\bs{y}}\cdot\bs{W}^T+\dfrac{\partial L}{\partial\bs{y}}\)

です。つまり、勾配 \(\dfrac{\partial L}{\partial\bs{y}}\) が、逆伝播でそのまま \(\dfrac{\partial L}{\partial\bs{x}}\) に伝わります(図\(16\))。

図16:残差結合の誤差逆伝播.jpg
図16:残差結合の誤差逆伝播

一般にニューラル・ネットワークの学習を続けると、重みがゼロに近づき、その結果 \(\dfrac{\partial L}{\partial\bs{x}}\) が \(0\) に近い小さな値となることがあります。\(\dfrac{\partial L}{\partial\bs{x}}\) は、その一つ前への逆伝播の入力となるので、多層のニューラル・ネットワークでこれが重なると、前の方の層の勾配が極小になり、重みが更新できないという事態になります。これが「勾配消失」で、ニューラル・ネットワークの学習が困難になります。

残差結合を用いると、この問題を解決できます。Transformer では残差結合が使われています。

正規化
Transformer で使われているもう一つのレイヤーが「レイヤー正規化(Layer Normalization)」です。これは、ベクトル \(\bs{x}\:[1\times N]\) の要素を、平均 \(0\)、標準偏差 \(1\) のベクトル \(\bs{y}\:[1\times N]\) の要素に置き換えるものです。

 \(\bs{y}=\mr{LayerNormalization}(\bs{x})\)

  \(x_i\) の平均 : \(\mu\)
  \(x_i\) の標準偏差 : \(\sg\)

  \(\mu=\dfrac{1}{N}\displaystyle\sum_{i=1}^{N}x_i\)
  \(\sg=\sqrt{\dfrac{1}{N}\displaystyle\sum_{i=1}^{N}(x_i-\mu)^2}\)

とおくと、

 \(y_i=\dfrac{1}{\sg}(x_i-\mu)\)

となります。実際にニューラル・ネットワークで使われるときには、さらにベクトルの要素ごとに線形変換をして、

 \(y_i\:\longleftarrow\:g_iy_i+b_i\)

とします。ベクトルで表現すると、

 \(\bs{y}=\dfrac{1}{\sg}\bs{g}\odot(\bs{x}-\mu)+\bs{b}\)

です。この \(\bs{g}\) と \(\bs{b}\) は学習可能なパラメータです。つまり、ニューラル・ネットワークの訓練のときに学習をして、最適値を決めます。もちろん、レイヤー正規化の式は微分可能なので、逆伝播計算が(少々複雑な式になりますが)可能です。

レイヤー正規化は、ニューラル・ネットワークを安定化させ、学習の効率化に役立ちます。その理由ですが、中間層の活性化関数で一般的な \(\mr{ReLU}\) 関数は、\(x=0\) の付近で非線型関数であり、それ以外では線型です。ニューラル・ネットワークは全体としては非線型関数で、そこにこそ意義があるのですが、その非線型性を生み出しているのは、\(x=0\) 付近の \(\mr{ReLU}\) 関数です。

従って、レイヤーの値を「ゼロ付近に集める」と、ニューラル・ネットワークの非線型性を強めることができ、これが学習の効率化につながります。その「ゼロ付近に集める」のがレイヤー正規化です。


以上の、

 ・\(\mr{ReLU}\) 関数(または \(\mr{GELU}\) 関数)
 ・残差結合
 ・正規化

は、大規模ニューラル・ネットワークを安定的に学習可能にするための必須技術であり、Transformer や GPT でも使われています。

 
2.自然言語のモデル化 
 

単語への分解
自然言語で書かれたテキストをコンピュータで扱うとき、まずテキストを単語の系列に分解しなければなりません。系列とは「並び順に意味のある、同質の要素の集合」です。単語への分解は、単語の区切りを明示する英語(や、その他の欧米語)では容易です。文末を表すピリオドや、その他の記号も1つの単語と数えます。

日本語は単語の区切りがないので、形態素解析ソフトで単語に分解します。句読点、「、」などの記号も、それぞれ1単語と数えます。日本語の形態素解析ソフトは各種ありますが、オープンソースの MeCab が有名です。

大規模言語モデルは、世界中から集めた Webのテキスト(以下、WebText と言います)や Wikipedia、電子ブックなどを訓練データとして学習しますが、そこに出てくる単語を集めて「語彙の集合」を作ります。この集合のサイズを \(V\) とすると(たとえば、5万とか10万とかの値)、単語に \(1\)~\(V\) のユニークな番号を振ることができます。この番号を「単語ID」と呼びます。

なお、大規模言語モデルでは内部処理用として「特殊単語」も用います。以降の説明で使うのは、
 [BOS] :文の開始
 [EOS] :文の終了。ないしは文の区切り。
です。こうすると、テキスト \(\bs{T}\) は、

 \(\bs{T}=\{x_1,\:x_2,\:x_3,\:\cd\:x_T\}\)

という単語IDの列で表現できることになります。もしこれが完結した文だとすると、\(x_1=\)[BOS]、\(x_T=\)[EOS] であり、複文だと途中にも [BOS] や [EOS] が出てくることになります。

単語IDは、その数字自体には意味がありません。また、語彙集合(要素数 \(V\))が増大すると単語IDの最大値も変化します。上の数字列は、あくまで「1時点での語彙集合をもとにして恣意的に付けられた数字の列」です。

分散表現
テキストをニュラール・ネットワークで扱うためには、すべての単語を、語彙集合のサイズにはよらない「固定長のベクトル」で表現するのが必須です。ここで使われるのが単語の「分散表現」で、固定長であるのみならず、"単語の意味もくみ取った" 表現です。ベクトルの次元は、たとば 512次元とか 1024次元です。

単語を分散表現にすることを "単語埋め込み"(word embedding)と言います。単語埋め込みの手法は各種ありますが、ここでは「word2vec」のアルゴリズムを例にとります。word2vec は、Google が2013年に提案したもので、実用的な分散表現の嚆矢となったものです。

word2vec に限りませんが、単語埋め込みのアルゴリズムの前提となっている仮定があります。それは、

単語の意味は、周囲の単語によって形成される

というもので、これを「分布仮説」と言います。たとえば、英文を例にとり、「周囲」を仮に「前1語、後1語」とします。

 [I] [ ] [beer]

という文で [ ] に入る1単語は何かです。1単語に限定すると、冠詞(a, the)は入れようがないので、入る単語は限定されます。たとえば、

[I] [drink]  [beer] (私はビール飲みます:習慣)
[I] [guzzle]  [beer] (ビールはガブ飲みします:習慣)
[I] [love]  [beer] (ビールが大好きです:嗜好)
[I] [hate]  [beer] (ビールは大嫌いです:嗜好)

などです。[ ] には「飲む」に関係した動詞か「嗜好」に関係した動詞が入る可能性が高い。少なくとも「私とビールの関わりについての動詞」です。つまり、入る単語は「前後の1語によって意味が限定される」わけです。もしこれが「前後5語」とか「前後10語」であると「似たような意味の単語」か、少なくとも「同じジャンルの単語」になるはずです。

word2vec という「単語埋め込みアルゴリズム」には2種類あり、「周囲の単語から中心の単語を推論する(CBOW)」と「中心の単語から周囲の単語を推論する(skip-gram)」の2つです。推論にはニューラル・ネットワークを使います。以下は CBOW(Continuous Bag of Words)のネットワーク・モデルで説明します。

word2vec(CBOW)
CBOW は「周囲の単語から中心の単語を推論する」ニューラル・ネットワークのモデルです。「周囲の単語」を "コンテクスト" と呼び、推論の対象とする単語を "ターゲット" と呼びます。

まず、コンテクストのサイズを決めます。ターゲットの前の \(c\) 語、ターゲットの後ろの \(c\) 語をコンテクストとする場合、この \(c\) を "ウィンドーサイズ" と呼びます。そして "ウィンドー" の中には \(2c\) 語のコンテクストと1つのターゲットが含まれます。そして、訓練データとする文の "ウィンドー" を1単語ずつずらしながら、コンテクストからターゲットを推論する学習を行います。

語彙集合の単語数を \(V\) とし、一つの文を、

 \(\bs{T}=\{x_1,\:x_2,\:\cd x_T\}\)
  \(x_i\) :単語ID \((1\leq x_i\leq V)\)

とします。そして、\(x_i\) に1対1に対応する、\(V\)次元の one hotベクトルを、
 \(\bs{x}_i=\left(\begin{array}{r}a_1,&a_2,&a_3,&\cd&a_V\\\end{array}\right)\)
  \(a_j=0\:\:(j\neq x_i)\)
  \(a_j=1\:\:(j=x_i)\)
とします。つまり \(\bs{x}_i\) は、\(x_i\) 番目の要素だけが \(1\) で、他は全部 \(0\) の \(V\) 次元ベクトルです(1つだけ \(1\)、が "one hot" の意味です)。

例として、ウィンドーサイズを \(c=2\) とします。また分散表現の単語ベクトルの次元を \(D\) とします。この前提で、\(\bs{T}\) の中の \(t\) 番目の単語の one hotベクトルを推論するモデルが図17です。

図17:word2vec(CBOW) の単語推論モデル.jpg
図17:word2vec(CBOW) の単語推論モデル

 \(\bs{T}=\{\:\cd,\:\bs{x}_{t-2},\:\bs{x}_{t-1},\:\bs{x}_t,\:\bs{x}_{t+1},\:\bs{x}_{t+2},\:\cd\:\}\)

という単語の one hotベクトルの系列を想定したとき、 \(\bs{x}_t\) がターゲットの正解データ(=教師ラベル)であり、その他の4つがコンテクストです。

最初の MatMul (Matrix Multiply) レイヤーは、4つの one hotベクトル \(\bs{x}_i\) を入力とし、それぞれに重み行列 \(\bs{W}_{\large enc}\) をかけて、4つのベクトル \(\bs{h}_i\) を出力します(enc=encode)。つまり、

 \(\bs{h}_i=\bs{x}_i\cdot\:\bs{W}_{\large enc}\)

です。Average レイヤーは、入力された複数ベクトルの平均をとり、一つのベクトル \(\bs{h}_t\) を出力します。この \(\bs{h}_t\) が \(\bs{x}_t\) の分散表現(= \(D\)次元ベクトル)です(というより、そうなるようにネットワークを訓練します)。

次の MatMul レイヤーで 重み \(\bs{W}_{\large dec}\) を掛け(dec=decode)、\(\mr{Softmax}\) レイヤーを通して、分散表現を \(V\) 次元の確率ベクトル \(\bs{y}_t\) に変換します。そして、教師ラベルである \(\bs{x}_t\) との間で交差エントロピー誤差を計算し、損失 \(L\) を求めます。


損失が求まれば、誤差逆伝播法で重み行列 \(\bs{W}_{\large enc}\) と \(\bs{W}_{\large dec}\) を修正します。この修正を、大量の文とそのすべてのウィンドーで行って、損失 \(L\) を最小化します。これがネットワークの訓練です。

訓練済みのネットワークでは、重み行列 \(\bs{W}_{\large enc}\:[V\times D]\) が、単語の分散表現の集積体になっています。つまり、one hot ベクトル \(\bs{x}_i\) の分散表現を \(\bs{h}_i\) とすると、

 \(\bs{h}_i=\bs{x}_i\cdot\:\bs{W}_{\large enc}\)

です。\(\bs{x}_i\) の単語IDを \(x_i\) とすると、

 \(\bs{h}_i=\bs{W}_{\large enc}\) の \(x_i\)行(\(1\)列から\(D\)列まで)

となります。

分散表現と単語の意味
「分布仮説」をもとに、ニューラル・ネットワークによる推論で得られた単語の分散表現ベクトルは、類似の意味の単語は類似のベクトルになる(ことが多い)ことが確認されています。たとえば、
 year, month, day
などや、
 car, automobile, vehicle
などです。ベクトルの類似は「コサイン類似度」で計測します。2つの2次元ベクトル、
 \(\bs{a}=\left(\begin{array}{r}a_1&a_2\\\end{array}\right)\)
 \(\bs{b}=\left(\begin{array}{r}b_1&b_2\\\end{array}\right)\)
の場合で例示すると、
 コサイン類似度\(=\dfrac{a_1b_1+a_2b_2}{\sqrt{a_1^2+a_2^2}\sqrt{b_1^2+b_2^2}}\)
で、2次元平面の2つのベクトルの角度(コサイン値)を求める式になります。この式の分子は内積(dot product)で、内積の定義式を変形したものです。この類似度を利用して「類推問題」が解けます。たとえば、

 France : Paris = Japan : X

の X は何かという問題です。答えは Tokyo ですが、これを求めるには、分散表現ベクトルが類似しているという前提で、
 France ≒ Japan
 Paris ≒ X
となるはずなので、
 X = France + Paris - Japan
であり、X を \(\bs{W}_{\large dec}\) と \(\mr{Softmax}\) 関数を使って確率ベクトルに変換すれば、確率が最も高い単語が Tokyo になるはずというわけです。

もちろん、分散表現ベクトルで類推問題を解くのは完璧ではありません。分散表現を作るときのウィンドーのサイズと訓練データの量にもよりますが、各種の類推問題を作って実際にテストをすると、60%~70% の正解率になるのが最大のようです。

言語モデル
分散表現ベクトルを用いて「言語モデル」を構築します。いま、一つの文を構成する単語の並び、

 \(\bs{x}_1,\:\bs{x}_2,\:\bs{x}_3,\:\cd\:,\:\bs{x}_T\)

があったとき(\(\bs{x}_1=\)[BOS]、\(\bs{x}_T=\)[EOS])、この文が存在する確率を、

 \(P(\bs{x}_1,\:\bs{x}_2,\:\bs{x}_3,\:\cd\:,\:\bs{x}_T)\)

で表します。文法として間違っている文の確率はゼロに近く、また文法としては合っていても、意味をなさない文の確率は低い。

 \(P(\)[BOS],[彼女],[は],[学校],[へ],[行く],[EOS]\()\)
   \( > \:P(\)[BOS],[学校],[は],[彼女],[へ],[行く],[EOS]\()\)

といった具合です。この「存在確率」は、次のような「条件付き確率」で表現できます。つまり、

 \(P_1=P(\)[彼女] | [BOS]\()\)
  :文頭が「彼女」である確率
 \(P_2=P(\)[は] | [BOS],[彼女]\()\)
  :「彼女」の次が「は」である確率
 \(P_3=P(\)[学校] | [BOS],[彼女],[は]\()\)
  :「彼女は」の次が「学校」である確率
 \(P_4=P(\)[へ] | [BOS],[彼女],[は],[学校]\()\)
  :「彼女は学校」の次が「へ」である確率
 \(P_5=P(\)[行く] | [BOS],[彼女],[は],[学校],[へ]\()\)
  :「彼女は学校へ」の次が「行く」である確率
 \(P_6=P(\)[EOS] | [BOS],[彼女],[は],[学校],[へ],[行く]\()\)
  :「彼女は学校へ行く」で文が終わる確率

とすると、

 \(P(\)[BOS],[彼女],[は],[学校],[へ],[行く],[EOS]\()\)
  \(=P_1\times P_2\times P_3\times P_4\times P_5\times P_6\)

となります。つまり、一般的に、

 \(P(\bs{x}_{t+1}\:|\:\bs{x}_1,\:\bs{x}_2,\:\bs{x}_3,\:\cd\:,\:\bs{x}_t)\)

が分かれば、言語モデルは決まります。平たく言うと、

 それまでの単語の系列から、次にくる単語の確率を推測する

のが言語モデルと言えます。もちろん、次にくる可能性のある単語は1つではありません。語彙集合のすべての単語それぞれについて「次にくる」確率を予測します。

実は、Transformer や GPT、ChatGPT がやっていることは「次にくる単語の予測」であり、これを実現しているのが、「超大規模なニューラル・ネットワークで作った言語モデル」なのです。

トークン
今まで、ニューラル・ネットワークでテキストを扱うためには、テキストを単語に分解するとしてきました。しかし大規模言語モデルで実際にやっていることは、テキストを「トークン(token)」に分解し、そのトークンの分散表現ベクトルを求めてニューラル・ネットワークで処理することです。

トークンとは、基本的には「単語」ないしは「単語の一部」です。英語ですと、たとえば頻出単語は「単語=トークン」ですが、GPT-3 の例だと、トークンには、ed, ly, er, or, ing, ab, bi, co, dis, sub, pre, ible などの「単語の一部」が含まれます。GPT-3 のトークンの語彙数は約5万ですが、そのうち英語の完全な単語は約3000と言われています。通常使われる英単語は4万~5万なので、3000の単語で WebText や Wikipedia の全部を表すことは到底できません。つまり、単語の "切れ端" と単語の組み合わせ、ないしは単語の "切れ端" 同士の組み合わせでテキストを表現する必要があります。

たとえば「ディスコ音楽」などの disco という単語は、[dis] [co] と表現します。edible(食用の、食べられる、という意味)は、[ed] [ible] です。disco や edible は 3000 単語の中に入っていないようです。edible などは「基本的な英単語」と思えますが、あくまで WebText や Wikipedia に頻出するかどうかの判断によります。

また xylophone(木琴)は、[x] [yl] [ophone] です。このように、1文字がトークンになることもあります。"単語"、"単語の切れ端"、"文字" がトークンです。

 BPEによるトークン化 

テキストをトークンに変換することを「トークン化(tokenize)」、トークン化を行うソフトを tokenizer と言います。ここで GPT-3 のトークン化のアルゴリズムの概要をみてみます。

上の xylophone → [x] [yl] [ophone] で明快なのですが、トークン化は単語の意味とは無関係です。意味を言うなら xylo("木の" という意味の接頭語)+ phone(音)ですが、そういうこととは全く関係ありません。

GPT-2 の論文にそのアルゴリズムである BPE(Byte Pair Encoding)が書かれています(GPT-3 は GPT-2 と同じだと、GPT-3 の論文にあります)。

コンピュータで文字を表現するには文字コード(文字に数字を割り振ったもの)を使います。国際的に広く使われているのは unicode です。unicode を使うと各国語の文字が統一的に文字コードで表現できます。

unicode の数字をコンピュータでどう表すか、その表し方(=エンコーディング)には3種類ありますが、その一つが UTF-8 です。UTF-8 は1バイト(8ビット、10進数で 0~255)を単位とし、1~4バイトで1文字を表現する可変長のエンコーディングです(漢字の異字体は5バイト以上になります)。

UTF-8 でば、通常の英文に使われる英数字、特殊文字(空白 , . ? など)は1バイトで表します。一方、日本語の平仮名、カタカナ、漢字は3バイトです(一部の漢字は4バイト)。バイトは文字ではありません。あくまで文字を表現するためのコンピュータ用の数字です。

BPE ではまず、UTF-8 でエンコーディングされた大量のテキストを用意します。そして、1バイトの全パターンを256種類の基本トークンとして語彙に初期登録します。トークン ID は 1~256 とします。従って、英文における1文字の単語( I, a )や記号( , . ? ! など)は、この時点でトークンID が割り当てられたことになります。

次に、テキストの「トークンのペア」で、最も出現頻度の高いペアをみつけます。英語で最も出現頻度が高い単語は the で、トークンで表現すると [t] [h] [e] です。仮に、[t] [h] のペアがテキスト中で最も出現頻度が高いとします(説明のための仮定です)。そうすると、この2つのトークンを結合した [th] を新たなトークン(トークン ID=257)として語彙に登録します。以降、テキスト中の [t] [h] は [th] と見なします。

次に出現頻度の高いペアが [th] [e] だとすると、この2つを結合した [the] を新たなトークン(トークン ID=258)として語彙に登録します。この段階で the という単語がトークンの語彙に登録されたわけです(以上の [th] [the] のトークン ID は説明のための数字で、実際の GPT-3 のトークン ID は違います)。

以上のプロセスにおいてトークンは、「空白をまたがない」「空白で終わらない」「同一カテゴリの文字(英字、数字、特殊文字など)でしかペアを作らない」などの制約をもうけておきます。「カテゴリ」が何かは論文に書いていないので想定です。もちろんこれは、なるべく頻出単語をトークンにする工夫です。

これを「結合の最大回数」になるで繰り返します。GPT-2 / GPT-3 の場合、最大回数は 50,000 です。従って、最終的には、
 256 + 50,000 + 1 = 50,257
のトークンの語彙ができあがることになります。最後の + 1 は文末の記号 [EOS] を特殊トークンとしているからです。

いったん語彙ができあがると、以降、この語彙を使ってすべてのテキストを同じアルゴズムでトークン化します。当然ですが、長いバイトのトークンからテキストに割り当てることになります。

 大規模言語モデルの成立要件 

GPT-3 のトークン化のロジックによると、すべての言語のすべてのテキストが 50,257個のトークンを使って、統一的に、もれなくトークン化できることになります。それはあたりまえで、1バイトのデータがすべてトークンとして登録してあるからです。テキストを UTF-8 で統一的に表せば可能なのです。

ここで、日本語がどうなるかです。日本語の unicode を UTF-8 で表すと、漢字・仮名・文章記号は3バイトです(一部の漢字は4バイト。また異字体は5バイト以上)。ということは、普通の漢字1字、仮名1字は1~3トークンで表されることになります。

実際、OpenAI 社が公開している GPT-3 の Tokenizer で試してみると、
 仮名は1~2トークン
 ほとんどの漢字は2~3トークン
となります。ちなみに、平仮名(清音、濁音、半濁音、計71文字種)のトークン数を調べてみると、
 28 文字種:1トークン
 43 文字種:2トークン
です。濁音で1トークンになるのは「が だ で」の3つだけですが、これは助詞として頻出するからでしょう。特別の場合は、仮名2文字で1トークンになるようです(スト、ーク、など)。1トークンになる漢字はごく少数のようで、たとえば「上」「田」「中」「一」「大」がそうです(他にもあると思います)。

以上をまとめると、何をトークンとするかは、
 ・単語
 ・単語の一部、ないしは文字の連なり
 ・文字
 ・バイト
がありうるわけですが、GPT-3 のトークンにはこれらが混在していて、規則性は全くないことになります。ここから何が言えるかと言うと、


大規模言語モデルは、言語の文法や意味を関知しないのみならず、単語という概念さえなしでも成立しうる


ということです。もちろん、英語を扱うときのように頻出単語のトークン化ができれば、生成されるテキストのクオリティーが向上することは確かでしょう。しかし、単語単位のトークン化は必須ではない。つまり、

単語の切れ端や文字どころか、文字を細分化した「バイト」をトークンとしても、その「バイト」には言語学的な意味が全く無いにもかかわらず、大規模言語モデルが、とりあえず成り立つ

わけです。GPT-3(= ChatGPT の基盤となっているモデル)がそれを示しています。大規模言語モデルは、翻訳、文章要約、質問回答、おしゃべり(chat)などの多様なタスクに使えます。これらのタスクを実現する仕組みを作るには、言語学的知識は全く不要です。不要というより、言語学的知識を持ち込むことは邪魔になる。もちろん、「翻訳、文章要約、質問回答、おしゃべり」の実例や好ましい例が大量にあるのが条件です。

その GPT-3 のベースになっているのは、Google が提案した Transformer という技術です。ということは、次のようにも言えます。


Transformer は「系列データ = 同質の記号・データが直列に並べられた、順序に意味のあるもの」であれば適用可能であり、その記号を文字としたのが大規模言語モデルである。もちろん、適用するには系列データの実例が大量にあることが必須である。


これが言えるのなら、少々先走りますが、Transformer はタンパク質の機能分析にも使える(可能性がある)ことになります。タンパク質はアミノ酸が鎖状に1列に並んだもので、そのアミノ酸は20種類しかありません。

タンパク質は「20種の記号の系列」であり、それが生体内で特定の機能を果たします。多数のタンパク質のアミノ酸配列を Transformer で学習し、タンパク質の機能と照らし合わせることで、新たなタンパク質の設計に役立てるようなことができそうです。実は、こういった生化学分野での Transformer や言語モデルの利用は、今、世界でホットな研究テーマになっています。

もちろん、系列データはタンパク質の構造だけではありません。従来から AI で扱われてきた音声・音源データや、各種のセンサーから取得したデータがそうだし、分子生物学では DNA / RNA が「4文字で書かれた系列データ」と見なせます。現に米国では、DNA / RNA の塩基配列を学習した大規模言語モデルでウイルスの変異予測がされています。

Transformer は、もともと機械翻訳のために提案されたものでした。しかしそれは意外なことに、提案した Google も予想だにしなかった "奥深い" ものだった。ここに、大規模言語モデルのサイエンスとしての意義があるのです。




nice!(0) 

No.364 - 言語の本質 [本]

No.344「算数文章題が解けない子どもたち」で、慶応義塾大学 環境情報学部教授の今井むつみ氏の同名の著作を紹介しました(著者は他に6名)。今回は、その今井氏が名古屋大学准教授の秋田喜美きみ氏(言語心理学者)と執筆した『言語の本質 - ことばはどう生まれ、進化したか』(中公新書 2023。以下、"本書")を是非紹介したいと思います。共同執筆ですが、全体の核の部分は今井氏によるようです。

言うまでもなく、言語は極めて複雑なシステムです。それを、全くのゼロ(=赤ちゃん)から始まってヒトはどのように習得していくのか。本書はそのプロセスの解明を通して、言語の本質に迫ろうとしています。それは明らかに「ヒトとは何か」に通じます。

"言語の本質" とか "言葉とは何か" は、過去100年以上、世界の言語学者、人類学者、心理学者などが追求してきたものです。本書はその "壮大な" テーマを扱った本です。大風呂敷を広げた題名と思えるし、しかも新書版で約280ページというコンパクトさです。大丈夫なのか、見かけ倒しにならないのか、と疑ってしまいます。

しかし実際に読んでみると「言語の本質」というタイトルに恥じない出来映えの本だと思いました。読む立場としても幾多の発見があり、また個々の論旨の納得性も高い。以下に、内容の "さわり" を紹介します。


AI研究者との対話


本書で展開されている著者の問題意識のきっかけが、今井氏による「あとがき」に記されています。その部分を引用すると次の通りです。
以降の引用では、段落を増やしたところ、図の番号を修正したところや、漢数字を算用数字にしたところがあります。また下線は原文にはありません)


「今井さんの研究は記号接地問題だね」。私に「記号接地問題」ということばを教えてくれたのは、慶應義塾大学環境情報学部教授の故古川康一先生だった。古川先生は人工知能(AI)黎明期に国家プロジェクトとして第5世代コンピュータ研究で中心的役割を果たされ、プロジェクト終了後に、誕生したばかりの慶應義塾大学SFC(湘南藤沢キャンパス)に教授として赴任された。当時、私はアメリカで博士号を取得して環境情報学部に助手として就職したばかりで、キャンパスはもとより、自分の研究分野においても日本では知り合いが少なく、アメリカで学んできた認知心理学の研究を、どのように日本で展開していったらよいのかを悩んでいたところだった。

人工知能の分野で世界的に著名な古川先生が、研究室がすぐ近くだということで気軽に話しかけてくださり、私の研究の話を熱心に聞いてくださった。「記号接地問題」は人工知能の分野では、大きな問題として当時も知られていたが、認知心理学や発達心理学ではそれほど一般的に知られた概念ではなかった。自分の言語発達の研究を、国際的に著名な先生が「記号接地問題」だと教えてくださったときから、本書の旅が始まった。

私は人工知能の開発に携わったことはなく、それどころか、プログラムも書いたことがない。しかし、SFCには古川先生をはじめ、石崎俊先生、向井国昭先生など、当時人工知能研究を牽引されていた先生方がおり、まさに「門前の小僧習わぬ経を読む」で「記号接地問題」や「フレーム問題」をはじめとした人工知能の難問についての先生方の議論を聞きながら、人間が知識を身体に接地させるとはどういうことなのかを考えるようになった。それが、学びと教育についての独自の視点になっていった

今井むつみ・秋田善美
「言語の本質」(中公新書 2023)

少々意外なのですが、今井氏の問題意識の発端(の重要な点)は人工知能(AI)研究者との交流だったのですね。本書には、今井氏が自著の『ことばと思考』の冒頭部分を ChatGPT に英訳させた例が載っていて、今井氏は「ほとんど完璧」と書いています。しかし ChatGPT とヒトとの言葉の認識のあり方は全く違っていて、その違いも本書のテーマと結びついています。こういった記述は、今井氏の AI への関心が窺えます。

上の引用のキーワードは「記号接地(symbol grounding)」です。記号接地とは、記号(言語の場合は音の塊・並び)が人間の身体感覚(視覚、聴覚、触覚、心理感覚、・・・・・・ など)と結びつくことを言います。これが言語習得の第一歩だとするのが、本書の第1の主題です。それがオノマトペを例に説明されています。


オノマトペ


オノマトペとは、いわゆる擬音語、擬態語、擬情語(=「ワクワク」「ドキドキ」などの内的感覚・感情を表す語)の総称です。重複形が多いが、そればかりではありません(笑顔を表す擬態語に「ニコニコ」と「ニコッ」がある例)。オノマトペは、

 感覚イメージを写し取る記号

と定義できます。ここでのキーワードは、まず「感覚」(視覚、聴覚、触覚、味覚など)です。オノマトペは、形容詞などと同じく "感覚" を表す言葉です。しかし形容詞には感覚("美しい")と、感覚ではないもの("正しい" などの理性的判断)の両方がありますが、感覚ではないオノマトペは考えにくい。"感覚" ではなく "感覚イメージ" と定義してあるのは、擬態語や擬情語を想定しているのでしょう。

もう一つのキーワードは「写し取る」です。表すもの(記号)と、それによって表されるものに類似性があるとき、その記号を「アイコン」と呼びます。アイコンは主として視覚によるもので、たとえばコンピュータ画面のゴミ箱のアイコンや、一般的に使われる笑顔のアイコン( )は、世界のだれが見てもゴミ箱や笑顔と見えます。

オノマトペもアイコンのように、表すもの(音形)と表されるもの(感覚イメージ)に類似性がある(=模倣性があると感じられる)記号です。このことを本書では "アイコン性" がある、と表現しています。"アイコン" ではなく "アイコン性" としてあるのは、視覚によるアイコンとは違って発音で "写し取る" ため、模倣性に限界があるからです。また、音による模倣は、言語体系がもつ母音・子音のバリエーションや音韻体系に大きく影響されます。アイコン、オノマトペ、オノマトペ以外の言葉の3つを対比させると、次のようになります。

アイコン
(日本語話者以外も理解)
ニコニコ
ニコッ
アイコン性がある言葉
えがお
笑顔
言葉
(日本語話者だけが理解)


音象徴


オノマトペを考える上で重要なことは、そもそも発音における "音" がアイコン性を帯びていることです。これを「音象徴」と言います。たとえば、清音と濁音の音象徴です。「コロコロ」より「ゴロゴロ」の方が大きくて重いものが転がる様子を表します。「サラサラ」より「ザラザラ」の方が荒くて不快な手触りを示す。「トントン」より「ドンドン」の方が、強い打撃が出すより大きな音を模倣します。g や z や d のような濁音は程度が大きいことを表し、またマイナスのニュアンスが伴いやすい音です。

母音の "あ" と "い" の音象徴もあります。打撃を表「パン」は平手でたたく感じで「ピン」は人差し指で弾くイメージであり、「パン」の方の打撃が大きい。水が飛び散る様子の「パチャパシャ」と「ピチャピチャ」も、「パチャパシャ」の方が飛び散る程度は大きいわけです。"あ" は大きいイメージと結びつき、"い" は小さいイメージと結びつきます。これは、発音のときの口腔の大きさに違いに起因します。

さらに、阻害音(p, t, k, s, d, g, z などの子音が入った音)は、硬く、尖って、角張ったイメージであり、共鳴音(m, n, y, r, w などの子音)は、柔らかく、なめらかで、丸っこい印象と結びつきます。この例として、次の図1を示して、
「 一方が マルマ(maluma)で、一方が タケテ(takete)です。どちらがマルマで、どちらがタケテでしょうか」
との質問をすると、多くの言語の多くの話者は「左側がマルマ」と答えます。

図1:マルマとタケテ.jpg
図1:マルマとタケテ
どちらが "マルマ" で、どちらが "タケテ" か

音象徴は、言語習得以前の赤ちゃんでも認められます。チリで行われた生後4ヶ月の赤ちゃんの実験では、親の膝の上に乗せられた赤ちゃんに、丸、楕円、四角、三角のどれかの図形を、大小をペアにしてスクリーン上に表示します。と同時に、様々な発音(音)を聞かせます。赤ちゃんの視線検知をすると、a を含む音を聞いたときは大きな図形の方を、i を含む音を聞いたときは小さな図形の方を見ることが分かりました。言語経験がほとんどない赤ちゃんですら、母音と図形大きさの関係に気づいているのです。

マルマとタケテの音象徴や、a と i の音象徴は、母語によらない共通性があります。しかし、ほとんどの音象徴は言語により個別です。たとえば、日本語においてカ行とタ行を含むオノマトペ、「カタカタ」「コトコト」「カチカチ」「コツコツ」は、いずれも硬いモノ同士の衝突音を表します。つまり、タ(t)、ト(t)、チ(ch)、ツ(ts)の子音が、音象徴で同じ意味と結びついている。

しかしこれは日本語ならではの音象徴です。たとえば英語では、titter は "忍び笑い"、chitter は "鳥のさえずり" で、t と ch が違う音象徴をもっています。

音がアイコン性をもつのが音象徴です。そしてアイコン性をもつ音の連なり=言葉がオノマトペであり、オノマトペが高度に発達した日本語や韓国語では、オノマトペこそ "身体で感じる感覚イメージを写し取る言葉" なのです。


言語の習得過程(1)


幼児の言語環境はオノマトペにあふれています。0歳児向けの絵本はオノマトペだけだし、0歳児・1歳児に対する親の語りかけもオノマトペが多用されます。そして2歳児以降になると、文や単語を修飾するオノマトペが増える。

そのオノマトペの発端が「音象徴」です。乳幼児は音象徴が認識できるかを著者が実験した結果が本書に書かれています。どうやって調べるのかというと、脳波の「N400 反応」をみます。

言葉を覚えたての1歳過ぎの幼児に知っている単語を聞かせ、同時にモノを見せたとき、単語とモノが合っているときと、単語とモノが違っているときでは脳波の反応が違います。たとえば、「イヌ」という音なのに絵はネコだとすると、音の始まりから400~500ミリ秒たったところで、脳の左右半球の真ん中付近の電位が下がります。これは大人でも単語と提示内容が不整合の場合にみられる反応で、N400反応と呼ばれています(N は Negative、400 は 400ミリ秒の意味)。

著者は、N400反応を利用して、言語習得前の生後11ヶ月の赤ちゃんのN400反応を調べました。次のような図形を用いた「モマ・キピ」実験です。

図2:モマとキピ.jpg
図2:モマとキピ
どちらが「モマ」で、どちらが「キピ」か


図2の2つの図形のうち、どちらが「キピ」で、どちらが「モマ」だろうか? ほぼ全員が、丸い方が「モマ」で、尖っている方が「キピ」であると直感的に感じる。第2章で見た「マルマ / タケテ」と同様、この直感は日本語話者だけではなく、世界中の異なる言語話者の間で共有されているようである。この直感的な音と形のマッチングを、11ヶ月の赤ちゃんも感じることができるのだろうか ?

このことを調べるため、赤ちゃんにことば(音)と対象の組み合わせを次々と提示していった。そのうちの半分は「合っている」組み合わせ(丸い形に「モマ」、尖った形に「キピ」)で、残りの半分は「合っていない」組み合わせ(丸い形に「キピ」、尖った形に「モマ」)である。合っているペアと合っていないペアは規則性を持たないようにランダムな順序で提示した。筆者らはこのように予測した。音と形が合っているか合っていないかを赤ちゃんが認識できるならば、2つのケースで違う脳の反応が見られるはずだ。

実際、この仮説は正しかった。しかもそれだけではなく、なんと、「合っていない」組み合わせを提示したときに、大人が「イヌ」という音を聴いてネコの絵を見たときと同じ反応、つまりN400の脳波の反応が見られたのである。

この結果はおもしろい可能性を示唆している。まだほとんどことばを知らない11ヶ月の赤ちゃんは、人が発する音声が何かを指し示すものであることをうっすらと知っているのだ。しかも、「音の感覚に合う」モノが、単語が指し示す対象かどうかを識別している。だから単語の音声が、音の感覚に合わないモと対応づけられると違和感を覚えるのだ。

(同上)

このように、ヒトの脳は音と対象の意味付けを生まれつき自然に行っています。これが、言葉の音(=記号)が身体に接地する第一歩になるのではないかというのが著者の意見です。

このことは、音の連なり(単語)にも意味があるという洞察につながります。さらには、対象それぞれに名前があるという "偉大な洞察" につながっていきます。

一般に、言葉の音からその意味を推測することはできません。「サカナ」という音の連なりは "魚" と何の関連性もありません。しかし、オノマトペは違います。「トントン」「ドンドン」(打撃音)や、「チョコチョコ」「ノシノシ」(歩く様子)などは、音が意味とつながっています。仮に「チョカチョカ」「ノスノス」とういう、現実には使われない "オノマトペ" を想定してみても、それが表す歩く様子は「チョコチョコ」「ノシノシ」と同じと感じられる。これは「サカナ」を「サカノ」にすると全く意味がとれなくなるのとは大違いです。

対象それぞれに名前があるというのは "偉大な洞察" だということを、著者はヘレン・ケラーのエピソードを引いて説明しています。


対象それぞれに異なる名前があるということは、実は偉大な洞察なのである。視覚と聴覚を失くしたヘレン・ケラーは、掌に冷たい水を受けているときにサリバン先生が“water"と指文字で綴ると、その指文字とは掌に流れる冷たい液体の名前なのだという啓示を得た。このエピソードをご存じの方は多いだろう。

それ以前にもヘレンは、モノを手渡されるそのときどきに、サリバン先生の指が別々の動きをしていることに気づいていた。しかし、彼女が手で触れるサリバン先生の指文字の形がその対象の「名前」だということには気づいていなかった。それまで、指文字を覚え、対象を手渡されれば指文字を綴ることができたが、ヘレンはのちにそれを「猿まねだった」と回想している。ヘレンは、water という綴りが名前だということに気づいたとき、すべてのモノには名前があるのだというひらめきを得た。この閃きこそが「名づけの洞察」だ。

名づけの洞察は、言語習得の大事な第一歩である。人間が持っている視覚や触覚と音の間に類似性を見つけ、自然に対応づける音象徴能力は、モノには名前があるという気づきをもたらす。その気づきが、身の回りのモノや行為すべての名前を憶えようとするという急速な語彙の成長、「語彙爆発」と呼ばれる現象につながるのだ。語彙が増えると子どもは語彙に潜むさまざまなパターンに気づく。その気づきがさらに新しい単語の意味の推論を助け、語彙を成長させていく原動力となるのである。

音と意味が自然につながっていて、それを赤ちゃんでも感じられることが、「単語に意味がある」という「名づけの洞察」を引き起こすきっかけになるのではないか。だから大人は赤ちゃんにオノマトペを多用するのだろう。

(同上)


「ノスノス」実験


しかし、「対象それぞれに名前がある」という洞察から「語彙爆発」に向かうのは単純なことではありません。単純ではない一つの理由は、音の連なり(=言葉)で対象を説明されたとしても、その言葉が対象の「形」なのか「色」なのか「動作」なのかが曖昧だからです。実はここでも、感覚イメージを写し取るオノマトペが役だちます。著者は、3歳ぐらいの幼児に次の絵(図3)を見てせて動詞(=実際には使われない仮想的な動詞)を教える実験を紹介しています。

図3:ノスノスしている.jpg
図3:ノスノスしている
ノスノスとはどういう動きを指す擬態語なのか


図3のような登場人物一人の単純な動きを表す動詞でも簡単ではない。このシーンを見ているときに、「ネケっている」という、オノマトペではない、音と意味の間につながりのない動詞を聞いたとしよう。「ネケっている」とは、〈ウサギがしている動き〉なのか、〈歩いている〉なのか、〈しこを踏むようにゆっくりのっそり足を交互に踏み出しながら歩く〉なのか。その解釈によって、「ネケる」が使える範囲は大きく異なってくる。

実験を見てみよう。3歳くらいの子どもが、図3のようなウサギの動作を見ながら「ネケっている」という(引用注:実際には存在しない)動詞を教えられる。その後、クマが同じ動作をしている動画と、同じウサギが別の動作である小股で小刻みに進んでいる動画を見せられ、「ネケってるのはどっちのビデオ ?」と聞かれると、どちらかわからない。

しかし、「ノスノスしている」とい実際には存在しないオノマトペ動詞を教えると、クマが同じ動作をしているほうを迷いなく選ぶことができることがわかった。「ノスノス」には音と意味の対応があるため、どの動作に動詞が対応づけられるべきなのかが直感的にわかるのである。

しかも驚いたことに、この効果は日本人の子どもに限らないこともわかった。英語を母語とする3歳児も、日本人の子どもと同じように動詞の学習にてこずり、図のような動きに fepping のようなオノマトペではない新造動詞を用いると、動作主が変わってしまったときに、やはり新造動詞を同じ動作に対して使えない。英語ではオノマトペは日本語ほど豊富にないし、子どもたちは日本語のオノマトペをまったく知らないのだが、それでも doing nosu-nosu というと、クマがする同じ動作にこの新奇な動詞を一般化して使うことができた

すなわち、人物に注目するのか、動き方に注目するのか、移動する方向に注目するのかという曖昧性のある中で、オノマトペの音は子どもに、どの要素に注目すべきかを自然に教えるのである。オノマトペには音と動作の対応があるので、一般化の基準となる意味のコアをつかむ手助けとなるのである。

(同上)

「ノスノス」は、人物を表すのではなく、動き(たとえば歩く)を表すのでもなく、動き方を表すのだと感覚的に分かるのです。このように、感覚と音が対応すると感じられる(アイコン性がある)オノマトペは言語学習の足場となり、手掛かりになるのです。


記号接地


もちろん、アイコン性のある言葉は言語学習の足場であって、最初の手掛かりに過ぎません。しかし言語という記号体系が意味を持つためには、基本的な一群の言葉の意味はどこかで感覚と接地(ground)していなければなりません。このことを指摘した認知科学者のハルナッドは、大人が中国語を学ぶ例をげて次のように説明しています。


あなたは中国語を学ぼうとするが、入手可能な情報源は中国語辞書(中国語を中国語で定義した辞書)しかないとしよう。するとあなたは永遠に意味のない記号列の定義の間をさまよい続け、何かの「意味」には永遠にたどり着くことができないことになる。

まったく意味のわからない記号の意味を、他の、やはりまったく意味のわからない記号を使って理解することはできない。他方、中国語の語を母語の語を介して理解することは可能である。母語の語は「感覚に接地」しており、接地した語を通じて接地していない外国語の記号を理解することが可能なのである。

(同上)

辞書の定義だけから言葉の意味を理解しようとするのは、一度も地面に接地することなく「記号から記号への漂流」を続けるメリーゴーラウンドに乗っているようなものです。

その一方で、永遠に回り続けるメリーゴーラウンドを回避するためには、すべての言葉が身体感覚と接地している必要は全くありません。身体感覚とつながる言葉をある程度のボリュームで持っていれば、それらの言葉を組み合わせたり、それらとの対比や、また比喩や連想によって、直接の身体経験がなくても身体に接地したものとして言葉を覚えていくことができるのです。



身体感覚に接地する代表が音象徴であり、オノマトペですが、一般語にも音と意味の繋がりを感じるものがあることに注意すべきです。たとえば「かたい」「やわらかい」はオノマトペではありません。しかし「かたい」の k、t は硬い印象を与える音象徴があり(阻害音)、「やわらかい」は柔らかい印象の音象徴があります(共鳴音)。

「おおきい」「ちいさい」も同様で、大きい印象を与える "o" の長母音と、小さい印象を与える "i" が先頭音にあります。言葉を覚えたての幼児に親が絵本を読んで聞かせるとき、これらの言葉をどういう風に(大袈裟に)発音するかを想像してみたら、それは明確でしょう。

また「たたく(叩く)」「ふく(吹く)」「すう(吸う)」はオノマトペではありませんが、オノマトペの歴史研究によると、これらは「タッタッ」「フー」「スー」という擬音語に、古語における動詞化のための接尾辞「く」をつけたものです。「ひよこ」も、「ヒヨヒヨ」という擬音語に、可愛いものを表す接尾辞「こ」をつけたものです(「ワンコ」「ニャンコ」と同じ原理)。

こういった "隠れたオノマトペ" は非常にたくさんあり、"記号接地" の一助になっていると考えられます。また、このあたりはオノマトペが発達していない英語にも当てはまります。日本語なら「オノマトペ + 動詞」で表現するところを、英語では1語の動詞で表すのが一般的です。たとえば、英語の「話す・言う」ジャンルの言葉に、

chatter (ペチャクチャ話す)
whisper (ヒソヒソ話す)
mumble (ブツブツ言う)
scream (キャッと言う)

などがありますが、これらは cha と チャにみられるように音象徴があります。



しかし、音象徴やオノマトペなどのアイコン性がある言葉があったとしても、基本的に言語は恣意的な記号の体系です。「日本国語大辞典」の見出し語は約50万語ですが、「日本語オノマトペ辞典」は、方言、古語を含んで 4500語です。多めに見積もったとしても、オノマトペは言葉の 1% に過ぎません。言語を習得するためには身体感覚とつながっているオノマトペから離れる必要があります。

そもそも言葉は抽象的で、記号とそれが表すものの関係は全く恣意的です。この恣意的な記号の膨大な体系をどうやって習得していくのか、それが本書の第2の主題です。


言語の習得過程(2)


子どもが言語を習得していく過程を観察すると「過剰一般化」の例がよくあります。具体的には、

・ 閉まっているドアをあけて欲しいとき「あけて」と言う
・ お菓子の袋をあけて欲しいとき「あけて」と言う

の2つを学んだ子どもが、

・ みかんを食べたいときにも「あけて」と言う

事例がありました。「開ける」は多くの子どもが過剰一般化する有名な動詞です。上の例では子どもが "自分の欲しいモノや場所にアクセスしたいとき「あけて」と言えばよい" と過剰一般化したわけです。それは残念ながら、ミカンでは間違いになる(日本語環境では)。

英語の open も、多くの子どもが過剰一般化します。明かりやテレビをつけるときも "open" という子が多い。しかし中国語ではそれで正解です。中国語の「カイ」は、日本語の開けると同じ意味に加えて、電気をつけたり、パソコンのスイッチを入れたり、車を運転することにも使うからです(その "開" の意味の一部は漢字を通して日本語に入り、開始、開会、開業、開店、開校、開港、などと使われています。さすがに開車とは言いませんが)。

過剰一般化はあくまで "過剰" なので、子どもの暮らす言語環境では間違いです。しかし子どもは推論しているのです。みかんを剥くことも「あける」だろうと ・・・・・・。みかんの場合は間違いなので、親から「そういうときは、"むいて" と言うのよ」と直されるでしょう。しかしオモチャ箱のフタなら「あける」は正しいので、親は子どもの要望にそのまま応える。そのようにして子どもは言葉を覚えていく。

推論をするから過剰一般化が起きます。キーワードは "推論" であり、学習は丸暗記ではなく推論というステップを経たものなのです。その推論にもいろいろなタイプがありますが、言語習得の鍵となるのは「アブダクション推論」です。


アブダクション推論


論理学における推論は、一般には「演繹推論」と「帰納推論」ですが、アメリカの哲学者・パースはこれに加えて「アブダクション推論」を提唱しました。アブダクション推論は「仮説形成推論」とも言います。この3つの違いを本書での例で説明すると次の通りです(言い方を少々変えました)。

ちなみに、アブダクション(abduction)には「誘拐」「拉致」の意味があり(というより、それが第1義であり)、それとの混同を避けるため、「レトロダクション(retroduction)推論」が使われることも多いようです。

演繹推論

① この袋に入っている玉はすべて10g 以下である(一般論。前提)。
② この玉は、この袋から取り出したものある(事実)。
③ この玉の重さは 10g 以下のはずだ(推論)。

帰納推論

① これらの玉はこの袋から取り出したものである(事実)。
② これらの玉の重さはすべて 10g 以下である(事実)。
③ この袋に入っている玉は全部 10g 以下であろう(一般論の推論)。

アブダクション推論

① この袋に入っている玉はすべて10g 以下である(一般論。前提)。
② これらの玉の重さはすべて 10g 以下である(事実)。
③ これらの玉はこの袋から取り出したものであろう(仮説形成)。

もちろん、常に正しい答えになるのは演繹推論だけです。しかし演繹推論は新しい知識を生みません。新しい知識を創造する(可能性がある)のは帰納推論とアブダクション推論です。

帰納推論は観察した事例での現象や性質が、その事例が属する集合の全体でも見い出されるとする推論です。つまり、部分を観察して全体に一般化する推論です。従って生み出される知識(= 一般化され普遍化された知識)は、部分としては既に観察されているものであり、とりたてて新しいものではありません。

それに対してアブダクション推論は、観察データを説明するための仮説を形成する推論です。この推論では、直接には観察できない何かを仮定し、直接観察したものとは違う種類の何かを推論します。従って、仮説が正しければ従来なかった新しい知識を獲得できます。上の例のアブダクション推論を分析すると、そもそも、

これらの玉はこの袋から取り出したものであろう(仮説形成=A)。

という仮説形成ができる理由は、もし A が正しいとすると、演繹推論(=常に正しい推論)によって、

これらの玉の重さはすべて 10g 以下である(観察された事実=B)

が成り立つからです。つまり A → B を理解した上で、B から A を推論している(B → A)。アブダクション推論が「逆行推論」とも呼ばれるゆえんです。もちろん、A → B は常に正しいのですが、その反対の B → A が常に正しいわけではありません。従って A はあくまで「仮説」であって、仮説には検証が必要です。その検証をパスすると新知識の獲得になる。こういった類の推論がアブダクション推論 = 仮説形成推論です。

仮説形成推論の言語学習における役割について、本書ではヘレン・ケラーのエピソードも引きながら、次のように説明してあります。


ヘレン・ケラーのエピソードをもう一度考えてみよう。ヘレンは、モノや行為と同時に掌に指で何か刺激を受けること(指文字が綴られること)に気づいていた。モノと刺激のパターンに一定の対応づけがあることも理解していた。

しかし、掌の刺激が何であるかは理解していなかった。彼女が理解していたのは、観察できる範囲の中で、モノや行為と同時に決まった刺激パターンが掌に与えられる、ということだった。これはすなわち、単純な帰納的一般化と言えるだろう。

以前にはチンパンジーにことばを学習させようという試みがずいぶん行われ、実際にチンパンジーたちはリンゴ、バナナ、くつや、赤、青、黒、黄色などの積み木に対して、それぞ記号(絵文字)を対応づけることを学習した。ヘレンが water 事件の前に学習していたこ
とは、チンパンジーのモノと記号の対応づけの学習とさして変わらないものだったかもしれない。

しかし、ヘレンは、手に水を浴びたときに、サリバン先生が手に綴った water が、この冷たい液体の名前であると理解した。これは、単純な洞察と思われるかもしれない。しかし、ヘレンはそこから「すべてのモノには名前があることを理解した」と述べている。冷たい水を掌に感じ、同時に掌に綴りを感じたとき、彼女は、過去に遡及してこれまでの経験がみな「同じだった」ことを理解したのである。そして、そこからさらにアブダクションを進め、「すべての対象、モノにも行為にもモノの性質や様子にも名前がある」という洞察を得たのである。

これがいかに大きな洞察であるか。パースが指摘したように、何らかの仮説がないと事実を集めることを始めることができない。第4章で述べたように、人間の赤ちゃんが音(人の声による音の塊)といっしょに現れる対象の間に必然的なつながりがあると感じたり、対応づけに違和感を覚えたりする能力(異感覚マッピングの能力)があったとしても、ヘレンの water の場合のように「人の発する音声の塊は対象の名前である」という洞察を得なければ、言語は習得できただろうか ? それ以前のヘレンのように、あるいは研究者によってことばの学習をさせられたチンパンジーたちのように、それ以降、単純に観察できる単語の形式(音声、手話、点字など)と対象のつながりから、「単語の意味」を探求しようとはしないのではないか。そしてさらに、「語彙の仕組み」や「単語をまとめる規則によって意味を作り出す仕組み」の探求を始めようとしないのではないだろうか。

(同上)

「すべての対象には名前がある」という洞察は、さらに「名詞は形によって一般化される」「動詞は動作の類似性によって一般化される」という洞察につながっていきます。



アブダクション推論の具体例をもう少し考えてみます。子どものアブダクション推論は "言い間違い" によく現れます。たとえば、

イチゴのしょうゆ(練乳の意味)

と言った子どもがいました。もし大人が練乳を「イチゴの醤油だね」と言ったとしたら、それは意識的な比喩です。しかし子どもは「しょうゆ = 食品にかけておいしくするもの」という推論をした上で、"イチゴのしょうゆ" という "言い間違い" をしたわけです。

足で投げる(蹴るの意味)

という間違いもあります。大人は「投げる」と「蹴る」は全く違う行為だと考えます。しかしよく考えてみると、両方とも「関節を曲げて伸ばすという行為によって何かを遠くへ飛ばす」という構造的類似性があります。子どもはその類似性による推論をして「足で投げる」になった。

言うまでもなく、アブダクション推論(と帰納推論)は常に検証・修正されなければなりせん。特に、アブダクション推論は過剰一般化と隣り合わせです。子どもは、ある時は推論=言い間違いを親から訂正され、またあるときは推論を親にすんなりと受け入れられ、そういう繰り返しで語彙を爆発的に増やしていくのです。


アブダクションの起源:ヒトと動物の違い


「すべての対象には名前がある」という気づきは、言語という記号体系を自分で構築していくための第1歩となる "偉大な" 洞察です。しかしこの洞察の背後には、暗黙に仮定されているもう一つの洞察があります。それは、

名前は形式と対象の双方向性から成り立っている

という洞察です。これはどういうことでしょうか。以下の説明では、モノをカタカナで、その発音をローマ字で記述します。

言葉を覚えたての幼児に、バナナとリンゴとミカンの名前を教えることを想定します。バナナを手にとって「これは banana」と教え、リンゴを手にとって「これは ringo」と教え、ミカンを手にとって「これは mikan」と教えます。何回かやると子どもは果物の名前を覚えます。そのあと、バナナを手にとって「これは ?」と問いかけると、子どもは「banana」と答える。リンゴ、ミカンについても同じです。つまり子どもは、バナナ → banana、リンゴ→ ringo、ミカン → mikan と覚えたわけです(モノ → 発音)。

この段階で、子どもの前にバナナとリンゴとミカンを置きます。そして「ringo はどれ?」と質問すると、こどもは間違いなくリンゴを手にするでしょう。バナナとミカンについても同じです。もし、自分の子どもがそれができない、つまり「ringo はどれ ?」と質問してもバナナを取ったりすると(あるいは、まごついて何もしないと)、親はショックを受けるでしょう。発達障害かと思ってパニックになるかもしれない。

子どもは、モノ → 発音 を習得すると、その裏で自動的に banana → バナナ、ringo→ リンゴ、mikan → ミカン という "逆の推論" をしています。これを「対称性推論」と言います。対象に名前があるということは、このような「形式(=名前)と対象の双方向性」を前提にしているのです。でないと "対象の名前" は意味がなくなる。

そんなこと当たり前だろうと思われるかもしれません。しかしそれは人間だから当たり前なのであって、動物では当たり前ではないのです。本書の著者の今井氏は、子どもが言葉を習得する過程を研究していますが、京都大学霊長類研究所の松沢教授とチンパンジー "アイ" の動画をみて驚愕しました。


だが、ことばの形式と対象の間には双方向性の関係性があるという、人間にとって当たり前のことは、動物にとっては当たり前ではないのである。今井が何年も前に見た、ある動画を紹介したい。京都大学霊長類研究所(当時)の松沢哲郎教授とチンパンジー「アイ」の実験の動画だった。

アイは訓練を受けて、異なる色の積み木にそれぞれ対応する記号(絵文字)を選ぶことができる。黄色の積み木なら、赤の積み木なら◇、黒の積み木なら○を選ぶという具合である。アイはこれをほぼ完璧にできるという。訓練のあと、時間が経ってもその対応づけの記憶は保持されていた。

しかし、動画後半の展開は衝撃的だった。今度は、アイに、記号から色を選ぶよう指示した。黄色、赤、黒など、最初の訓練で用いた色の積み木を用意した。△を示したら異なる色の積み木から黄色い積み木、◇を見せたら赤い積み木、○を見せたら黒い積み木を選べると、当然私たちは予想する。自分の子どもでそれができなかったらパニックになるかもしれない。

だがアイは、訓練された方向での対応づけなら難なく正解できるのに、逆方向の対応づけ、つまり異なる記号にそれぞれ対応する積み木の色を選ぶことが、まったくできなかったのである。

(同上)

人間は
 記号→対象
を学習すると、同時に、
 対象→記号
も学習します。つまり対象性推論を行います。もっと広く言うと、
 XだからA
をもとに、
 AだからX
という推論をします。たとえば、雨が降ったら道路が濡れる、という一般論をもとに、

家の前の道路が濡れていた → 雨が降ったのだろう

と推論します。しかしこれはアブダクション推論であって、正確に言うと「雨が降ったという仮説形成をした」わけです。事実は、雨が降ったのではなく、向かいの家の人が水を撒いたのかもしれないし、放水車が通ったのかもしれない(そういった可能性はあくまで情況次第です)。

人間は「原因 → 結果」から「結果→原因」という推論をよくやります。もちろんこれは論理的には正しくない推論 = 非論理推論です。過剰一般化だともいえる。このようなアブダクション推論の一つとして、形式と対象の間の対称性推論があります。人間はそれを当然のように行う。しかし、動物は違います。


デイヴィッド・プレマックというアメリカの心理学者は、動物がアブダクション推論をするか、とくに、動物が結果から原因について推測すると考える根拠はないと結論づけている。彼は次のように述べている。「動物は、自分自身の行為が原因にならないような現象(たとえば、風で樹が折れる現象)が因果的事象であることを学習するのだろうか。おそらく動物でも、大きな岩は小さな岩よりも樹の枝を折りやすいということはわかるだろう。しかし、大きな岩が折れた枝のそばにあるのを見たときに、その岩が枝を折ったと推測できるだろうか?それを示す証拠はこれまでに報告されていない」。

このことに関連して、ベルベットモンキーは、天敵である蛇が砂地の上に跡を残して這うのを見ることがあっても、蛇の這った跡から蛇の存在を予測できない、という興味深い報告がある。このサルたちは、蛇がいない状態で跡を見ても不安を示したりはしない。すなわち、砂の跡は蛇が近くにいることを意味する、と予測するような学習は起こらないのだ。

それに対して、ヒトは自分に直接関わりのない自然現象などについて、因果関係を認識する(というより、その必要がなくても原因を推測してしまう)。

動物が対称性推論をするかどうかの問題は、ヒト以外の動物が因果推論に代表される非論理的で経験則に基づく推論をできるかという問題につながるので、世界中の多くの研究者たちが関心を持ち、長年取り組んできた。対象となった動物もチンパンジーやサル、ネズミ、アシカ、ハト、(鳥類でもっとも賢いとされる)カラス、カケスなど多様である。

ある研究者が2009年に「25年間の対称性研究」という論文で、1980年代から4半世紀にわたる動物種の対称性研究を総括するレビューを発表した。基本的にどの種のどのような手法を用いた研究でも、動物が対称性推論をすることは確認されていない。ただ、例外はアシカを対象にした研究で、アシカに対称性推論が見られるという報告がなされている。ただ、この研究は実験方法に問題があるとして結論を疑問視する批判も上がっていて、アシカが対称性推論をする可能性は立証されたというよりグレーなままである。

(同上)

ヒトと祖先が同じであるチンパンジーはどうかというと「チンパンジーは種としては対称性推論をしない」ことが結論づけられています。ただし、京都大学霊長類研究所で "アイ" といっしょに飼育されていた "クロエ" という個体だけは対称性推論ができることが確認されています。

そこで疑問が起きます。ヒトの対称性推論はヒトがもともと持っている能力なのか、それともヒトが言語習得の過程で獲得する能力なのかです。今井氏は、前者が正しい、つまり、

言葉を覚える前の乳児が対称性推論ができる

という仮説をたて、それを検証するための実験を行いました。


乳児は対称性推論をするか


対象としたのは生後 8ヶ月の乳児、33人です。この段階の乳児は、音の連なりから単語(=音の固まり)を切り出す学習をしている段階で、知っている単語は極めて少なく、もし対称性推論ができたとしたら、それは言葉の学習の経験から得たものではないことが実証できます。

図4:乳児の対称性推論の実験.jpg
図4:乳児の対称性推論の実験


どのような実験をしたのか、簡単に紹介しよう。生後8ヶ月のヒト乳児に、図4の2種類の動画を繰り返し見せた。動画では、2種類のおもちゃ(イヌとドラゴン)がまず提示され、その後、おもちゃが小さくなってボールに変身し、ボールが動きだすが、別々の動きが続く。イヌが変身したボールはジグザグに動き、ドラゴンが変身したボールは曲線的に動く。つまり、赤ちゃんは2種類のモノ → 動きの組み合わせを学習するわけである。

赤ちゃんが2種類の組み合わせのどちらも学習したことを確認したら、テストを始める。ちなみに、赤ちゃんがモノ → 動きの対応づけを学習したかどうかは赤ちゃんの視線で計測する。赤ちゃんは、決まった組み合わせを学習すると、飽きてそれ以上動画を見ようとしなくなる。その性質を利用して、学習したかどうかの判断に使うのである。

テストでは、モノ → 動きの順番を逆に行う。動画は動きから始まり、その後に、2つのおもちゃが見せられる。トライアルによって、訓練で学習したように、動きとモノが対応するパターンと、動きとモノが対応しないパターンを見せる。図4の例でいうと、ジグザグの動きのあとにイヌが出てきたら訓練と一致、ドラゴンが出てきたら訓練と不一致の組み合わせになる。

赤ちゃんが、学習したモノ → 動きの対応づけを逆方向に一般化したら、赤ちゃんは対称性推論をしたと見なす。対称性推論をしないのであれば、モノ → 動きの対応づけは、動き → モノの対応づけには関係ないと見なされ、訓練のときと同じモノを見ようが、違うものを見ようが、赤ちゃんの反応は変わらないはずだ。

ここでも、赤ちゃんの推論の指標は視線である。赤ちゃんは予測と違う事象を見せられると、ビックリして、予測どおりのときに比べて事象を長く注視することがわかっている。この実験に参加した赤ちゃんが対称性推論をしているのであれば、テストのときに、訓練とは違う動きとモノが対応しない動画が始まっても、訓練で学習したように動きに対応したモノが現れることを期待するはずである。イヌ → ジグザク、ドラゴン → 曲線のペアを学習した赤ちゃんが、ジグザクから始まる動画を見れば、イヌを見ることを予想するので、そこにドラゴンが現れたらビックリして長くその動画を注視するはずなのだ。

結果は、生後8ヶ月の人間の赤ちゃん、つまり、単語の意味の学習を本格的に始めていない、意味がわかることばをほとんど持っていない赤ちゃんが、対称性推論をするということを示すものであった。赤ちゃんは、2つの要素(モノと動き)の連合を学習したとき、教えられた方向と逆から提示されても、モノと動きの連合が保持されると考え、学習した対応づけと違う組み合わせを見せられるとビックリしたのである。

(同上)


チンパンジーは対称性推論をするか


チンパンジーは他の動物と同じく、種としては対称性推論をしないことが分かっています。著者の今井氏は、乳児にやったのと同じ実験でこのことを確認しようと考えました。対象は京都大学霊長類研究所の7頭(成体)のチンパンジーです。


以前の研究と同じように、チンパンジーは対称性推論ができない(あるいはあえてしない)なら、テストで、動きから始まった動画を見たら、訓練のおもちゃがその動きに対応づけられたものでも、対応づけられていなくても、関係ないと思うはずだ。つまり、2つのおもちゃを見る時間に差がないことが予想される。

このとき大事なことがある。チンパンジーが、訓練ではモノ → 動きの対応づけをきちんと学習できたことを確認しておかなければならない。そうでないと、テストで、訓練と一致したペアと一致しないペアを見る長さが変わらないというときに、それは対称性推論をしないからなのか、もともと対応づけを学べなかったからなのかがわからない。

そこで、あらかじめ7頭のチンパンジーたちには、訓練された対応づけが学習できることをテストしておいた(順方向テスト)。このテストでは、訓練したあとで、訓練どおりの組み合わせと、訓練とは違う組み合わせを見せて、チンパンジーがそれらを見る時間が違うかどうかを確かめた。その結果、チンパンジーは、訓練の組み合わせを順方向ではきちんと学習したことが確認された。その上で、順方向の訓練とテストが影響しないよう、何ヶ月か時間を空けて対称性推論の訓練とテストを行った。

結果は、「アイ」の報告を含むこれまでの研究と同じだった。つまり、チンパンジーたちは、集団としては、訓練のときと逆方向の動き → モノの順に見せられた動画では、訓練のときの組み合わせと同じペアでも違うペアでも、まったく動画を見る時間が変わらなかったのである。

(同上)

この実験は「チンパンジーは種としては対称性推論をしない」ことを再確認する結果となりました。ただし、非常に興味深いことに "クロエ" という個体だけは対称性推論をすることが示されました。これは京都大学霊長類研究所の以前の研究と整合的です。

この "クロエ" は「相互排他性推論」もできることが分かっています。相互排他性推論は、ヒトであれば言葉を覚えたての2歳以下の乳児でもできる推論です。つまり "コップ" という言葉は知っているが "ハニーディッパー" は知らない(=言葉もモノも知らない)子どもに対して、コップとハニーディッパーを目の前に置き「ハニーディッパーを取って」と言うと、子どもは躊躇なく、知らないはずのハニーディッパーを取ります。

つまり「未知の名前は自分が知らないものを指す」という推論が、2歳以下の子どもでもできるのです。これが相互排他性推論で、非論理推論と言えます。なぜなら「ピーラーを取って」でもハニーディッパーを取ることになるからです。ただし、「コップとハニーディッパーのどちらかを取ることが正しい」という前提があれば、極めて論理的な推論です。

"クロエ" だけが対称性推論や相互排他性推論といったアブダクション推論(=非論理推論)ができるということは、チンパンジーの中には少数の割合でそれができる個体がいると想像できます。ということは、アブダクション推論の萌芽がヒトとチンパンジーの共通祖先にすでにあり、ヒトの進化の過程でそれが徐々に形成され確立されていったという可能性が出てくるのです。

本書にはない話ですが、NHK BSP の番組、ヒューマニエンス「"イヌ" ヒトの心を照らす存在」(2021年10月21日)で、麻布大学 獣医学部の菊水健史たけふみ教授が "イヌは相互排他性推論をする" との主旨を語っておられました。

すべてのイヌ(ないしはほとんどのイヌ)なのか、一部のイヌなのかは覚えていません。ただこの番組は、家畜化に伴って現れたイヌの性質・性格や、ヒトとの類似性(幼形成熟など)、ヒトとイヌの深い絆の話だったので、「一般的に、訓練されたイヌは相互排他性推論をする」という主旨と考えられます。

本書で述べられているは、「一般に、動物は対称性推論をしない」ということでした。つまり「イヌは対称性推論をしない(できない)」ということになります。A → B を習得して 非A → 非B を推論するのが相互排他性推論ですが、対称性推論は B → A の推論であり、"逆行する推論" です。そこに難しさがあるのかもしれません。


人類の進化


本書で、ヒトと動物の違いの説明があるのは「第7章 ヒトと動物を分かつもの」で、この章は全体のまとめである "終章" の前の最後の章です。その第7章の最後は「人類の進化」という見出しになっています。引用すると次の通りです。


いずれにせよ、対称性推論による(論理的には正しくない)逆方向への一般化は、言語を学び、習得するためには不可欠のものであるし、我々人間の日常の思考においても、科学の中で現象からその原因を遡及的に推論する因果推論においても必要なものである。

帰納推論・アブダクション推論という誤りを犯すリスクのある非論理的推論が持つ利点をあらためて考えてみよう。先述のように、これらの推論は、既存の限られた情報から新しい知識を生み出すことができる。しかも、より少ない法則や手順で多くの問題を解くという節約の原理にかなっており、不確かな状況、能力的な制約の下で、限られた情報でも、完全でないにしろそれなりに妥当な問題解決や予測を可能にしている。

また、事例をまとめるルールを作ることで、外界の情報を整理・圧縮することが可能になり、情報処理上の負荷を減らすことができる。現象からその原因を遡及的に推理し、原因を知ることで、新しい事態にも備えることができるのだ。

ヒトは、居住地を全世界に広げ、非常に多様な場所に生息してきた。他方、そのために多くの種類の対象、他民族や自然などの不確実な対象、直接観察・経験不可能な対象について推測・予測する必要があった。未知の脅威には、新しい知識で立ち向かう必要があった。この必要性を考えれば、たとえ間違いを含む可能性があってもそれなりにうまく働くルールを新たに作ること、すなわちアブダクション推論を続けることは、生存に欠かせないものであった。アブダクション推論によって、人間は言語というコミュニケーションと思考の道具を得ることができ、科学、芸術などさまざまな文明を進化させてきたと言えるかもしれない。

他方、生息地が限定的なチンパンジーなどでは、生活の中で遭遇する対象の多様性・不確実性がヒトほど高くない。そのような環境の下では直接観察できる目の前の対象を精度よく処理するほうが生存には有利なので、「間違うかもしれないけど、そこそこうまくいく」思考はそれほど必要なかったのかもしれない。その場合、誤りのリスクを冒してアブダクショ推論をするより、誤りを犯すリスクが少ない演繹推論のほうが、生存に有利だったのかもしれない。

(同上)

人類(ホモ族)発祥の地・アフリカにおいて、チンパンジーは森に残り、霊長類で一般的な植物食、果実食に留まった。一方、東アフリカで乾燥化が進むサバンナの草原地帯に進出したホモ族は、そこでの狩猟採集というライフスタイルに突入し、そこから居住地を全世界に広げていった。それは、不確実な対象、直接の観察や経験が不可能な対象について推測・予測する必要がある生活であった。その結果、ヒトは言語を獲得して進化させ、その要因にアブダクション推論の進化があった、というのが本書の最後の論考ということになります。

「オノマトペ」から始まったはずの考察が、最後に「人類の進化」に行き着くのは驚きですが、そこが本書の魅力です。


感想


以上に紹介したのは本書(新書版で280ページ)の一部というか、"さわり" だけですが、「言語とは何か」を通して「ヒトとは何か」にまでに至る論考には感心しました。その際のキーワードは「記号接地」と「アブダクション推論」です。

「記号接地」に関しては、ヒトと AI の違いは何かが明確に答えられています。特に ChatGPT のような大規模言語モデルによる生成AI が創り出すテキストと人間の言語の違いです。逆にいうと ChatGPT が今後どういう方向を目指すのか、予想できると感じました。

「アブダクション推論」では、ヒトが他の動物と何が違うのか、その答え(の一つ)になっています。まさに「ヒトとは何か」に迫った論考で、特に「非論理的な推論をするからヒトなのだ」という主張です。アブダクション推論をはじめとする非論理的な推論は、言語システムの獲得に必須だし、また仮説形成が科学・技術の発達の原動力であることは言うまでもありません。

但し、その非論理的推論は、検証と修正にささえられています。言語獲得の場合は親との生活の中での(暗黙の)検証と修正の繰り返しだし、科学における仮説は、その正しさを証明する実験や分析が欠かせません。

原因から結果だけではなく、結果から原因を推論するのが人間の本性なのです。しかし検証と修正がない「結果 → 原因」推論は、社会レベルで考えると害悪をもたらします。そういった言説があふれている(メディアの発達がそれを加速している)のが現代社会という見立てもできると思いました。



本書は大変に有益な本ですが、残念なのは構成に難があることです。特に「第3章 オノマトペは言語か」です。ここでは、オノマトペは言語であるとの証明が長々と書かれています。

しかし、オノマトペがシスマティックに発達している日本語を使っている我々日本人にとって、オノマトペが言語なのはあたりまえです。おそらくオノマトペを "言語より一段低いもの" と見なす(ないしは "言語活動における枝葉末節" と見なす)欧米の言語学者への反論なのでしょうが、この章は余計でした。本書の英訳版を出すときに付け加えればよいと思いました。

さらに本書は、著者(今井氏)が過去からの探求の過程を振り返り、いろいろ考えると次々と疑問が沸いてくる、その疑問を解決してきた過程を発見的に書いている部分があります。それが悪いわけではありませんが、必然的に論旨が行き戻りすることがあり、もっとストレートに最新の研究成果に至る道を直線的に記述した方が、全体として分かりやすくなると思いました。ただ、これが本書の魅力と言えば魅力なのでしょう。



ともかく、本書は知的興奮を覚える本であり、久しぶりに読書の楽しみを味わいました。



 補記1:認知科学者がみる ChatGPT 

本書の著者の今井むつみ氏が ChatGPT について書かれた文章を紹介します。子どもが言語を習得する過程に詳しい今井氏ならではの見方が出ています。

これは、岡野原大輔『大規模言語モデルは新たな知能か』(岩波書店 2023)の書評です。岡野原氏は日本の代表的なAI企業であるプリファード・ネットワークス社の共同創業者であり、同社の代表取締役最高研究責任者です。

[この一冊]

岡野原大輔 著
「大規模言語モデルは新たな知能か」

ヒトの言語学習にも洞察

社会現象となっているChatGPTだが、仕組みを概念的に理解できなければ利点も限界もリスクも分からない。本書は ChatGPT に代表される大規模言語モデルの可能性とリスク、歴史的変遷や従来モデルとの違いを解説する。

大規模言語モデルはモデルサイズを大きくするほど性能が上がるとの現象を示し、従来の機械学習の常識を覆した。人工知能(AI)研究は当初、人間の知性を機械で再現することで人間を理解しようとの目的を持っていた。しかし人間には不可能な計算能力を生かした手法が、機械の学習にはもっとも効果的だったことになる。AI研究者たちはこれを「苦みを帯びた成功」として受け止めているそうだ。

モデルサイズを大きくしていく中で、それまで解けなかった問題がある時点から急に解けるようになる「創発」が起こるという。ヒト乳児は情報のほとんどを遮断し、処理できる情報だけを脳に入れている。成熟と知識の増加に伴い、入れる情報の量を漸進的に増やす。情報を入れる窓のサイズや最初に言語情報のどの要素に注目するかは生物学的に決まっている。この発達・学習過程を認知科学では「Less is more 理論(小は大に勝る)」と呼ぶ。大規模言語モデルは反対の「More is better 理論(大きいほど強い)」に依拠している。言語学習の大前提がAIの大規模言語モデルとヒトとではまったく異なる。

しかし大規模言語モデルを可能にした(そして従来の機械学習にはなかった)トランスフォーマーというモデルは「注意機構」を組み入れ、入力データに応じて、どの情報を残し、どれを無視するかを制御する。字面を読む限りヒト乳児がしていることと非常に似ている

もうひとつ驚くべき共通性は「メタ学習」である。複数タスクの学習から共通のパターンを抽出し、学習方法自体を学習させることだ。メタ学習は子どもの言語習得を駆動するために必須である。著者は大規模言語モデルも自己注意機構との組合わせにより、偶発的にメタ学習を実現したと述べている。

ヒトと学習の仕組みは異なるはずだが、ChatGPTは柔軟な状況適応能力をもち、人間の言語パフォーマンスに非常に似た言語を出力できる。人間の学習のしかたと知識のあり方を再考する機会となりうる。

《評》慶応義塾大学教授 今井むつみ

日本経済新聞 2023年8月26日
朝刊 読書欄(31面)

「言語の本質」で展開されている議論に従うと、「ChatGPT は記号接地なしに、記号から記号への漂流を続ける生成 AI」です。それでも、ヒトとまともに会話したり、翻訳したりできます。今井氏も「言語の本質」の中で、"使わなければ損というレベルになっている" と評価していました。

しかし今井氏は、岡野原氏の「大規模言語モデルは新たな知能か」を読んで驚いたのでしょうね(たぶん)。ChatGPT の「注意機構」と「メタ学習」は、乳児が言語を獲得するプロセスと同じではないかと ・・・・・・。発達心理学のプロからすると、そう見えるのでしょう。

岡野原氏も本の中で書いていますが、メタ学習(学習のしかたを学習する)のポイントのなるのは「注意(Attention)機構」です。Google が開発した「トランスフォーマー」という技術は、この「注意機構」実装していました。それを利用して超大規模化モデルを作るとメタ学習まで可能になることを "偶発的に発見した"(岡野原氏)のが OpenAI です。Google や OpenAI の技術者が、当初は全く予想できなかったことが起こっている。

ヒトとは何かを突き詰めるためには、ヒトでないものも知らなければなりません。そのため「言語の本質」ではチンパンジーでの研究が書かれていました。しかし、大規模言語モデルによる生成AI も "ヒトでないもの" であり、しかもヒトと比較するレベルになっています。生成AIの研究がヒトとは何かを探求する一助になりうることを、今井氏の書評は言っているように思えました。

(2023.8.26)


 補記2:オノマトペ 

2024年8月17日、文化庁が2023年度の「国語に関する世論調査」の結果を発表しましたが、この中にオノマトペの調査もありました。「さくっと」「もふもふ」などの新しいオノマトペの浸透度を調べたものです。9月21日の朝日新聞・天声人語はこのオノマトペの調査結果がテーマでしたが、その中に『言語の本質』が出てきたので引用します。天声人語は例によって▼で区切られた6段落の文章ですが、段落を空行にして引用します。


天声人語

ものの音や状態などを表す擬音語・擬態語(オノマトペ)は外国語にもある。南欧のバスク語で「グルカグルカ」とは、水などを飲む時のごくごくにあたるそうだ。インドネシアのカンベラ語の「ンブトゥ」は、重い物が落ちた音。日本語ならば、どさりだろうか。今井むつみ、秋田喜美著『言語の本質』に教わった。

全く知らない言語なのに、音の響きから何となく雰囲気は伝わってくるのがおもしろい。名は体を表す。ウサギとヘビの写真を並べ、どちらが「もふもふ」しているかと外国の人に聞いら、意外と正解率は高いのかもしれない。

動物の毛などが豊かでやわらかい触り心地であるさま、とデジタル大辞泉は説く。2000年代に生まれた表現だ。文化庁の「国語に関する世論調査」で、52%が「もふもふ」を使うことがあると答えた。もはや定着したといっていいのだろう。

三島由紀夫は、こうしたことば遣いに厳しかった。抽象性がなく、子どもや女性の文章に多く、言語本来の機能をもたない堕落した形だ、と『文章読本』でやっつけている。どうも意見があわない。

冒頭の本が、オノマトペの弁護士役を買って出ている。他のことばと同じように、時代で意味が変わり、新たな表現も生み出せる。「一人前の言語の一員」である、と。

例えば「きらめく」も「よろける」も、もとはオノマトペだった。これから先、どんな新しいことばが日本語に登場するのか。きょろきょろ、どきどき、にやにやしながら見守る。

朝日新聞(2024年9月21日)

この文章を読んで、なるほどと思いました。『言語の本質』の「第3章 オノマトペは言語か」では "オノマトペは言語であるとの証明" が長々と書かれています。そのことについて本文中に、

しかし、オノマトペがシスマティックに発達している日本語を使っている我々日本人にとって、オノマトペが言語なのはあたりまえです。おそらくオノマトペを "言語より一段低いもの" と見なす(ないしは "言語活動における枝葉末節" と見なす)欧米の言語学者への反論なのでしょうが、この章は余計でした。本書の英訳版を出すときに付け加えればよいと思いました。

と書きましたが、オノマトペを "言語より一段低いもの" と見なすのは、何も欧米の言語学者だけではないのですね。おそらく三島由紀夫のみならず、現代日本の言語学者や文学者の間にもオノマトペを "さげすむ" 風潮が残っているのでしょう。『言語の本質』の第3章はそういう意味かと思いました。

(2024.10.7)



nice!(0) 

No.363 - 自閉スペクトラム症と生成AI [技術]

No.346「アストリッドが推理した呪われた家の秘密」で、NHK総合で放映中の「アストリッドとラファエル 文書係の事件簿」に関係した話を書きました("麦角菌" と『イーゼンハイムの祭壇画』の関係)。今回もその継続で、このドラマから思い出したことを書きます。現在、世界中で大きな話題になっている "生成AI" に関係した話です。


アストリッドとラファエル


「アストリッドとラファエル 文書係の事件簿」は、NHK総合 日曜日 23:00~ の枠で放映されているフランスの警察ドラマです。そのシーズン2の放映が2023年5月21日から始まりました。

アストリッドはパリの犯罪資料局に勤務する文書係の女性(俳優はサラ・モーテンセン)、ラファエルはパリ警視庁の刑事(警視)です(俳優はローラ・ドヴェール)。アストリッドは自閉スペクトラム症ですが、過去の犯罪資料に精通していて、また抜群の洞察力、推理力があります。一方のラファエルは、思い立ったらすぐに(捜査規律違反もいとわず)行動に移すタイプです。しかし正義感は人一倍強く、人間としての包容力もある女性刑事です。この全く対照的な2人がペアになって難事件を解決していくドラマです(サラ・モーテンセンの演技が素晴らしい)。


シーズン2 第6話「ゴーレム」(2023年6月25日)


この第6話で、ラファエル警視とペラン警部とアストリッドは、殺害された犯罪被害者が勤務していた AI 開発会社を事情聴取のために訪れます。会社の受付にはディスプレイ画面が設置されていて、受付嬢が写っていました。訪問者はその受付嬢と会話して、訪問相手を伝えたり、アポイントメントを確認します。もちろん殺人事件の捜査なのでアポなしであり、ラファエルとペランは受付を無視してオフィスの中に入っていきました。

しかしアストリッドはその受付嬢に興味を持ちました。実はそれはAIが創り出した "バーチャル受付嬢" で(名前はエヴ)、表情の変化や声は人間そっくりで、受付業務に必要な応対ができるのみならず、受付業務とは関係のない会話も来訪者とできて、質問に答えたりするのです。これは今で言うと、世界中で大きな話題になっている「大規模言語モデルによる生成AI」(ChatGPT や Bard など)と「画像生成AI」の複合体です。アストリッドは受付に留まって、エヴとの対話を続けました。

会社での事情聴取が終わったあと、アストリッドはラファエルの車で帰ります。そのときの2人の会話です。


ラファエル
あーあ、驚いた。まぁ、よく聞くと人工的だけど、完全に人間だと思い込んでた。

アストリッド
あっ。

ラファエル
分かった? 気づいてたの? どこで? 声?

アストリッド
いいえ。体の動きに違和感がありました。顔の表情は自然ですが、体は同じ動きを繰り返していました。3つのです。1、2、3。

・・・・・(中略)・・・・・

彼女が実在せず残念です。とても的確な応答で、信頼できて、安心しました

ラファエル
的確に答えるよう、プログラムされてても、人に共感はしない。

アストリッド
スペクトラムも共感ができないと言われます。

ラファエル
スペクトラム ?

アストリッド
自閉症です。自閉スペクトラム症。人と共感する能力がないとよく言われます

ラファエル
言う奴はバカだよ。

アストリッド
だからエヴとのやりとりを心地よく感じたのかと

ラファエル
あなたは、共感できてる。本当だよ。

アストリッド
ふ、ふ。


アストリッドとラファエル.jpg

エヴとの会話について、アストリッドの発言をまとめると、

・ 的確な応答で、信頼できて、安心した。
・ 自閉スペクトラム症である私は、人と共感する能力がないとよく言われる。だからこそ、エヴとの会話が心地よかった。

となるでしょう。キーワードは「安心」と「共感」です。

自閉スペクトラム症(ASD。Autism Spectrum Disorder)とは、自閉症やアスペルガー症など、かつては複数の診断名がついていたものを統合したものです。これらは境界線が引けるものではなく、光のスペクトルのように連続的に変化する症状がありうる。だから "スペクトラム" なのです。

NHKのホームページの「NHK健康チャネル」に簡潔な説明があります(https://www.nhk.or.jp/kenko/atc_346.html)。それによると自閉スペクトラム症は「自閉症」「高機能自閉症」「アスペルガー症候群」の総称であり、次のようになります。

自閉スペクトラム症
自閉症高機能
自閉症
アスペルガー
症候群
コミュニケーションとても困難困難少し困難
言葉の遅れあるあるない
知的障害あるないない
こだわりあるあるある

このドラマにおいてアストリッドは極めて知的な人間として描かれています。記憶力は抜群だし、帰納的推論に長けていて、洞察力がある。そして強いこだわりがあります。その最たるものがパズルです。パズルを見ると解かずにはいられない。

ただし、人とのコミュニケーションが苦手で、その典型が人と共感できないことなのですね。その意味では、上の表ではアスペルガー症候群に近いわけですが、あくまで "スペクトラム" であって、簡単に分類できるものではありません。



ドラマは進行し、アストリッドは毎週参加している「社会力向上クラブ」の会合に出席しました。このクラブは、自閉スペクトラム症の人たち集まりで、主宰者はウィリアム・トマという人です。そのウィリアムとアストリッドの会話です。


アストリッド
AI と楽しく会話しました。相手はアルゴリズムですが、気になりませんでした。

ウィリアム
それで、問題は何?

アストリッド
私の感受性についてです。

ウィリアム
それはきっと、みんなにとって微妙な問題かもね。感じ方は人それぞれだ。同じものを見て違う感じ方をしても、鈍感というわけじゃない。花そのものに興味がなくても、花について書かれた詩が好きだったりね。

アストリッド
あっ。詩は好きじゃありません。なぜ感動するのか分かりません。

・・・・・(中略)・・・・・

ウィリアム
アストリッド、悩みがあるなら話して。

アストリッド
感情はあります。想定外の状況での不安や、パズルが解けたときの喜び ・・・・・。でも、映画を見たり、詩を読んだり、夕日を見たときに、感動したことはありません。人工知能と同じです。

ウィリアム
人工知能? 知能の高さに関しては、君は希有な存在だけど ・・・・・。人工知能とは、全然、違うよ。


アストリッドとウィリアム.jpg

アストリッドが「映画を見たり、詩を読んだり、夕日を見たときに、感動したことはありません。人工知能と同じです」と言っているのは、

普通の人が思っている "人間らしい心" がないと、他人からは思われる

ということであり、だから人工知能と同じなのです。知能の高低ではない。その意味で、ウィリアムとの会話は少々スレ違ってしまいました。アストリッドは、AI との会話が "安心で楽しかった" 自分がいて、そういう自分は AI と同じじゃないかと思い至り、それが自分が抱える問題だととらえたのです。


AI に心の相談をする


このドラマを見ていて、先日、新聞に掲載された東畑とうはた開人かいと氏のコラムを思い出しました。

社会季評
AI に心の相談
弱さが生む人間の役割
  朝日新聞(2023年6月22日)

と題したコラムです。東畑開人氏は臨床心理士で、日本心理臨床学会常務理事です。

この中で東畑氏はまず、「何かあると、ひとまず ChatGPT に相談してしまう日々である」と書いています。見当違いな回答も多々あるが、

・ 二日酔いの解決策を尋ねて、「お酒を飲まなければいいのです」と返ってきたときには脱力したが、
・ 悩みを打ち明けて、核心に迫るコメントをされたときには動揺した

などとあります。東畑氏は臨床心理士であり、このコラムのテーマは「ChatGPT に心の問題、悩みを相談する」ということです。そのことについて、次にように書かれていました。


将来的にAIが悪意をもって暴走することへの懸念もあるようだが、現状のChatGPTを見る限り、私が決定的に優れていると思うのは、その安全感だ。人間に悩みを打ち明けるとき、私は不安になる。負担になるんじゃないか、軽蔑されるんじゃないかと、逡巡しゅんじゅんする。相手の心が怖いのだ。しかし、AIは気分にムラがないし、機嫌を損ねることもない。言葉の裏を読まなくてよい。時間や場所を気にする必要もない。AIの器は無限だ。心がないからだ。私が何を言おうとお構いなしに一定の反応を返してくるとわかっているから、あらゆることを相談できる。

臨床家として思う。この安全感はきわめて貴重だ。たとえば長らくひきこもり、ときに死を考える青年のように、深刻に追い詰められている人にとって、なによりも難しいのは助けを求めることである。その心は自己を責め、他者を深刻に恐れている。悩みを打ち明けることで余計に傷つくしれないとおびえているとき、そう簡単には人間相手に「つらい」と言えない。

そういうとき、スマホで「苦しい」とか「死にたい」と打ち込む宛先があることが、どれだけ貴重なことか。そこには世界に対するかすかな希望が芽生えている。そして、その言葉を表裏なく打ち返し続けてくれる心なきプログラムがいかにありたいことか。この希望の芽は脆弱で、わずかな不信の兆候によって折れてしまいやすいからである。

東畑開人 
朝日新聞(2023年6月22日)

大規模言語モデル(LLM)を利用した生成AI については、今、さまざまな議論が行われていますが、この東畑氏のコメントは、生成AI と人々がどう関わるべきかについての本質(の一つ)をついたコメントだと思います。

アストリッドにとって、社会力向上クラブのメンバー以外で、何を言っても大丈夫と安心できる人間はごくわずかです。ラファエルと、シーズン2では、恋心を抱いたテツオ・タナカです(ちなみに彼も "夕日を見ても感動しない" と言ってました)。だからこそ、AI との対話が安心で心地よいものだったのです。

東畑氏のコメントに戻りますと、AIを活用したメンタルヘルスサービスが試みられているようです。


心の相談の本質は、いかなる言葉が返ってくるか以上に、誰かに助けを求めたことそのものにある。そして、そのつながりがしぶとく持続することにある。重要なことは、希望の芽を摘まないことなのだ。それが少しずつ広がり、自分や他者への信頼へと育っていくことが、心の回復である。そのための手段の一つとして、AIに備わる「何を言っても大丈夫」という安全感には得難いものがあると私は思う。現在、AIを活用したメンタルヘルスサービスが様々に試みられているが、人々の苦悩に安全にリーチするやり方が洗練されていくことを願っている。

(同上)

「AIを活用したメンタルヘルスサービス」は確かに有用と考えられます。但し、同時に "悪用されるリスク" も抱えているはずです。たとえば、心の悩みをもつ人を特定の宗教に "それとなく" "徐々に" 勧誘するようなAI が(作ろうと思えば)作れるでしょう。AI の訓練データ次第です。また極論すると "天国に行って楽になりましょう" 的な考えを植え付けることもできそうです。現にベルギーは AI メンタルサービスを使った人の自殺事件まで起きています。EU で議論されている生成AI の規制の検討はこういうことも踏まえているといいます。

人間は "心" をもっています。だから人と人とで共感できるし、困っている人を助けようともします。しかしそれと同時に、人を傷つけるようにも働きます。人間の "心" には AI にはない "弱さ"、"不安定さ"、"愚かさ" があるからです。

では、心の相談にとって人間と AI はどういう風に共存すべきか。その答えを東畑氏がもっているわけではないようですが、それは当然でしょう。そういった議論は、心の相談のみならず、各分野で始まったばかりなのだから。

ともかく、アストリッドが AI に抱いた「安心感」は、自閉スペクトラム症ではない健常者にとっても、"心の相談" を誰かにするときに必要な「安心感」に直結しています。東畑氏のコラムによって、そのことを強く感じました。




nice!(0) 

No.362 - ボロクソほめられた [文化]

先日の朝日新聞の「天声人語」で、以前に書いた記事、No.145「とても嬉しい」に関連した "言葉づかい" がテーマになっていました。今回は、No.145 の振り返りを含めて、その言葉づかいについて書きます。


「天声人語」:2023年 6月 11日


「天声人語」は例によって6段落の文章で、段落の区切りは▼で示されています。以下、段落の区切りを1行あけで引用します。


夕方のバス停でのこと。中学生らしき制服姿の女の子たちの会話が耳に入ってきた。「きのうさー、先生にさあ、ボロクソほめられちゃったんだ」。えっと驚いて振り向くと、楽しげな笑顔があった。若者が使う表現は何とも面白い。

「前髪の治安が悪い」「気分はアゲアゲ」。もっと奇妙な言い方も闊歩かっぽする昨今だ。多くの人が使えば、それが当たり前になっていく。「ボロクソ」は否定的な文脈で使うのだと、彼女らを諭すのはつまらない。言葉は生き物である。

大正の時代、芥川龍之介は『澄江堂ちょうこうどう雑記』に書いている。東京では「とても」という言葉は「とてもかなはない」などと否定形で使われてきた。だが、最近はどうしたことか。「とても安い」などと肯定文でも使われている、と。時が変われば、正しい日本語も変化する。

今どきの若者は、SNSの文章に句点を記さないとも聞いた。「。」を付けると冷たい感じがするらしい。元々、日本語に句読点がなかったのを思えば、こちらは先祖返りのような話か。

新しさ古さに関係なく、気をつけるべきは居心地の悪さを感じさせる表現なのだろう。先日の小欄で「腹に落ちない」と書いたら、間違いでは、との投書をいただいた。きちんと辞書にある言葉だが、腑に落ちない方もいるようだ。

新語は生まれても、多くが廃れ消えてゆく。さて「ボロクソ」はどうなることか。それにしても、あの女の子、うれしそうだったなあ。いったい何をそんなにほめられたのだろう。

朝日新聞「天声人語」
(2023年6月11日)


前例としての "とても"


注目したいのは、前半の3つの段落にある「ボロクソ」と「とても」です。女子中学生の「ボロクソほめられちゃった」という会話に驚いた天声人語子ですが(当然でしょう)、否定的な文脈で使う言葉を肯定的に使うのは過去に例があり、それが「とても」である。「とても」は、昔は否定的文脈で使われていて、そのエビデンスが芥川龍之介の文章にある。時が変われば正しい日本語も変化する、としているところです。

「天声人語」にあるように、「とても嬉しい」というような言い方が(東京地方で)広まった時期について、芥川龍之介が短文エッセイ集『澄江堂ちょうこうどう雑記』(1923 大正13)に書いています。「澄江堂」とは芥川龍之介自身の号です。


二十三 「とても」

「とても安い」とか「とても寒い」と云ふ「とても」の東京の言葉になり出したのは数年以前のことである。勿論「とても」と云ふ言葉は東京にも全然なかつたわけではない。が従来の用法は「とてもかなはない」とか「とてもまとまらない」とか云ふやうに必ず否定を伴つてゐる。

肯定に伴ふ新流行の「とても」は三河みかはの国あたりの方言であらう。現に三河の国の人のこの「とても」を用ゐた例は元禄げんろく四年に上梓じやうしされた「猿蓑さるみの」の中に残つてゐる。

秋風あきかぜやとてもすすきはうごくはず  三河みかは、 子尹しゐん

すると「とても」は三河の国から江戸へ移住するあひだに二百年余りかかつた訳である。「とても手間取つた」と云ふ外はない。

芥川龍之介『澄江堂雑記』
「芥川龍之介全集第四巻」(筑摩書房 1971)
「青空文庫」より引用

江戸時代の古典の(少々マニアックな)知識をさりげなく披露しつつ、三河言葉(=芥川の想像)が東京で使われるまでに200年かかったから「とても手間取つた」とのオチで終わるあたり、文章の芸が冴えています。ちなみに『猿蓑』は芭蕉一門の句集で、引用にあるように子尹しゐんは三河地方出身の俳人です。

それはともかく、芥川龍之介は「肯定的とても」が数年以前から東京で言われ出したと書いています。ということは、大正時代か明治末期からとなります。芥川龍之介は1892年(明治25年)に東京に生まれた人です。当然、小さい時から慣れた親しんだのは「とても出来ない」のような "否定的とても" であり、それが正しい標準語としての言葉使いと思っていたと想像できます。それは「とても嬉しい」のような "肯定的とても" が「田舎ことば」だとする書き方に暗示されています。



「とても」は否定的文脈で使うものだという言葉の規範意識は、芥川以降も続いていたようです。評論家・劇作家の山崎正和氏(1934-2020 。昭和9年-令和2年)は、丸谷まるや才一氏との対談で次のように発言しています。


山崎正和

私の父方の祖母は、落合直文などと一緒に若い頃短歌をつくっていたという、いささか文学少女だった年寄りでした。私が子供のころ「とても」を肯定的に使ったら、それはいけないって非常に叱られた。なるほどと感心しました。しかし、もういま「とても」を肯定的に使う人を私は批判できませんよ。それほど圧倒的になっているでしょう。

山崎正和・丸谷才一 
『日本語の21世紀のために』
(文春新書 2002)

山崎正和氏が子供の頃というのは、昭和10年代から20年代半ばです。つまり、そのころ生きていた明治生まれの人(父方の祖母)には、「とても嬉しい」というような肯定的な使い方は誤用であるという規範意識が強くあった、ということなのです。少なくとも山崎家ではそうだった。今となっては想像できませんが ・・・・・・。



ところで、芥川龍之介のエッセイによって分かるのは「とても嬉しい」が明治末期、ないしは大正時代から東京で広まったことです。しかし、専門家の研究によると、遙か昔においては肯定的「とても」が一般的でした。

梅光学院大学・准教授の播磨桂子氏の論文に、『「とても」「全然」などにみられる副詞の用法変遷の一類型』(九州大学付属図書館)があり、そこに「とても」の歴史の研究があります。この論文によると「とても」の歴史は以下のように要約できます。

① 「とても」は「とてもかくても」から生じたと考えられている。「とても」は平安時代から使われていて「どうしてもこうしても、どうせ、結局」という意味をもち、肯定表現にも否定表現にも用いられた。『平家物語』『太平記』『御伽草子』『好色一代女』などでの使用例がある。

② しかし江戸時代になると否定語と呼応する使い方が増え、明治時代になると、もっぱら否定語と呼応するようになった

③ さらに大正時代になると、肯定表現で程度を強調する使い方が広まり、否定語と呼応する使い方と共存するようになった

④ 「否定」にも「肯定」にも使われる言葉が、ある時期から「否定」が優勢になり、その後「肯定」が復活する。このような「3段階」の歴史をもつ日本語の副詞は他にもあり、「全然」「断然」「なかなか」がそうである。

"肯定的とても" は、芥川龍之介が推測する三河方言ではなく、『平家物語』『太平記』『御伽草子』『好色一代女』にもある "由緒正しい" 言い方だったわけです。もちろん、由緒正しい言い方が方言だけに残るということもあり得ます。

ひょっとしたら、芥川はそれを知っていたのかもしれません。知っていながら「とても手間取つた」というオチに導くためにあえて『猿蓑』を持ち出した、つまり一種のジョークということも考えられると思います。


超・鬼・めちゃくちゃ


「とても」をいったん離れて、強調のための言葉について考えてみます。形容詞、動詞、名詞などを修飾して「程度が強いさま」を表す言葉を「強調詞」と呼ぶことにします。強調詞にはさまざまなもがあります。大変、非常に、全然、すごく、などがそのごく一部です。

漢字で書くと1字の「超」も、今ではあたりまえになりました。もちろんこれは超特急、超伝導など、名詞の接頭辞として由緒ある言葉で、「通常のレベルを遙かに超えた」という意味です。これが「超たのしい」「超カワイイ」などと使われるようになった(1960年代から広がったと言われています)。その「超」は、"本場" の中国に「逆輸出」され、「超好(超いい)」などと日常用語化しているといいます(日本経済新聞「NIKKEI プラス 1」2022年6月11日 による)。「超」はかなり "威力がある" 強調詞のようです。

漢字1字を訓読みで使う接頭辞もあって「鬼」がそうです。「鬼」はもともと名詞の接頭辞として「無慈悲」「冷酷」「恐ろしい」「巨大」「異形」「勇猛」「強い」などの意味を付加するものでした。「鬼将軍」「鬼軍曹」「鬼コーチ」「鬼検事」「鬼編集長」などです。栗の外皮を「鬼皮」と言いますが、強いという意味です。また「鬼」は動植物・生物の名前にも長らく使われてきました。同類と思われている生物同士の比較で、大きいものは「大・おお・オオ」を接頭辞として使いますが、それをさらに凌駕する大型種は「鬼・おに・オニ」を冠して呼びます。オニグモ(鬼蜘蛛)、オニユリ(鬼百合)、オニバス(鬼蓮)といった例です。

しかしこの数年、さらに進んで「鬼」を強調詞とする言い方が若者の間に出てきました。オニの部分をあえて漢字書くと、
 ・鬼かわいい
 ・鬼きれい
 ・鬼うまい(鬼おいしい)
 ・鬼むかつく
といった言い方です。もともとの「無慈悲」「冷酷」「恐ろしい」」「異形」などの否定的な意味はなくなり、「通常を凌駕するレベルである」ことだけが強調されています。これは「超」の使い方とそっくりです。この使い方が定着するのか、ないしは今後消えてしまうのかは分かりません。

さらに、もともと否定的文脈で使う「めちゃくちゃ」「めちゃめちゃ」「めっちゃ」「めちゃ」があります。「むちゃくちゃ」とも言います。これも江戸時代からある言葉で、漢字で書くと「滅茶苦茶」です。"混乱して、筋道がたたず、全く悪い状態" を指します言が、強調詞として使って「めちゃくちゃカワイイ」などと言います。

もともと否定的文脈で使う言葉という意味では、形容詞の「ものすごい(物凄い)」もそうです。これはもとは恐ろしいものに対してしか使わない言葉でした(西江雅之「ことばの課外授業」洋泉社 2003による)。確かに、青空文庫でこの言葉を検索すると、恐ろしいものの形容に使った文例しかありません。青空文庫は著作権が切れた(死後50年以上たった)作家の作品しかないので、「ものすごい美人」というような使い方は、少なくとも文章語としてはこの半世紀程度の間に広まった使い方であることは確実です(話し言葉としてはそれ以前から使われていたかもしれません)。



そこで「天声人語」の「ボロクソほめられた」です。これはもともと否定的文脈で使う言葉を、程度が大きいさまを表す強調詞とした典型的な例です。その意味で「とても」「めちゃくちゃ」「ものすごく」の系列につながっています。特に「めちゃくちゃ」に似ています。
・ 彼は A氏のことをメチャクチャに言っていた。
と使うけども、
・ メチャクチャうれしかった
とも言います。であれば、
・ 彼の A氏についての評価はボロクソだった。
と使う一方で、
・ ボロクソうれしかった
と言うのも、一般的ではないけれども、アリということでしょう。


強調詞の宿命


「とても」の変遷や、その他の言葉を見ていると、強調詞の "宿命" があるように思います。つまり、ある強調詞が広まってあたりまえに使われるようになると、それが "あまり強調しているようには感じられなくなる" という宿命です。

従って、新しい言葉が登場する。そのとき、否定的文脈で使われる言葉を肯定的に使ったり、名詞の接頭辞を形容詞を修飾する副詞に使ったりすると(超・鬼)、インパクトが強いわけです。特に、自分の思いや感情を吐露したい場合の話し言葉には、そういうインパクトが欲しい。そうして新語が使われだし、その結果一般的になってしまうと強調性が薄れ、また別の新語が使われ出す。

「天声人語」に引用された女子中学生の発言、「きのうさー、先生にさあ、ボロクソほめられちゃったんだ」も、よほど嬉しかったゆえの発言でしょう。天声人語子は「それにしても、あの女の子、うれしそうだったなあ」と書いていますが、今まで先生に誉められたことがなかったとか、あるいは、一生懸命努力して作ったモノとか努力して成し遂げたことを誉められたとか、内容は分からないけれど、そういうことが背景にあるのかも知れません。もちろん先生も言葉を重ねて誉めた。その子にとって「メッチャ、ほめられちゃった」や「チョー、ほめられちゃった」では、自分の感動を伝えるには不足なのです。

「ボロクソほめられた」は、一般的に広まることはないかもしれないけれど、個人的な言葉としては大いにアリだし、それは言葉の可能性の広さを表しているのだと思いました。




nice!(0) 

No.361 - 寄生生物が宿主を改変する [科学]

今まで、寄生生物が宿主(=寄生する相手)をあやつるというテーマに関連した記事を書きました。


の3つです。最初の No.348「蚊の嗅覚は超高性能」を要約すると、

◆ 蚊がヒトを感知する仕組みは距離によって4種あり、その感度は極めて鋭敏である。
10メートル程度 : ヒトの呼気中の二酸化炭素
3~4メートル : ヒトの臭い
1メートル程度 : ヒトの熱
最終的に : ヒトの皮膚(色で判断)

◆ ある種のウイルスは、ネズミに感染すると一部のたんぱく質の働きを弱める。それによってアセトフェノンを作る微生物が皮膚で増え、この臭いが多くの蚊を呼び寄せる(中国・清華大学の研究)。

でした。また No.350「寄生生物が行動をあやつる」は、次のようにまとめられます。

◆ ハリガネムシは、カマキリに感染するとその行動を改変し、それによってカマキリは、深い水辺に反射した光の中に含まれる「水平偏光」に引き寄せられて水に飛び込む。ハリガネムシは水の中でカマキリの体から出て行き、そこで卵を生む。

◆ トキソプラズマに感染したオオカミはリスクを冒す傾向が強く、群のリーダーになりやすい。

◆ トキソプラズマに感染したネズミはネコの匂いも恐れずに近づく。

トキソプラズマは広範囲の動物に感染しますが、有性生殖ができるのは猫科の動物の体内だけです。トキソプラズマが動物の行動を改変するのは、猫科の動物に捕食されやすくするため(もともとそのためだった)と推測できます。

そのトキソプラズマについての記事が、No.352「トキソプラズマが行動をあやつる」です。何点かあげると、

◆ トキソプラズマに感染したネズミは、天敵である猫の匂いを忌避しなくなることが、実験によって証明された。

◆ トキソプラズマに感染した人は、していない人に比べて交通事故にあう確率が 2.65 倍 高かった(チェコ大学。NHK BSP「超進化論 第3集」2023.1.8 による)

◆ トキソプラズマに感染したハイエナはライオンに襲われやすくなる(ナショナル・ジオグラフィック:2021.7.11 デジタル版)。

などです。今回はその継続で、同じテーマについての新聞記事を取り上げます。朝日新聞 2023年2月~3月にかけて掲載された「寄生虫と人類」です。これは3回シリーズの記事で、その第2回(2023.3.3)と第3回(2023.3.10)を紹介します。今までと重複する部分もありますが、「寄生生物が宿主を改変する」ことを利用して医療に役立てようとする動きも紹介されています。


寄生生物の生き残り戦略


「寄生虫と人類」の第2回は、

生物操り 都合のいい環境に
宿主の脳や免疫を制御 生態系に影響も

との見出しです。例のトキソプラズマの話から始まります。


2018年5月、長崎県沖で小型のイルカ、スナメリの死体が漁業用の網にかかった。死因は寄生虫の一種、トキソプラズマの感染だった。

トキソプラズマは、幅広い恒温動物に寄生することが知られている。卵を産むことができる「終宿主しゅくしゅ」は、ネコの仲間で陸の動物だが、海獣まで宿主となる。

陸と海の生物がどうつながるのか。

ネコが、オーシストと呼ばれる殻に包まれたトキソラズマの卵をフンとともに排泄はいせつする。雨が降るとオーシストが川に流れ、やがて海まで運ばれる。貝の中にたまり、貝を食べた海の生物が感染する ・・・・・・。

死因を調査した、帯広畜産大チームの西川義文教授は「頭で知っていたが、本当に海の生物も感染するんだと認識した」。

「寄生虫と人類」
(朝日新聞 2023.3.3)

トキソプラズマの拡散.jpg
トキソプラズマの拡散
(朝日新聞 2023.3.3 より)


ヒトも世界の3割は感染しているとの報告もある。ネコのフンの処理や感染した動物の生肉を食べることを通じてうつる。免疫不全患者が感染すると重症となり、妊婦が初めて感染した場合、胎児の目の障害や発育の遅れなどをともなう先天性トキソプラズマ症にかかることがある。

健康なヒトなら症状が出ないか、軽い発熱や頭痛程度ですむことが多い。だから、さほど心配しなくてよいと考えられてきた。ただ、感染者は、統合失調症、うつ病、アルツハイマー病などの発病リスクがあがるという報告がある。


引用のようにトキソプラズマはヒトにも感染し、妊婦が初めて感染した場合、胎児が先天性トキソプラズマ症にかかることがあります。しかし、それ以上の影響があるのではと疑われています。つまり脳への影響です。脳への影響は動物で研究が進んでいます。


感染したトキソプラズマが、脳にどう影響するのか、動物で研究が進む。70年、感染したネズミの行動が変わるという論文が発表された。本来ならいやがるはずの天敵のネコのにおいを避けなくなったという。

この論文に注目した西川さんらも研究を始めた。トキソプラズマをネズミに感染させると、急性期を経て慢性期に移行し、筋肉や脳にひそんで感染し続ける。ネズミは急性期にはうつのようになり、慢性期には記憶が悪くなった。ネズミが、ネコに捕食されやすくなるような結果だ。

米国のグループはイエローストーン国立公園で、26年間、オオカミの行動を調べ、血液の分析もした。一部のオオカミは生息地がピューマと重なり、トキソプラズマに感染している。感染したオオカミは、感染していない個体より群れから離れてリスクの高い行動をとる確率や、リーダーになる確率が高いとわかった。感染が影響して大胆な行動をとる可能性を示した。


ネズミやオオカミにおけるトキソプラズマの影響は、No.350 や No.352 でも紹介した通りです。さらにトキソプラズマは、巧妙な仕掛けによって宿主の免疫系の攻撃から逃れるようなのです。


大阪大微生物病研究所の山本雅裕教授によれば、トキソプラズマは、光合成をしていた単細胞生物から進化してきた痕跡をもつ。もともとは自力で生きていたのに、ほかの生物に寄生するようになった。のっとられると困る宿主との間で、ミクロの戦いが繰り広げられている。米国のグループは11年に不思議な現象を見つけて発表した。普通なら寄生虫は宿主の免疫を抑えて、自分が排除されないようにするはずだが、トキソプラズマは、宿主の免疫を活性化しているという。

山本さんたちが仕組みを探ると、免疫が活性化すると働く分子Aが別の分子Bと一緒になって、トキソプラズマの増殖をじゃまする分子Cを抑えていた。宿主の免疫を活性化させながら、自らにとって都合のいい環境を作り出していた

「寄生虫はウイルスより遺伝子の数が多く、手を変え品を変え、複雑なことをやっている」と山本さんは言う。

宿主の生理や行動を変化させるだけでなく、そうした操作を通じて、自然の中で寄生虫が果たす役割は大きいことが次第にわかってきた。


寄生虫は自らの生き残りのために宿主を改変しますが、そのことが自然生態系に大きな役割を持っている場合があります。その例が、No.350「寄生生物が行動をあやつる」で紹介したハリガネムシです。


京都大の佐藤拓哉准教授らは、ハリガネムシが寄生した昆虫カマキリが、水面の反射光の特徴に引き寄せられて水に飛び込むことを実験で確かめた。昆虫カマドウマもハリガネムシが寄生すると水に飛び込むことが知られる。水に入ると、おしりからハリガネムシが出ていく。川に浮かんだカマドウマは渓流魚のえさになり、繁殖期前のエネルギーを供給する。渓流魚に狙われる恐れが減った水生昆虫は藻類を食べるので、藻類が増えすぎない

「ハリガネムシが生態系の維持に大きな役割を果たしている」と佐藤さん。あらゆる動物に、それを利用する寄生虫がいるといわれる。生物の多様性とその関係を知るには、寄生虫の役割をもっと知る必要がありそうだ。(瀬川茂子)


No.350「寄生生物が行動をあやつる」に書いたように、佐藤准教授によると、渓流魚の餌の 60%(エネルギー換算)はハリガネムシが "連れてきた" 昆虫類でまかなわれているそうです。これだけでも重要ですが、上の引用によるとさらに「渓流魚に狙われる恐れが減った水生昆虫は藻類を食べるので、藻類が増えすぎない」とあります。ハリガネムシがカマドウマ(その他、カマキリ、キリギリスなど)に寄生することが、めぐりめぐって渓流の藻類が増えすぎないことにつながっている。生態系のバランスは誠に微妙だと思います。


寄生虫と病気治療


「寄生虫と人類」の第3回は、

「生き残り戦略」病気治療に光
 宿主の免疫から攻撃逃れる仕組みを利用

との見出しです。ここでは寄生虫の生き残り戦略を解明して、それを人間の病気治療に役立てようとする研究が紹介されています。


東京大の後藤康之教授らは、貧血や肝臓のはれを起こし、治療しなければ9割以上が死に至る「内臓型リーシュマニア症」の仕組みを研究している。この病気を起こすリーシュマニア原虫は、サシチョウバエという昆虫によって媒介される。原虫は、マクロファージと呼ばれる免疫細胞に寄生する。寄生された細胞は、赤血球をどんどん食べるようになる

「自分の細胞だから食べてはいけない」という認識に必要な分子が抑えられてしまうからだ。寄生虫は免疫からの攻撃を逃れ、赤血球という栄養豊富なえさを手に入れる一方で、宿主が貧血になる。

後藤さんらは、この仕組みを詳しく解明して、リーシュマニア症の治療法開発につなげたいという。それだけではない。免疫細胞を制御するこの仕組みを利用すれば、マクロファージにがん細胞をどんどん食べさせるようにできるのではないか、とも考えている。

「宿主細胞を操る寄生虫が、どんな分子をどう利用しているのか突き止めれば、ほかの病気の治療法開発につながる可能性がある」と後藤さんは話す。

「寄生虫と人類」
(朝日新聞 2023.3.10)

記事に「マクロファージにがん細胞をどんどん食べさせるようにできるのではないか」とあります。これで思い出すのが、No.330「ウイルスでがんを治療する」です。これは、東京大学の藤堂とうどう教授が開発した "ウイルスによるがん治療薬" を紹介した記事でした。単純ヘルペスウイルス1型(HSV-1)の3つの遺伝子を改造し、がん細胞にだけ感染するようにすると、改造ヘルペスウイルスはがん細胞を次々と死滅させてゆく。

がん細胞を攻撃するのが難しい要因のひとつは、それが「自己」だからです。リーシュマニア原虫は寄生したマクロファージを改変して「自己」であるはずの赤血球だけを選択的に食べるようにします。その仕組みが解明できれば、がん細胞だけを食べるマクロファージを作れるかもしれません。


国立感染症研究所の下川周子主任研究官が着目しているのは、寄生虫が何十年も感染しているのに、病気にならない場合があることだ。寄生虫がいることで、宿主にもメリットをもたらしている可能性があると考えた。自分の免疫が自分自身を攻撃する自己免疫疾患で研究を進めている。

自己免疫型の糖尿病の状態にしたマウスに寄生虫の一種を感染させたところ、糖尿病の発病を抑えられた。腸内細菌や免疫の変化を詳しく調べると、寄生虫が腸で作り出す成分をえさとする細菌が増えた。その細菌は宿主の免疫の働きを抑える「制御性T細胞」を誘導することも分かった。寄生虫は細菌を通じて、宿主の免疫から逃れるが、この「生き残り戦略」が、宿主の自己免疫を抑えることにつながっていた。下川さんらは、この仕組みを利用して、寄生虫そのものを感染させるのではなく、寄生虫が作る成分などを利用する治療法の開発をめざすという。


ヒトに感染する細菌やウイルスが、ヒトの免疫系からの攻撃を逃れるため、免疫の働きを押さえる制御性T細胞を誘導する(未分化のT細胞を制御性T細胞に変える)とか、制御性T細胞を活性化する話は、今までの記事で何回か書きました。

◆ 2010年には、自己免疫疾患を抑制する制御性T細胞の誘導に関係するバクテロイデス・フラジリスが、2011年には同様にこの制御性細胞を誘導するクロストリジウム属が発見された。─── No.70「自己と非自己の科学(2)」

◆ 抗生物質のバンコマイシンで腸内細菌のクロストリジウム属を徐々に減らすと、ある時点で制御性T細胞が急減し、それが自己免疫疾患であるクローン病(=炎症性腸疾患)の発症を招く。─── No.120「"不在" という伝染病(2)」

◆ エンテロウイルスに感染すると制御性T細胞の生成が刺激され、その細胞が成人期まで存続する。制御性T細胞は自己免疫性T細胞の生成を抑えることで1型糖尿病を防ぐ。─── No.229「糖尿病の発症をウイルスが抑止する」

などです。細菌やウイルスが制御性T細胞を誘導するのであれば、遺伝子の数が多い寄生虫が同じことをできたとしても、むしろ当然という感じがします。


下川さんの頭にあるのは、「衛生仮説」。子どもの頃に感染症にかかったり不衛生な環境にさらされたりすることが、アレルギーや自己免疫病の発病率を抑えるという説だ。「衛生状態がよくなって失われた環境の中に、健康にいいものがあったかもしれない。それを科学的に検証したい」アレルギーを起こす仕組みは、寄生虫と共にいる時代の武器だったこともわかってきた。

寄生虫の大きさはさまざまだが、ウイルスや細菌よりずっと大きいものもいる。対抗する宿主は、寄生虫にダメージを与える物質を出して弱らせ、粘液を出して外に流れ出ていくようにする。腸の寄生虫は便といっしょに流出、肺なら、たんにからまって出る。原始的だが、効果がある方法だ。

この仕組みにかかわる免疫細胞が2010年に発見が報告された「2型自然リンパ球(ILC2)」だ。2型自然リンパ球は、獲得免疫をもたない生物でも寄生虫にのっとられないように働くシステムとして備わったと考えられる。いまでも寄生虫がたくさんいるような状況では、体を守ってくれる。ただ、先進国ではアレルギーを起こしているという。

アレルギーの原因物質に含まれる酵素が細胞を殺し、細胞から特定のたんぱく質が分泌されると、ILC2を活性化する。粘液が出て、たん、鼻水などになる。寄生虫を排除する仕組みは、そのまま一部のアレルギーが起きる仕組みにもなるとわかった。


細菌やウイルスよりはるかに大きい寄生虫にヒトが対抗するためには、それを体内から排出するしかない。この仕組みを発動する免疫細胞が2010年に発見された(2型自然リンパ球、ILC2)という記事です。

寄生虫が多い環境では、このようなヒトの仕組みと、寄生虫が免疫から逃れようとする動き(制御性T細胞を生成するなど)が攻めぎ合っています。しかし、寄生虫がほとんどいない先進国の環境ではバランスが崩れ、ヒトの仕組みが不必要に発動して「自己」を攻撃してアレルギーの(一つの)原因になるわけです。


人類の長い歴史は感染症とともにあり、さまざまな病原体にさらされてきた。東京慈恵会医科大の嘉糠洋陸教授によると、ヒトの遺伝情報には、寄生虫と戦い、あるいは共生した痕跡が刻まれ、対応する状態になっている。

衛生環境や生活スタイルが大きく変わったのは、人類の歴史の中ではほんの一瞬で、遺伝情報は簡単には変わらない。たとえ病気を起こす寄生虫が環境から減ったとしても、体は寄生虫に向き合っている。(瀬川茂子)


ヒト(ホモ・サピエンス)はアフリカのサバンナ地帯で進化してきたわけで、その環境とライフスタイル(狩猟採集)にマッチした DNA と体の造りになっています。サバンナでの狩猟採集に有利なように進化してきたのがヒトなのです。

もちろん現代で同じ環境で生きることはできません。しかし程度の差はあれ、「寄生生物と戦う環境、あるいは共生する環境」は、我々が健康に過ごすために必須だと感じる記事でした。




nice!(0) 

No.360 - ヒトの進化と苦味 [科学]

今まで、ヒトと苦味の関係について2つの記事を書きました。

 No.177「自己と非自己の科学:苦味受容体」
 No.178「野菜は毒だから体によい」

の2つです。No.177「自己と非自己の科学:苦味受容体」を要約すると次の通りです。

◆ 苦味は本来、危険のサインである。

◆ 舌で苦味を感じるセンサー、苦味受容体は、鼻などの呼吸器系にもあり、細菌などの進入物から体を防御している。その働きは3つある。
・ 細胞にシグナルを送り、繊毛を動かして進入物を押し出す
・ 細胞に指示して殺菌作用のある一酸化窒素を放出させる
・ 細胞に指示してディフェンシンという抗菌作用のあるタンパク質を放出させる

◆ さらに、苦味受容体は呼吸器系だけでなく体のあちこちにあり(たとえば小腸)、免疫機能を果たしている。

五味と総称される、甘味・酸味・塩味・苦味・うま味のうち、苦味を除く4つは、その味を引き起こす物質が決まっています。

甘味 :糖
酸味 :酸=水素イオン
塩味 :塩=ナトリウムイオン
うま味 :アミノ酸

です。この4味を感じる味覚受容体はそれぞれ1種類です。しかし苦味を引き起こす物質は多様で、それに対応して苦味受容体も複数種類あります。そしてヒトは、本来危険のサインである苦味を楽しむ文化を作ってきました。
・ お茶を飲む文化
・ コーヒーを飲む文化
などは世界中に広まっています。ビールもそうでしょう。ホップを使ってわざわざ苦くしている。赤ワインの味は複雑ですが、味の魅力を作るポイントの一つが苦味(=ブドウの皮由来のタンニン)であることは間違いないでしょう。

ではなぜ、本来危険のサインである苦味を楽しむ文化が広まったのでしょうか。その理由の一端が分かるのが、No.178「野菜は毒だから体によい」です。要約すると、

◆ 植物は、動物や昆虫に食べられまいとして、毒素を生成するものが多い。

◆ 植物の毒素のあるものは、微量であればヒトの体によい影響を及ぼす。代表的なものは、
・ スルフォラファン(ブロッコリー)
・ クルクミン(ターメリック)
・ カフェイン(コーヒーや茶)
・ カテキン(茶)
・ カプサイシン(唐辛子)
などである(ターメリックはカレーによく使う香辛料)。

◆ これらは微量なら体の細胞に適度なストレスを与え、細胞はそのストレスから回復しようとする(たとえば抗酸化物質の算出)。その回復機能の活性化が体に良い影響を与える。

上にある植物の毒素は、苦味と重ならないものもありますが(カプサイシン)、重なる部分も多い。つまり、植物由来の微量毒素を摂取することと、苦いものを食べる・飲むことは密接に関係していると考えられます。

ヒトの体は(小さな)ストレスや(小さな)ダメージから回復する機能を備えています。使わない機能は衰えるのが原則です。それが必要ないと体が判断するからです。ヒトは苦いものを食べる・飲むことで、体のストレス回復機能を常時活性化させておき、それが健康維持に役立つ ・・・・・・。そういう風に考えられます。



先日の日本経済新聞に、苦味とヒトの進化をまとめた記事が掲載されました(2023年4月30日 日経 STYLE)。ヒトにとっての苦味の意味が理解できる良い記事だと思ったので、紹介します。


苦味、命の恵み


日本経済新聞の記事は、

 苦味、命の恵み

と題するもので、このタイトルのもとに、次の文が続きます。


春の味覚を象徴する山菜にゴーヤー、ビール、コーヒー ───。幼少の頃に顔をしかめた大人の味は、元は毒を検知し体内に取りこまないための機能だった。「苦味」を、私たちはいつから楽しめるようになったのだろう。近年の研究では、苦味を感じる感覚が、進化の歴史にも深く関わっていたことが明らかになっている。

日本経済新聞(日経 STYLE)
2023年4月30日 

記事は2つの部分に分かれています。

・ 郷土に根ざす文化の味わい
・ ヒトへの進化支える不思議

です。「郷土に根ざす文化の味わい」では、日本の郷土料理を支える苦味、特に山菜料理とその歴史の紹介でした。

苦み 山菜.jpg
埼玉県入間市の郷土料理店「ともん」で供される山菜。日本経済新聞より。

以下は、第2部である「ヒトへの進化支える不思議」を紹介します。


ヒトへの進化支える不思議



私たちは、なぜ苦いものをおいしいと感じるのだろう。苦味は本来、毒を口にしたときに叶き出すための機能だ。本能的に苦い食べ物を嫌う子供は、食体験を積む中である種の苦みをおいしいと学習する。苦味という感覚の仕組みを探ると、ほかの味覚とは異なる不思議が見えてくる

日本経済新聞(日経 STYLE)
2023年4月30日 

苦味が本来危険のサインだとすると、子供が苦い食べ物を嫌うのはヒトに備わった正常な反応でしょう。しかし「食体験を積む中である種の苦みをおいしいと学習する」のはなぜでしょうか。これは少々不思議です。なぜ味覚が変化するのか。

たとえば、甘味を考えてみると、子供が甘いものが大好きなのは人類共通だと思います。しかし大人になると甘いものを嫌う人がでてきます(大人になっても甘いもの大好きという人もいるが)。これはなぜかというと「甘いものは体によくない」「糖質のとりすぎは健康を損ねる」という "知識" を獲得するためと考えられます。

塩味もそうです。塩は料理には欠かせないし、適度な塩分は体の維持に必須です。しかし年配になると塩味が強すぎるものを嫌う人が出てくる。これは、高血圧症などの生活習慣病のリスクを避けるという "知識" からくるのだと思います。その他、酢を使った料理や飲料を好むように変わったとしたら、それも健康に良いという知識によるのでしょう。

しかし苦味は違います。「苦味が健康に良い」という "知識" が広まっているとは思えません。それでもなおかつ大人になると苦味を好むのは、もちろん、コーヒーや緑茶やビールを飲むという文化・習慣が根付いていて、それに馴染むわけです。ではなぜそういう文化・習慣が根付いたかと言うと、体が苦いものを欲するようになるからではないでしょうか。

苦味は本来、危険のサインだけれど、長い進化や文化的伝統のなかで "安全な苦味" と分かっているものについては、その苦味にメリットがあることを自然と体得するのだと思います。

日経新聞の引用を続けます。


人間は口の中にある「味覚受容体」の働きによって味を感じている。たとえば甘味とうま味の受容体は各1種類で、糖は甘味、アミノ酸はうま味という具合に、物質と味覚がほぼ1対1で対応している。これに対し苦味の受容体は26種類もある。「苦い」と感じる山菜、コーヒー、ホップ、かんきつ類などの苦味物質は、それぞれ異なるのだ。


苦味の受容体は26種類、と書かれています。苦味物質がは多様であり、それに対応して苦味受容体の種類も多い。その多様性はヒトが進化の過程で獲得してきたものです。


多くの苦味受容体を持つに至ったのは、進化の過程に深く関係がある。苦味受容体は、ヒトの祖先である霊長類が「主食を昆虫から植物の葉へと変えていく過程で増えていった」と北海道大学大学院 地球環境科学研究院 助教の早川卓志さん(博士)は解説する。早川さんはゲノム解析を通じて野生動物の行動や進化を研究する。

霊長類の祖先にあたる哺乳類は昆虫を主食としていたが、体が大きくなるにつれて虫だけでは栄養が不足し、葉に含まれるたんぱく質を摂取するようになる。植物はもともと毘虫に食べられないよう多様な毒を蓄えており、ヒ卜の祖先は「それを避けるように『苦味感覚』というセンサーを発達させ、受容体の数も増やした」(早川さん)。従って、植物を食べない哺乳類では苦味感覚の出番はあまりなく、受容体の数も少ない傾向にある。肉食のネコは霊長類の約3分の1、イルカ・クジラに至ってはゼロだ。


NHK BS プレミアム ヒューマニエンス「"毒と薬" その攻防が進化を生む」(2023年1月31日 22:00~23:00)に早川さんが出演されて、苦味受容体の解説をされていました。それによると、霊長類の苦味受容体の種類は、

小型霊長類
マーモセット :20
リスザル :22
メガネザル :16
大型霊長類
ゴリラ :25
チンパンジー :28
ヒト :26

だそうです。この違いは何かというと、小型霊長類は主として昆虫食であるのに対し、大型霊長類は大きな体を維持するために苦味物質が含まれる植物の葉を食べるようになったからです。

ちなみに、ヒトとチンパンジーは約700万年前に共通の祖先から別れたのですが、その共通祖先の苦味受容体の種類数は28と推定されるそうです。つまりヒトは2種類失った。これはなぜなのでしょうか。


矛盾するようだが「ヒトは必ずしも苦みに敏感な動物ではない」と話すのは味覚の仕組みを研究する東京大学大学院 農学生命科学研究科 准教授の三坂巧さん(博士)。葉食に移行した霊長類は「苦味を鈍らせ、葉に含まれるグルタミン酸をおいしいと感じるようになった。ヒトに至っては苦いお茶にうま味を感じるまでに」なったという。厳格に苦い=食べないを実践する生物は食べられる物の選択肢が狭く、生存競争には不利に働く。チンバンジーが28の苦味受容体を持つのに対し、ヒトはそこから2つ失って26に落ち着いた。


受容体の数を減らすことで、食べられる食物の選択肢を増やしたとの話ですが、それ以外に、肉食を始めたこと(約250~200万年前)や、加熱調理(約100万年前かそれ以前)によって、苦味を忌避する必要性が薄れたことも影響しているのでしょう。NHK の「ヒューマニエンス」でもそういう話がありました。

また、ヒトの苦味感覚には個人差があり、また苦味を受容するスタイルも多様です。


ヒトの苦味感覚には個人差もある。ブロッコリーの苦みを強く感じる人と、感じない人がおり、この違いは先天的に遺伝子の型で決まる。苦みを感じて避ける人ばかりの集団では、ブロッコリーを食べる習慣は生まれないだろう。味覚の多様性が、得られる食材の選択肢を広げてきたと考えられる。

ヒトは苦味感覚の発達とあわせて一部は退化方向に適応させ、安全な食べ物か否かを集団内で学習しながら苦い食材も食べてきた。さらにコーヒーを砂糖やミルクでマスキングしたり、山菜をあく抜きしたり、野菜を品種改良したり。飽くなき食への関心から工夫を重ね「『山菜は春の風物詩』といったイメージも含め、様々な情報が複合して、苦みがおいしいという感覚が形成」(三坂さん)されるに至った。


スタバのドリップコーヒーは苦くて飲めないという人がいます。私は平気ですが、飲めないという意見も理解できる。しかしそれほど "苦い" ものであっても、人々は砂糖を入れたり、ミルク、生クリームなどを入れたりして "苦味をマスキング" し、"何とかして" 飲もうとしてきた。これは、体が苦味を欲している、と考えるのが妥当だと思います。

さらに日経新聞には「料理にあえて苦味を加える」という、興味深い話があります。


苦みを加えることで味わいが増すと考えるのは、ミシュランーつ星のフレンチ「SiO(シオ)」シェフの烏羽周作さんだ。「1皿に入るうまみの総量には限界がある。うまみを重ねるだけでは平たんで重くなってしまうが、そこに苦みを加えるとうまみの容量が増え、料理の立体感を生む」と話す。系列店の北青山「Hotel's」ではコース料理のメイン「薪火焼きステーキ」に「苦味調味料」を添えて提供する。ハーブソルトに、ビールの苦みや香りの元になるホップの成分を配合したものだ。

この調味料は、キリンホールディングスでホップを使った新規事業を担当する金子裕司さんが開発した。「苦味はうま味、油脂の味わいを高めるので、肉料理や揚げ物に使ってもらいたい」と語る。「今はおいしい苦みといえば山菜、コーヒー、チョコレートといつた食材にとどまっている。家庭でも苦味の上手な使い方が広まれば、食がより豊かになるはず」


苦み ステーキ.jpg
東京・北青山の「Hotel's」では、メインのステーキにホップの苦味が特徴のハーブソルトを添えて提供される。

辛味調味料である辛子からし山葵わさびを添える料理はいろいろあります。であれば、「ハーブソルトに、ビールの苦みや香りの元になるホップの成分を配合した」苦味調味料を添える料理があってもよいはずです。

考えてみると、焼いたり、あぶったり、げめをつけたりする料理がいろいろあります。これは、過度にならない苦味を足すことで食材の味をより引き立たせる意味も大きいのでしょう。さらに「稚鮎の天ぷら」のような料理を考えてみると、おいしさのポイントが鮎の内臓(ワタ)の苦味でであることは確かです。

ホップを使ったような "苦味調味料" は今まで無かったかもしれないが、実質的に同じ効果を得る料理はたくさんあるはずです。


さらなる未知の領域を想像させるのが「苦味には味を感じる以外の働きがあること」(キリンの金子さん)。実は苦味受容体は舌や口の中以外にも広く存在している。食べ物が直接接するはずのない鼻の苦味受容体は細菌の排除に役立っていることが知られる。苦味受容体の遺伝子は脂肪細胞などにも存在し、ホップの苦味成分には体脂肪を減らす機能も報告されている。

子供のころには嫌いだった苦い食材を年を重ねるごとに好むようになるのも「一般的には食べ慣れるからと考えられていますが、健康維持のために中高年になると、苦味物質を体が欲するようになるとしたらとても興味深いですよね」と金子さん。


冒頭に書いたように「苦味受容体は舌や口の中以外にも広く存在し、食べ物が直接接するはずのない鼻の苦味受容体は細菌の排除に役立っている」のは事実なので、「健康維持のために中高年になると、苦味物質を体が欲するようになる」というのが、サイエンスとしては正しいと思います。


苦味には科学的に未解明の謎が多い。UCC上珈琲はコーヒーの苦味成分として乳酸など3つの新たな物質を特定し、2021年に論文として発表した。苦味成分としてはカフェインが思い浮かぶがノンカフェインもコ-ヒー独特の苦みがある。コーヒーの味に関わる物質は1千を超えるとみられ、同研究に携わった製品開発部の成田優作さんは「コーヒーの苦味について、まだ全貌がつかめない」と話す。

「良薬口に苦し」。苦味の世界をのぞいた後では、この言葉もより深い意味をもって響かないだろうか。(佐藤洋輔)


以上のような話を読むと、野菜を品種改良して適度な苦味まで無くすとか、あるいは減少させるのは、ヒトと苦味の長い付き合いの本筋から全くはずれた行為と言えるでしょう。

要するに我々は、苦味とうまく付き合えばよいということです。




nice!(0) 

No.359 - 高校数学で理解するガロア理論(6) [科学]

\(\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}\)
 
7.可解性の十分条件(続き) 
 


7.8 可解な5次方程式


大多数の5次方程式のガロア群は、対称群 \(S_5\) か 交代群 \(A_5\) であり、従って可解ではありません(65G)。しかし特別な形の5次方程式は可解です。

x^5-2=0.jpg
\(x^5-2=0\) の根
その可解な5次方程式として \(x^5-2=0\) を取り上げ、ガロア群を分析します。この方程式の根がべき根で表現できること(=可解)はあたりまえだし、こんな "単純な" 方程式のガロア群を分析することに意味があるのかどうか、疑ってしまいます。

しかし、\(x^5-2=0\) のガロア群は可解な5次方程式のガロア群としては最も複雑なのです。方程式の "見た目の" 単純・複雑さと、ガロア群の単純・複雑さはリンクしません。以下で \(x^5-2\) のガロア群を計算します。

\(x^5-2\) のガロア群
\(1\) の原始\(5\)乗根の一つを \(\zeta\) とします。\(x^5-1=0\) は、
 \((x-1)(x^4+x^3+x^2+x+1)=0\)
と因数分解できるので、\(\zeta\) は、
 \(x^4+x^3+x^2+x+1=0\)
の根です。7.1節で計算したように、たとえば、
 \(\zeta=\dfrac{1}{4}(-1+\sqrt{5}+i\sqrt{10+2\sqrt{5}})\)
です。また、
 \(\al=\sqrt[5]{2}\)
とします。そうすると、\(x^5-2=0\) の解は、
 \(\al,\:\:\al\zeta,\:\:\al\zeta^2,\:\:\al\zeta^3,\:\:\al\zeta^4\)
の5つです。\(f(x)=x^5-2\) の最小分解体 \(\bs{L}\) は、
\(\begin{eqnarray}
&&\:\:\bs{L}&=\bs{Q}(\al,\:\al\zeta,\:\al\zeta^2,\:\al\zeta^3,\:\al\zeta^4)\\
&&&=\bs{Q}(\zeta,\al)\\
\end{eqnarray}\)
です。この \(\bs{L}=\bs{Q}(\zeta,\al)\) は、\(\bs{F}=\bs{Q}(\zeta)\) として、
 \(\bs{Q}\:\subset\:\bs{F}\:\subset\:\bs{L}\)
という、体の拡大で作られたものと見なせます。つまり \(\bs{L}=\bs{F}(\al)\) です。

\(\zeta\) の \(\bs{Q}\) 上最小多項式は、\(x^4+x^3+x^2+x+1\) という4次多項式なので、拡大次数は、
 \([\:\bs{F}:\:\bs{Q}\:]=4\)
です。\(\bs{Q}(\zeta)\) は単拡大体であり、単拡大体の同型写像の定理(51G)によって、\(\zeta\) に作用する \(\bs{Q}\) 上の同型写像はちょうど \(4\)個あります。

\(\bs{L}=\bs{Q}(\zeta,\al)\) は \(\bs{F}=\bs{Q}(\zeta)\) 上の5次既約多項式 \(x^5-2\) の解 \(\al\) を \(\bs{F}\) に添加した単拡大体です。従って、
 \([\:\bs{L}\::\:\bs{F}\:]=5\)
です。\(\bs{L}=\bs{F}(\al)\) も単拡大体であり、\(\al\) に作用する \(\bs{\bs{F}}\) 上の同型写像は \(5\)個です。

拡大次数の連鎖律33H)により、
 \([\:\bs{L}\::\:\bs{Q}\:]=[\:\bs{L}\::\:\bs{F}\:]\cdot[\:\bs{F}\::\:\bs{Q}\:]=20\)
がわかります。従って \(\mr{Gal}(\bs{L}/\bs{Q})\) の位数は \(20\) です。\(\bs{L}=\bs{Q}(\zeta,\al)\) の自己同型写像を\(20\)個見つければ、それが \(\mr{Gal}(\bs{Q}(\zeta,\al)/\bs{Q})\) です。

 \(\mr{Gal}(\bs{Q}(\zeta)/\bs{Q})\) 

自己同型写像は、方程式の解を共役な解に移します。\(\zeta\) は \(1\) の原始\(5\)乗根であり、4次方程式 \(x^4+x^3+x^2+x+1=0\) の解なので、
 \(\zeta,\:\:\zeta^2,\:\:\zeta^3,\:\:\zeta^4\)
が互いに共役です。そこで、自己同型写像 \(\tau_i\:(i=1,2,3,4)\) を、\(\zeta\) を \(\zeta^i\) に置き換える写像、つまり、
\(\tau_i\::\:\zeta\:\longrightarrow\:\zeta^i\)
と定義します。これを、
 \(\tau_i(\zeta)=\zeta^i\:\:(i=1,2,3,4)\)
と表記します。\(\tau_i\:(i=1,2,3,4)\) の集合を、
 \(G_{\large t}=\{\tau_1,\:\tau_2,\:\tau_3,\:\tau_4\}\)
とすると、\(G_{\large t}\) は \(\bs{Q}(\zeta)\) の4つの自己同型写像の集合なので、
 \(\mr{Gal}(\bs{Q}(\zeta)/\bs{Q})=G_{\large t}\)
です。恒等写像を \(e\) とすると、
 \(\tau_1=e\)
ですが、
 \(\tau_2(\zeta)=\zeta^2\)
\(\begin{eqnarray}
&&\:\:\tau_2^{\:2}(\zeta)&=\tau_2(\tau_2(\zeta))=\tau_2(\zeta^2)\\
&&&=\zeta^4=\tau_4(\zeta)\\
&&\:\:\tau_2^{\:3}(\zeta)&=\tau_2(\tau_2^2(\zeta))=\tau_2(\zeta^4)\\
&&&=\zeta^8=\zeta^3=\tau_3(\zeta)\\
&&\:\:\tau_2^{\:4}(\zeta)&=\zeta^{16}=\tau_1(\zeta)\\
\end{eqnarray}\)
と計算できるので、
 \(\tau_1^{\:2}=\tau_4,\:\:\tau_1^{\:3}=\tau_3,\:\:\tau_1^{\:4}=e\)
となります。従って、\(\tau_2\) を \(\tau\) と書くと、
 \(G_{\large t}=\{e,\:\tau,\:\tau^2,\:\tau^3\}\)
であり、\(G_{\large t}\) は \(\tau\)(= \(\tau_2\)) を生成元とする位数 \(4\) の巡回群で、既約剰余類群 \((\bs{Z}/5\bs{Z})^{*}\) と同型です。これは一般に \(1\) の原始\(n\)乗根を \(\zeta\) としたときに、
 \(\mr{Gal}(\bs{Q}(\zeta)/\bs{Q})\cong(\bs{Z}/n\bs{Z})^{*}\)
という 6.3節の \(\bs{\bs{Q}(\zeta)}\)のガロア群の定理(63E)からもわかります。

\((\bs{Z}/5\bs{Z})^{*}\) の生成元は \(2,\:3\) です。従って、\(G_{\large t}\) の生成元は \(\tau_2,\:\tau_3\) です。\(\tau_4\) については、
 \(\tau_4(\zeta)=\zeta^4\)
\(\begin{eqnarray}
&&\:\:\tau_4^{\:2}(\zeta)&=\tau_4(\tau_4(\zeta))=\tau_4(\zeta^4)\\
&&&=\zeta^{16}=\zeta\\
\end{eqnarray}\)
なので、\(\tau_4^{\:2}=\tau_1=e\) であり、生成元ではありません。

 \(\mr{Gal}(\bs{F}(\al)/\bs{F})\) 

\(\bs{L}=\bs{Q}(\zeta,\al)=\bs{F}(\al)\) は \(\bs{F}=\bs{Q}(\zeta)\) 上の既約方程式 \(x^5-2=0\) の解の一つである \(\al\) を \(\bs{F}\) に添加したべき根拡大体です。\(\bs{F}\) には \(1\)の原始5乗根 \(\zeta\) が含まれるので、\(\bs{F}(\al)/\bs{F}\) はガロア拡大、かつ巡回拡大です。\(\al\) と共役な方程式の根は、
 \(\al,\:\:\al\zeta,\:\:\al\zeta^2,\:\:\al\zeta^3,\:\:\al\zeta^4\)
です。そこで \(\al\) に作用する自己同型写像 \(\sg_j\:(j=0,1,2,3,4)\) を、
\(\sg_j:\:\al\:\longrightarrow\:\al\zeta^j\)
と定義します。これを
 \(\sg_j(\al)=\al\zeta^j\)
と書きます。\(\sg_j\) の集合を、
 \(G_{\large s}=\{\sg_0,\:\sg_1,\:\sg_2,\:\sg_3,\:\sg_4\}\)
とすると、\(\mr{Gal}(\bs{F}(\al)/\bs{F})=G_{\large s}\) です。また、
 \(\sg_0=e\)
 \(\sg_1(\al)=\al\zeta\)
 \(\sg_2(\al)=\al\zeta^2=\sg_1^{\:2}(\al)\)
 \(\sg_3(\al)=\al\zeta^3=\sg_1^{\:3}(\al)\)
 \(\sg_4(\al)=\al\zeta^4=\sg_1^{\:4}(\al)\)
です。\(\sg_1=\sg\) と書くと、
 \(G_{\large s}=\{e,\:\sg,\:\sg^2,\:\sg^3,\:\sg^4\}\)
となって、\(G_{\large t}\) は \(\sg\) を生成元とする位数 \(5\) の巡回群であり、剰余群 \(\bs{Z}/5\bs{Z}\) と同型です。なお \(5\) は素数なので、\(\sg_1\) だけでなく、\(\sg_2,\:\sg_3,\:\sg_4\) も生成元です。

 \(\mr{Gal}(\bs{Q}(\zeta,\al)/\bs{Q})\) 

\(\sg_j\) を使って、\(\bs{F}=\bs{Q}(\zeta)\) の自己同型写像 \(\tau_i\) を \(\bs{L}=\bs{Q}(\zeta,\al)\) の自己同型写像に延長します。同型写像の延長定理51H)により、\(\bs{Q}(\zeta,\al)\) の自己同型写像で、その作用を \(\bs{Q}(\zeta)\) に限定すると \(\tau_i\) に一致するものが必ず存在します。

\(\tau_i\) と \(\sg_j\) の合成写像を \(\sg_{ij}\) とし、
\(\sg_{ij}=\sg_j\cdot\tau_i\)
   \((i=1,2,3,4)\:\:(j=0,1,2,3,4)\)
と定義します。\(\tau_i\) が先に作用します。すると、
 \(\sg_{10}=\sg_0\cdot\tau_1=e\cdot e=e\)
 \(\sg_{ij}(\zeta)=\tau_i(\zeta)=\zeta^i\)
 \(\sg_{ij}(\al)=\sg_j(\al)=\al\zeta^j\)
となります。また、
\(\begin{eqnarray}
&&\:\:\sg_{ij}(\al\zeta)&=\sg_j\tau_i(\al\zeta)\\
&&&=\sg_j(\al\zeta^i)\\
&&&=\al\zeta^j\zeta^i\\
&&&=\al\zeta^{i+j}\\
\end{eqnarray}\)
です。このように定義した \(\sg_{ij}\) 同士の演算(=写像の合成)は \(\sg_{ij}\) で閉じています。\(\tau_i\) も \(\sg_j\) も5次方程式の解を共役な解に移す写像なので、その合成写像もまた、解を共役な解に移す写像ですが(=閉じている)、次のように計算で確認することができます。

\(\tau_i\:(i=1,2,3,4)\) は \(\tau(\)=\(\tau_2)\) を生成元とする巡回群で、\(\sg_j\:(j=0,1,2,3,4)\) は \(\sg(=\sg_1)\) を生成元とする巡回群です。ここで、
 \(\tau\sg=\sg^2\tau\)
が成り立ちます。なぜなら、
\(\begin{eqnarray}
&&\:\:\tau\sg(\al\zeta)&=\tau_2\sg_1(\al\zeta)\\
&&&=\tau_2(\al\zeta\cdot\zeta)=\tau_2(\al\zeta^2)\\
&&&=\al\zeta^4\\
&&\:\:\sg^2\tau(\al\zeta)&=\sg_1^{\:2}\tau_2(\al\zeta)\\
&&&=\sg_1^{\:2}(\al\zeta^2)\\
&&&=\sg_1(\al\zeta\cdot\zeta^2)\\
&&&=\al\zeta\cdot\zeta\cdot\zeta^2\\
&&&=\al\zeta^4\\
\end{eqnarray}\)
と計算できるので、
 \(\tau\sg(\al\zeta)=\sg^2\tau(\al\zeta)\)
が成り立つからです。\(\sg\) と \(\tau\) は可換ではありませんが(\(\tau\sg\neq\sg\tau\))、\(\tau\sg=\sg^2\tau\) という、いわば "弱可換性" があります("弱可換性" はここだけの言葉)。

なお、一般化すると、
  \(\tau^i\sg^j=\sg^k\tau^i\:\:(k=2^{i}j)\)
と計算できます。

\(\sg_{ij}\) の 2つの元 \(\sg_{ab},\:\sg_{cd}\) の合成写像は、
 \(\sg_{cd}\sg_{ab}=\sg_d\tau_c\sg_b\tau_a=\sg_d(\tau_c\sg_b)\tau_a\)
ですが、\(\tau_c\sg_b\) の部分は、
 \(\tau_c\sg_b=\tau\cd\tau\sg\cd\sg\)
の形をしています。この部分に弱可換性 \(\tau\sg=\sg^2\tau\) の関係を繰り返し使って、
 \(\tau_c\sg_b=\sg\cd\sg\tau\cd\tau\)
の形に変形できます。ということは、
 \(\sg_{cd}\sg_{ab}=\sg\cd\sg\tau\cd\tau\)
にまで変形できます。\(\sg^5=e,\:\tau^4=e\) なので、これは、
 \(\sg_{cd}\sg_{ab}=\sg_j\tau_i\)
となる \(i,\:j\) が一意に決まることを示していて、合成写像は \(\sg_{ij}\) で閉じていることがわかります。

2つの写像、\(\sg_{ab}\) と \(\sg_{cd}\) の合成写像を具体的に計算してみると、
\(\begin{eqnarray}
&&\:\:\sg_{cd}\sg_{ab}(\al\zeta)&=\sg_{cd}(\al\zeta^{a+b})\\
&&&=\sg_d\tau_c(\al\zeta^{a+b})\\
&&&=\sg_d\al\zeta^{c(a+b)}\\
&&&=\al\zeta^{ac+bc+d}\\
\end{eqnarray}\)
  \((1\leq a,c\leq4,\:\:0\leq b,d\leq4)\)
となります。四則演算はすべて有限体 \(\bs{F}_5\) で(= \(\mr{mod}\:5\) で)行います。
 \(\sg_{(ac)(bc+d)}(\al\zeta)=\al\zeta^{ac+bc+d}\)
なので、
 \(\sg_{cd}\sg_{ab}=\sg_{(ac)(bc+d)}\)
です。記述を見やすくするため、

\(\sg_{ij}=\)[ \(i,\:j\) ]

と書きます。この記法を使うと、
 [ \(c,\:d\) ][ \(a,\:b\) ]\(=\)[ \(ac,\:bc+d\) ]
となります。また、
 [ \(a,\:b\) ][ \(a^{-1},\:-a^{-1}b\) ]
  \(=\)[ \(aa^{-1},\:-aa^{-1}b+b\) ]
  \(=\)[ \(1,\:0\) ]\(=e\)
 [ \(a^{-1},\:-a^{-1}b\) ][ \(a,\:b\) ]
  \(=\)[ \(a^{-1}a,\:a^{-1}b-a^{-1}b\) ]
  \(=\)[ \(1,\:0\) ]\(=e\)
なので、[ \(a,\:b\) ] の逆元は、
 [ \(a,\:b\) ]\(^{-1}=\)[ \(a^{-1},\:-a^{-1}b\) ]
です。\(a^{-1}\) は \(\bs{F}_5\)(ないしは\((\bs{Z}/5\bs{Z})^{*}\))での逆元で、\(1^{-1}=1\)、\(2^{-1}=3\)、\(3^{-1}=2\)、\(4^{-1}=4\) です。

以上で、演算で閉じていて、単位元と逆元の存在がいえるので、
 \(\sg_{ij}\:\:(i=1,2,3,4)\:\:(j=0,1,2,3,4)\)
は群を構成することがわかります。


\(\sg_{ij}\) を共役な解の巡回置換で表現します。\(x^5-2=0\) の5つの解を \(1,\:2\:,3,\:4,\:5\) で表します。つまり、
 \(1:\al,\:2:\al\zeta,\:3:\al\zeta^2,\:4:\al\zeta^3,\:5:\al\zeta^4\)
です。
 \(\tau_i(\zeta)=\zeta^i\)
ですが、\(\zeta^5=1\) に注意して、\(\tau_i\) を巡回置換で表現すると、
 \(\tau_1=\:e\)
 \(\tau_2=(2,\:3,\:5,\:4)=\tau\)
 \(\tau_3=(2,\:4,\:5,\:3)=\tau^3\)
 \(\tau_4=(2,\:5)(3,\:4)=\tau^2\)
となります。同様にして、
 \(\sg_j(\al)=\al\zeta^j\)
なので、
 \(\sg_0=\:e\)
 \(\sg_1=(1,\:2,\:3,\:4,\:5)=\sg\)
 \(\sg_2=(1,\:3,\:5,\:2,\:4)=\sg^2\)
 \(\sg_3=(1,\:4,\:2,\:5,\:3)=\sg^3\)
 \(\sg_4=(1,\:5,\:4,\:3,\:2)=\sg^4\)
です。これらをもとに \(\sg_{ij}\) を計算すると、次のようになります。

 \(\sg_{10}=\sg_0\tau_1=\:e\)
 \(\sg_{20}=\sg_0\tau_2=(2,\:3,\:5,\:4)\)
 \(\sg_{30}=\sg_0\tau_3=(2,\:4,\:5,\:3)\)
 \(\sg_{40}=\sg_0\tau_4=(2,\:5)(3,\:4)\)

 \(\sg_{11}=\sg_1\tau_1=(1,\:2,\:3,\:4,\:5)\)
 \(\sg_{21}=\sg_1\tau_2=(1,\:2,\:4,\:3)\)
 \(\sg_{31}=\sg_1\tau_3=(1,\:2,\:5,\:4)\)
 \(\sg_{41}=\sg_1\tau_4=(1,\:2)(3,\:5)\)

 \(\sg_{12}=\sg_2\tau_1=(1,\:3,\:5,\:2,\:4)\)
 \(\sg_{22}=\sg_2\tau_2=(1,\:3,\:2,\:5)\)
 \(\sg_{32}=\sg_2\tau_3=(1,\:3,\:4,\:2)\)
 \(\sg_{42}=\sg_2\tau_4=(1,\:3)(4,\:5)\)

 \(\sg_{13}=\sg_3\tau_1=(1,\:4,\:2,\:5,\:3)\)
 \(\sg_{23}=\sg_3\tau_2=(1,\:4,\:5,\:2)\)
 \(\sg_{33}=\sg_3\tau_3=(1,\:4,\:3,\:5)\)
 \(\sg_{43}=\sg_3\tau_4=(1,\:4)(2,\:3)\)

 \(\sg_{14}=\sg_4\tau_1=(1,\:5,\:4,\:3,\:2)\)
 \(\sg_{24}=\sg_4\tau_2=(1,\:5,\:3,\:4)\)
 \(\sg_{34}=\sg_4\tau_3=(1,\:5,\:2,\:3)\)
 \(\sg_{44}=\sg_4\tau_4=(1,\:5)(2,\:4)\)

この巡回置換表示にもとづいて
 [ \(c,\:d\) ][ \(a,\:b\) ]\(=\)[ \(ac,\:bc+d\) ]
を検証してみます。たとえば、
 \(\sg_{23}\sg_{42}\)\(=\)[ \(2,\:3\) ][ \(4,\:2\) ]
\(=\)[ \(8,\:7\) ]\(=\)[ \(3,\:2\) ]
\(=\sg_{32}\)
となるはずですが、

 \(\sg_{42}\)\(=(1,\:3)(4,\:5)\)
\(=\left(\begin{array}{c}1&2&3&4&5\\3&2&1&5&4\end{array}\right)\)
 \(\sg_{23}\)\(=(1,\:4,\:5,\:2)\)
\(=\left(\begin{array}{c}3&2&1&5&4\\3&1&4&2&5\end{array}\right)\)

 \(\sg_{23}\sg_{42}\)\(=\left(\begin{array}{c}1&2&3&4&5\\3&1&4&2&5\end{array}\right)\)
\(=(1\:3\:4\:2)=\sg_{32}\)

となって、確かに成り立っています。また逆元の式、
 [ \(a,\:b\) ]\(^{-1}=\)[ \(a^{-1},\:-a^{-1}b\) ]
ですが、

 \(\sg_{23}^{\:\:-1}\)\(=\)[ \(2,\:3\) ]\(^{-1}\)
\(=\)[ \(3,\:-3\cdot3\) ]\(=\)[ \(3,\:-9\) ]
\(=\)[ \(3,\:1\) ]\(=\sg_{31}\)
\(=(1,\:2,\:5,\:4)\)
 \(\sg_{23}^{\:\:-1}\)\(=(1,\:4,\:5,\:2)^{-1}\)
\(=(2,\:5,\:4,\:1)\)
\(=(1,\:2,\:5,\:4)\)

となり、成り立っています。\(\bs{F}_5\) での演算では \(2^{-1}=3\) です。


以上により、
\(\begin{eqnarray}
&&\:\:G=\{\sg_{ij}\:| &i=1,2,3,4\\
&&&j=0,1,2,3,4\}\\
\end{eqnarray}\)
とおくと、
 \(G=\mr{Gal}(\bs{Q}(\zeta,\al)/\bs{Q})\)
であることがわかりました。ここで、
 \(G_{\large s}=\{e,\:\sg,\:\sg^2,\:\sg^3,\:\sg^4\}\)
は \(G\) の正規部分群になります。なぜなら、\(G_{\large s}=\mr{Gal}(\bs{Q}(\zeta,\al)/\bs{Q}(\zeta))\) なので、\(G_{\large s}\) の固定体は \(\bs{Q}(\zeta)\) です。一方、\(\bs{Q}(\zeta)/\bs{Q}\) はガロア拡大なので、正規性定理53C)によって \(G_{\large s}\) は \(G\) の正規部分群になるからです。

\(G_{\large s}\) が \(G\) の正規部分群であることは、計算でも確かめられます。"弱可換性" である、
 \(\tau\sg=\sg^2\tau\)
の関係を使うと、
\(\begin{eqnarray}
&&\:\:\tau G_{\large s}&=\{\tau,\:\sg^2\tau,\:\sg^4\tau,\:\sg^6\tau,\:\sg^8\tau\}\\
&&&=\{\tau,\:\sg^2\tau,\:\sg^4\tau,\:\sg\tau,\:\sg^3\tau\}\\
&&&=\{e,\:\sg^2,\:\sg^4,\:\sg,\:\sg^3\}\cdot\tau\\
&&&=G_{\large s}\tau\\
\end{eqnarray}\)
が成り立ち、これを繰り返すと、
 \(\tau^iG_{\large s}=G_{\large s}\tau^i\)
が成り立ちます。\(G\) の任意の元を \(\sg^j\tau^i\) とすると、
\(\begin{eqnarray}
&&\:\:(\sg^j\tau^i)G_{\large s}&=\sg^jG_{\large s}\tau^i\\
&&&=G_{\large s}(\sg^j\tau^i)\\
\end{eqnarray}\)
となって(\(\sg^j\) と \(G_{\large s}\) は可換です)、\(G_{\large s}\) が正規部分群の定義を満たします。

また、\(G\) の任意の元 \(x\) を \(x=\sg^j\tau^i\) とし、剰余群 \(G/G_{\large s}\) の任意の元 を \(xG_{\large s}\) とすると、
\(\begin{eqnarray}
&&\:\:xG_{\large s}&=(\sg^j\tau^i)G_{\large s}=\sg^jG_{\large s}\tau^i\\
&&&=G_{\large s}\tau^i\\
\end{eqnarray}\)
となりますが、\(G_{\large s}\tau^i=\tau^iG_{\large s}\) が成り立つので、
\(\begin{eqnarray}
&&\:\:(xG_{\large s})^4&=(G_{\large s}\tau^i)^4\\
&&&=(G_{\large s})^4(\tau^i)^4\\
&&&=G_{\large s}\\
\end{eqnarray}\)
となり、剰余群 \(G/G_{\large s}\) は位数 \(4\) の巡回群です。


もともと \(G_{\large s}=\mr{Gal}(\bs{Q}(\zeta,\al)/\bs{Q}(\zeta))\) であり、\(\bs{Q}(\zeta)\) の固定体は \(G_{\large s}\) でした。従って、

 \(\bs{Q}\:\subset\:\bs{Q}(\zeta)\) \(\subset\:\bs{Q}(\zeta,\al)\)
 \(G\:\sp\:G_{\large s}\) \(\sp\:\{e\}\)

のガロア対応が得られました。\(G_{\large s}\) は \(G\) の正規部分群で \(G/G_{\large s}\) は巡回群、また \(G_{\large s}\) も巡回群です。従って \(G\) は可解群です。なお、\(\mr{Gal}(\bs{Q}(\zeta)/\bs{Q})=G_{\large t}\) です。以上をまとめると、

\(\mr{Gal}(\bs{Q}(\zeta,\al)/\bs{Q}))\)
 \(=G\)
 \(=\{\:\sg_{ij}\:\}=\{\:\sg_j\tau_i\:\}\)
   \((i=1,2,3,4)\:\:(j=0,1,2,3,4)\)
 \(\sg=(1,\:2,\:3,\:4,\:5)\)
  \(\sg_0=e\)
  \(\sg_1=\sg\)
  \(\sg_2=\sg^2\)
  \(\sg_3=\sg^3\)
  \(\sg_4=\sg^4\)
 \(\tau=(2,\:3,\:5,\:4)\)
  \(\tau_1=e\)
  \(\tau_2=\tau\)
  \(\tau_3=\tau^3\)
  \(\tau_4=\tau^2\)
\(\begin{eqnarray}
&&G_{\large s}&=\{e,\:\sg,\:\sg^2,\:\sg^3,\:\sg^4\}\\
&&&=\mr{Gal}(\bs{Q}(\zeta,\al)/\bs{Q}(\zeta)))\\
&&G_{\large t}&=\{e,\:\tau,\:\tau^2,\:\tau^3\}\\
&&&=\mr{Gal}(\bs{Q}(\zeta)/\bs{Q}))\\
\end{eqnarray}\)

となります。

フロベニウス群 F20.jpg
\(\bs{x^5-2=0}\) のガロア群(\(F_{20}\))

ガロア群 \(F_{20}\) の \(20\)個の元を、4つの5角形の頂点に配置した図。\((1,2,3,4,5)\) などはガロア群を構成する巡回置換を表す。また \(23451\) などは、その巡回置換によって \(12345\) を置換した結果を表す(白ヌキ数字は置換で不動の点)。この群の生成元は、色を付けた \((1,2,3,4,5)\) と \((2,3,5,4)\) である。

位数 \(20\) の元、\(G=\mr{Gal}(\bs{Q}(\zeta,\al)/\bs{Q})\) は、(位数 \(20\)の)フロベニウス群という名前がついていて、\(F_{20}\) と表記します。フロベニウス群は、高々1点を固定する置換と恒等置換から成る群です。\(G\) は、固定する点がない \(\sg=(1,\:2,\:3,\:4,\:5)\) と、1点だけを固定する \(\tau=(2,\:3,\:5,\:4)\) の2つを生成元とする群なので、フロベニウス群です。この \(F_{20}\) の内部構造を調べます。

\(\tau_i\) には \(\{\tau_1=e,\:\tau_2,\:\tau_3,\:\tau_4\}\) の生成元とはならない \(\tau_4\) があります。\(\sg_i,\:\tau_j\) このような性格をもつのは \(\tau_4\) だけです。その \(\tau_4\) は、
 \(\tau_4=(2,\:5)(3,\:4)\)
 \(\tau_4^{\:2}=e\)
でした。つまり \(\{e,\:\tau_4\}\) は位数2の巡回群です。

ということは、\(\sg_1=\sg\) と \(t_4\) を生成元として、新たな群を定義できることになります。その群の元を \(\pi_{ij}\) とし、
 \(\pi_{ij}=\sg^j\tau_4^i\:\:(i=0,1,\:\:j=0,\:1,\:2,\:3,\:4)\)
\(\begin{eqnarray}
&&\:\: \pi_{0j}&=\sg_j\\
&&\:\: \pi_{1j}&=\sg_j\cdot\tau_4\\
&&&=\sg_j\cdot(2,\:5)(3,\:4)\\
\end{eqnarray}\)
と定義すると、位数 \(10\) の群になります。具体的に計算してみると、
 \(\pi_{00}=e\)
 \(\pi_{01}=(1,\:2,\:3,\:4,\:5)\)
 \(\pi_{02}=(1,\:3,\:5,\:2,\:4)\)
 \(\pi_{03}=(1,\:4,\:2,\:5,\:3)\)
 \(\pi_{04}=(1,\:5,\:4,\:3,\:2)\)
 \(\pi_{10}=(2,\:5)(3,\:4)\)
 \(\pi_{11}=(1,\:2)(3,\:5)\)
 \(\pi_{12}=(1,\:3)(4,\:5)\)
 \(\pi_{13}=(1,\:4)(2,\:3)\)
 \(\pi_{24}=(1,\:5)(2,\:4)\)
となります。

この群は5次の2面体群であり、\(D_{10}\) で表します(\(D_5\) と書く流儀もある。幾何学の文脈では \(D_5\))。一般に 2面体群 \(D_{2n}\)(または \(D_n\))とは、裏表のある正\(n\)角形を元の形に一致するように移動する(=対称移動をする)ことを表す群です。正5角形の頂点に1から5の名前を一周する順につけると、たとえば \((1,\:2,\:3,\:4,\:5)\) は \(72^\circ\)の回転であり、\((2,\:5)(3,\:4)\) は頂点1を通る対称軸で折り返す対称移動です。3次の2面体群を1.3節で図示しました。

\(D_{10}\) は \(F_{20}\) の部分群で、位数は \(10\) です。位数が \(20\) の半分なので、半分の部分群は正規部分群の定理(65F)により、\(D_{10}\) は \(F_{20}\) の正規部分群であり、剰余群 \(F_{20}/D_{10}\) は位数が \(2\) なので巡回群です。


さらに \(D_{10}\) の部分群として \(\sg_i\:(i=0,1,2,3,4)\) があり、位数 \(5\) の巡回群です。位数 \(5\) の巡回群は \(C_5\) と表記されます。\(C_5\) の位数もまた \(D_{10}\) の半分なので、\(C_5\) は \(D_{10}\) の正規部分群であり、剰余群 \(D_{10}/C_5\) は巡回群です。結局、\(F_{20}\) には、

 \(F_{20}\:\sp\:C_5\:\sp\:\{\:e\:\}\)

 \(F_{20}\:\sp\:D_{10}\:\sp\:C_5\:\sp\:\{\:e\:\}\)

という部分群の列(可解列)が存在することになり、これらの部分群は可解群です。実は、可解な5次方程式のガロア群は、\(F_{20}\)、\(D_{10}\)、\(C_5\) の3つしかないことが知られています。以上のように \(x^5-2=0\) のガロア群は、可解なガロア群の全部を含んでいるのでした。

\(x^5+11x-44\)
x^5+11x-44=0.jpg
\(x^5+11x-44=0\) の根
一般的に、ある5次方程式が与えられたとき、そのガロア群を決定するには少々複雑な計算が必要です。また可解な5次方程式の解を四則演算とべき根で表現するための計算手法も複雑で、この記事では省略します。ここでは、可解な5次方程式の例をあげておきます。

 \(x^5+11x-44=0\)

のガロア群は \(D_{10}\) であることが知られています。この方程式は実数解が1つで、虚数解が4つです。実数解を \(\al\) とし、Wolfram Alpha で \(\al\) の近似値と厳密値を求めてみると次のようになります。この厳密値は本当かと心配になりますが、検算してみると正しいことが分かります。

\(\begin{eqnarray}
&&\:\:\al&=1.8777502748964972576\cd\\
&&&=\dfrac{\sqrt[5]{11}}{(\sqrt[5]{5})^4}(\al_1+\al_2-\al_3+\al_4)\\
\end{eqnarray}\)

  \(\al_1=\sqrt[5]{\phantom{-}75+50\sqrt{5}-12\sqrt{5-\sqrt{5}}-59\sqrt{5+\sqrt{5}}}\)
  \(\al_2=\sqrt[5]{\phantom{-}75-50\sqrt{5}+59\sqrt{5-\sqrt{5}}-12\sqrt{5+\sqrt{5}}}\)
  \(\al_3=\sqrt[5]{-75+50\sqrt{5}+59\sqrt{5-\sqrt{5}}-12\sqrt{5+\sqrt{5}}}\)
  \(\al_4=\sqrt[5]{\phantom{-}75+50\sqrt{5}+12\sqrt{5-\sqrt{5}}+59\sqrt{5+\sqrt{5}}}\)


5次方程式の可解性とガロア群を判定するアルゴリズムを「No.370 - 高校数学で理解するガロア理論(7)可解性の判定」に書きました。
(2024.6.1 追記)

 
8.結論 
 

第5章から第7章まで、かなり長い証明のステップでしたが、可解性の必要条件(64B)、

\(\bs{Q}\) 上の方程式 \(f(x)=0\) の解の一つ がべき根で表されているとする。\(f(x)\) の最小分解体を \(\bs{L}\) とするとき、\(\mr{Gal}(\bs{L}/\bs{Q})\) は可解群である。

と、可解性の十分条件(75A)、

体 \(\bs{F}\) 上の方程式 \(f(x)=0\) の最小分解体を \(\bs{K}\) とする。\(\mr{Gal}(\bs{K}/\bs{F})=G\) とし、\(G\) は可解群とする。このとき \(f(x)=0\) の解は四則演算とべき根で表現できる。

および、具体的な5次方程式のガロア群の検討と合わせて、次が結論づけられました。

\(\bs{Q}\) 上の多項式 \(f(x)\) の最小分解体を \(\bs{L}\) とする。方程式 \(f(x)=0\) の解が四則演算とべき根で表現できるための必要十分条件は、ガロア群
\(\mr{Gal}(\bs{L}/\bs{Q})\) が可解群であることである。

5次方程式のガロア群には、可解群でないものと可解群の両方がある。従って、任意の5次方程式の解を四則演算とべき根で統一的に表現する解の公式はない。

高校数学で理解するガロア理論:終

 
定義\(\cdot\)定理一覧 
 


2.整数の群


2.1 整数
互除法の原理21A
自然数 \(a\) と \(b\) の最大公約数を \(\mr{gcd}(a,\:b)\) で表す。自然数 \(a\) を \(b\) で割った余りを \(r\) とすると、

 \(\mr{gcd}(a,\:b)=\mr{gcd}(b,\:r)\)

である。

不定方程式の解の存在21B
2変数 \(x,\:y\) の1次不定方程式を、
 \(ax+by=c\)
  (\(a,\:b,\:c\) は整数。\(a\neq0,\:b\neq0\))
とし、\(a\) と \(b\) の最大公約数を \(d\) とする。このとき、
 \(c=kd\) (\(k\) は整数)
なら方程式は整数解を持ち、そうでなければ整数解を持たない。


このことは1次不定方程式が3変数以上であっても成り立つ。つまり
 \(a_1x_1+a_2x_2+\:\cd\:+a_nx_n=c\)
  (\(a_i\) は \(0\) 以外の整数)
とし、
 \(d=\mr{gcd}(a_1,a_2,\:\cd\:,\:a_n)\)
とする。このとき、
 \(c=kd\) (\(k\) は整数)
なら方程式は整数解を持ち、そうでなければ整数解を持たない。

不定方程式の解の存在21C
\(0\) でない整数 \(a\) と \(b\) が互いに素とすると、1次不定方程式、
 \(ax+by=1\)
は整数解をもつ。また、\(n\) を任意の整数とすると、
 \(ax+by=n\)
は整数解をもつ。あるいは、任意の整数 \(n\) は、
 \(n=ax+by\) \((x,\:y\) は整数)
の形で表現できる。


これは3変数以上であっても成り立つ。たとえば3変数の場合は、\(0\) でない整数 \(a,\:b,\:c\) が互いに素、つまり、
 \(\mr{gcd}(a,b,c)=1\)
であるとき、\(n\) を任意の整数として、1次不定方程式、
 \(ax+by+cz=n\)
は整数解を持つ。

法による演算の定義21D
\(a,\:b\) を整数、\(n\) を自然数とする。\(a\) を \(n\) で割った余りと、\(b\) を \(n\) で割った余りが等しいとき、
 \(a\equiv b\:\:(\mr{mod}\:n)\)
と書き、\(a\) と \(b\) は「法 \(n\) で合同」という。あるいは「\(\mr{mod}\:n\) で合同」、「\(\mr{mod}\:n\) で(見て)等しい」とも記述する。

法による演算規則21E
\(a,\:b,\:c,\:d\) を整数、\(n,r\) を自然数とし、
 \(a\equiv b\:\:(\mr{mod}\:n)\)
 \(c\equiv d\:\:(\mr{mod}\:n)\)
とする。このとき、
\((1)\:a+c\)\(\equiv b+d\) \((\mr{mod}\:n)\)
\((2)\:a-c\)\(\equiv b-d\) \((\mr{mod}\:n)\)
\((3)\:ac\)\(\equiv bd\) \((\mr{mod}\:n)\)
\((4)\:a^r\)\(\equiv b^r\) \((\mr{mod}\:n)\)
である。

中国剰余定理21F
\(n_1\) と \(n_2\) を互いに素な自然数とする。\(a_1\) と \(a_2\) を、\(0\leq a_1 < n_1,\:0\leq a_2 < n_2\) を満たす整数とする。このとき、
 \(x\equiv a_1\:\:(\mr{mod}\:n_1)\)
 \(x\equiv a_2\:\:(\mr{mod}\:n_2)\)
の連立方程式を満たす整数 \(x\) が存在する。この \(x\) は \(\mr{mod}\:n_1n_2\) でみて唯一である。つまり、\(0\leq x < n_1n_2\) の範囲に解が唯一存在する。

中国剰余定理・多連立21G
\(n_1,\:n_2,\:\cd\:,\:n_k\) を、どの2つをとっても互いに素な自然数とする。\(a_i\) を \(0\leq a_i < n_i\:\:(1\leq i\leq k)\) を満たす整数とする。このとき、

 \(x\equiv a_1\:\:(\mr{mod}\:n_1)\)
 \(x\equiv a_2\:\:(\mr{mod}\:n_2)\)
  \(\vdots\)
 \(x\equiv a_k\:\:(\mr{mod}\:n_k)\)

の連立合同方程式を満たす整数 \(x\) が存在する。この \(x\) は \(\mr{mod}\:n_1n_2\cd n_k\) でみて唯一である。つまり、\(0\leq x < n_1n_2\cd n_k\) の範囲では唯一の解が存在する。

2.2 群
群の定義22A
集合 \(G\) が次の ① ~ ④ を満たすとき、\(G\) は(group)であると言う。

① \(G\) の任意の元 \(x,\:y\) に対して演算(\(\cdot\)で表す)が定義されていて、\(x\cdot y\in G\) である。

② 演算について結合法則が成り立つ。つまり、
 \((x\cdot y)\cdot z=x\cdot(y\cdot z)\)

③ \(G\) の任意の元 \(x\) に対して
 \(x\cdot e=e\cdot x=x\)
を満たす元 \(e\) が存在する。\(e\) を単位元という。

④ \(G\) の任意の元 \(x\) に対して
 \(x\cdot y=y\cdot x=e\)
となる元 \(y\) が存在する。\(y\) を \(x\) の逆元といい、\(x^{-1}\) と表す。

2.3 既約剰余類群
既約剰余類群23A
剰余群 \(\bs{Z}/n\bs{Z}\) から、代表元が \(n\) と互いに素なものだけを選び出したものを既約剰余類という。

「既約剰余類」は、乗算に関して群になる。これを「既約剰余類群」といい、\((\bs{Z}/n\bs{Z})^{*}\) で表す。

定義により、\((\bs{Z}/n\bs{Z})^{*}\) の群位数は \(\varphi(n)\) である。\(\varphi\) はオイラー関数で、\(\varphi(n)\) は \(n\) 以下で \(n\) と互いに素な自然数の数を表す。\(n\) が素数 \(p\) の場合の群位数は \(\varphi(p)=p-1\) である。

2.4 有限体 \(\bs{\bs{F}_p}\)
有限体上の方程式124A
\(\bs{F}_p\) 上の1次方程式、
 \(ax+b=c\)
は1個の解をもつ。

有限体上の方程式224B
\(\bs{F}_p\) 上の多項式を \(f(x)\) とする。
\(f(a)=0\) なら、\(f(x)\) は \(x-a\) で割り切れる。

有限体上の方程式324C
\(\bs{F}_p\) 上の \(n\)次多項式を \(f_n(x)\) とする。方程式、
 \(f_n(x)=0\)
の解は、高々 \(n\) 個である。

2.5 既約剰余類群は巡回群

既約剰余類群 \((\bs{Z}/n\bs{Z})^{*}\) は巡回群の直積に同型である

位数の定理25A
\((\bs{Z}/n\bs{Z})^{*}\) の元を \(a\) とする。以下が成り立つ。

[補題1]
\(a^x=1\) となる \(x\:\:(1\leq x)\) が必ず存在する。\(x\) のうち最小のものを \(d\) とすると、\(d\) を \(a\) の位数(order)と呼ぶ。

[補題2]
\(a,\:a^2,\:a^3,\:\cd\:,\:a^d=1\) は 全て異なる。ないしは、
\(a^0=1,\:a,\:a^2,\:\cd\:,a^{d-1}\) は 全て異なる。

[補題3]
\(n=p\)(素数)とする。\(d\) 乗すると \(1\) になる \((\bs{Z}/p\bs{Z})^{*}\) の元は、\(a,\:a^2,\:a^3,\:\cd\:,\:a^d\) がそのすべてである。

[補題4]
\(a^x=1\) となる \(x\) は \(d\) の倍数である。

[補題5]
\(a\) の位数を \(d\) とすると、\(d\) は 群位数 の約数である。

オイラーの定理25B
自然数 \(n\) と素な自然数 \(a\) について、
 \(a^{\varphi(n)}=1\:\:(\mr{mod}\:n)\)
が成り立つ(オイラーの定理)。\(\varphi\) はオイラー関数で、\(\varphi(n)\) は \(n\) 以下で \(n\) と互いに素な自然数の数を表す。

\(n=p\)(素数)の場合は、\(p\) と素な数 \(a\) について、
 \(a^{p-1}=1\:\:(\mr{mod}\:p)\)
となる(フェルマの小定理)。

位数 \(d\) の元の数25C
\(p\) を素数とする。\((\bs{Z}/p\bs{Z})^{*}\) において、群位数 \((p-1)\) の約数 \(d\) のすべてについて、位数 \(d\) の元が \(\varphi(d)\) 個存在する。

生成元の存在125D
\(p\) を素数とするとき、\((\bs{Z}/p\bs{Z})^{*}\) には生成元が存在する。生成元とは、その位数が \((\bs{Z}/p\bs{Z})^{*}\) の群位数、\(p-1\) の元である。

なお、素数 \(p\) に対して、
 \(a^x\equiv1\:\:(\mr{mod}\:p)\)
となる \(x\) の最小値が \(p-1\) であるような \(a\) を、\(p\) の「原始根」という。既約剰余類群 \((\bs{Z}/p\bs{Z})^{*}\) の生成元=原始根である。

生成元の探索アルゴリズム(25D’)
\(p\) を素数とし、\((\bs{Z}/p\bs{Z})^{*}\) の元の一つを \(a\) とする。\(a\) の位数を \(d\) とし、\(d < p-1\) とする。このとき、\(d < e\) である位数 \(e\) をもつ \((\bs{Z}/p\bs{Z})^{*}\) の元が存在する。

[補題6]

\(a,\:b\) を自然数とすると、2つの数、\(a\,',\:b\,'\) をとって、
 \(a\,'|a\)
 \(b\,'|b\)
 \(\mr{gcd}(a\,',b\,')=1\)
 \(\mr{lcm}(a,b)=a\,'b\,'\)
となるようにできる。

[補題7]

\(p\) を素数とし、\((\bs{Z}/p\bs{Z})^{*}\) の元の一つを \(a\) とする。\(a\) の位数を \(d\) とし、\(a^k\:\:(1\leq k\leq p-1)\) の位数を \(e\) とすると、
 \(e=\dfrac{d}{\mr{gcd}(k,d)}\)
である。

[補題8]

\(p\) を奇素数とし、\(k\) を \(p\) と素な数とする(\(\mr{gcd}(k,p)=1\))。また、整数 \(m\) を \(m\geq1\) とする。

このとき、
 \((1+kp^m)^p=1+k\,'p^{m+1}\)
と表すことができて、\(k\,'\) は \(p\) と素である。

生成元の存在225E
\(p\) を \(p\neq2\) の素数(=奇素数)とする。また、\(g\) を \((\bs{Z}/p\bs{Z})^{*}\) の生成元とする。

このとき \(g\) または \(g+p\) は \((\bs{Z}/p^n\bs{Z})^{*}\) の生成元である。つまり、\((\bs{Z}/p^n\bs{Z})^{*}\) には生成元が存在する。

生成元の存在2(その1)

\(p\) を奇素数とし、\(g\) を \((\bs{Z}/p\bs{Z})^{*}\) の生成元とする。また、\(g\) は、
 \(g^{p-1}=1+kp\)
 \(\mr{gcd}(k,p)=1\)
と表されているとする。

この条件で、\(g\) は \((\bs{Z}/p^n\bs{Z})^{*}\) の生成元でもある。

生成元の存在2(その2)

\(p\) を奇素数とし、\(g\) を \((\bs{Z}/p\bs{Z})^{*}\) の生成元とする。また、\(g\) は、
 \(g^{p-1}=1+kp^m\:\:(m\geq2)\)
 \(\mr{gcd}(k,p)=1\)
と表されているとする。

この条件では、\(g+p\) が \((\bs{Z}/p^n\bs{Z})^{*}\) の生成元である。

2のべき乗の既約剰余類群25F
2のべき乗の既約剰余類群は、

 \((\bs{Z}/2^n\bs{Z})^{*}\cong(\bs{Z}/2\bs{Z})\times(\bs{Z}/2^{n-2}\bs{Z})\)

である。つまり2つの巡回群の直積に同型である。

[補題9]

\(n\geq2\) のとき、\(5\) の \(\mr{mod}\:2^n\) での位数は \(2^{n-2}\) である。

既約剰余類群の構造25G
既約剰余類群 \((\bs{Z}/n\bs{Z})^{*}\) は巡回群の直積に同型である。


3.多項式と体


3.1 多項式
多項式の不定方程式31A
\(a(x)\) と \(b(x)\) が互いに素な多項式のとき、
 \(a(x)f(x)+b(x)g(x)=1\)
を満たす多項式 \(f(x)\)、\(g(x)\)で、
 \(\mr{deg}\:g(x)\: < \:\mr{deg}\:a(x)\)
のものが存在する。

また、\(a(x)\) と \(b(x)\) が互いに素な多項式で、\(h(x)\) が任意の多項式のとき、
 \(a(x)f(x)+b(x)g(x)=h(x)\)
を満たす多項式 \(f(x)\)、\(g(x)\) で、
 \(\mr{deg}\:g(x)\: < \:\mr{deg}\:a(x)\)
のものが存在する。

既約多項式の定義31B
有理数 \(\bs{Q}\) を係数とする多項式で、\(\bs{Q}\) の範囲ではそれ以上因数分解できない多項式を \(\bs{Q}\) 上で既約な多項式という。

整数係数多項式の既約性31C
整数係数の多項式 \(f(x)\) が \(\bs{Q}\) 上で(=有理数係数の多項式で)因数分解できれば、整数係数でも因数分解できる。

既約多項式と素数の類似性31D

\(p(x)\) を既約多項式とし、\(f(x),\:g(x)\) を多項式とする。\(f(x)g(x)\) が \(p(x)\) で割り切れるなら、\(f(x),\:g(x)\) の少なくとも1つは \(p(x)\) で割り切れる。



\(p(x)\) を既約多項式とし、\(g(x)\) を多項式とする。\((g(x))^2\) が \(p(x)\) で割り切れるなら、\(g(x)\) は \(p(x)\) で割り切れる。また、\((g(x))^k\:\:(2\leq k)\) が \(p(x)\) で割り切れるなら、\(g(x)\) は \(p(x)\) で割り切れる。


既約多項式の定理131E
\(p(x)\) を \(\bs{Q}\) 上の既約多項式、\(f(x)\) を \(\bs{Q}\) 上の多項式とする。

方程式 \(p(x)=0\) と \(f(x)=0\) が(複素数の範囲で)共通の解を1つでも持てば、\(f(x)\) は \(p(x)\) で割り切れる。

既約多項式の定理231F
\(p(x)\) を \(\bs{Q}\) 上の既約多項式、\(f(x)\) を \(\bs{Q}\) 上の多項式とする。

\(f(x)\) の次数が1次以上で \(p(x)\) の次数未満のとき、方程式 \(p(x)=0\) と \(f(x)=0\) は(複素数の範囲で)共通の解を持たない。

既約多項式の定理331G
\(p(x)\) を \(\bs{Q}\) 上の既約多項式とすると、方程式 \(p(x)=0\) は(複素数の範囲で)重解を持たない。

最小多項式の定義31H
\(\al\) を 方程式の解とする。\(\al\) を解としてもつ、体 \(\bs{Q}\) 上の方程式のうち、次数が最小の多項式を、\(\al\) の \(\bs{Q}\) 上の最小多項式と言う。

最小多項式は既約多項式31I
\(\bs{Q}\) 上の方程式、\(f(x)=0\) が \(\al\) を解としてもつとき、

① \(f(x)\) が 体 \(\bs{Q}\) 上の既約多項式である