Life is Beautiful

主に進化生物学の理論のブログです。不定期更新予定。

理論生態学:発表・学習・研究の道標

▶1. 講義

 1.0 実は:どんな講義もとって良い

カリキュラム(つまり必修・選択履修かどうか)は大学の事務的手続きで定められているのであって、学びたいという主体的意欲があるのであれば、どんな講義を受講しても良い。単位として認定されるかどうか、というのは、副次的に付随する結果である。もちろん単位取得は最低限行なうべきだが、それ自体を目的とすべきではない。学生のうちは、何を学んでも良い。色々な講義に出て耳を傾け、自分の興味を見つけると良い。学習目的がはっきりしていなくても、タイトルやシラバスから「何となくこれ面白そう」と思ったものは何でも受講すれば良い。有限の人生において、色々な専門家の講義を聴くことに集中できる機会というのは非常に貴重である。それこそが大学生にとっての最大の権利である。

私の場合:

  • 文学部英語 (毎週予習してきてその場で発表するスタイルのややスパルタな講義だった。講師の先生は言葉がキツめで正直怖かったが、その先生に褒められたときの嬉しさは、格別だった。脳みそから報酬物質がドバドバ出るのを感じた。)
  • 農学部生態学 (市岡 孝朗 先生が講師だった。数理生態学の内容にも触れられていて、非常に刺激的だった。)
  • 他大学の臨海実習

などを受講していた。いずれも非常に重要な機会であったと、今になると痛感する。

 1.1 自主学習:予習の活用

大学の講義は、その場で聞いてその場で理解するようにはデザインされていないことが多い。意外かも知れないが、だからこそ予習は絶大な効果を発揮する。

私が頻繁に口にするのは、「予習は復習を兼ねる」である。自分の到達地点を確認することなく前には進めない。また、自分の到達地点を確認するだけでは、前には進めない。新しいことを学ぶためには、これまでに学んだことへの理解度を見返ることが必須である。まずは予習してみると良い。そうすると、復習すべき箇所が見えてくる。

私の場合:

  • 高校生の頃は、先々に予習をしていた。すると、自分の理解度・到達点がはっきりして、復習せざるを得なくなった。そのサイクルを高校で確立させられたのは、幸運であった。
  • 格通知を受け取った年の3月、ε-δ論法を自習した。
  • 微積分学の講義のため、自分で演習問題に取り組んだ。
  • 初年度の夏休みは、後期で取り扱われるはずの内容(確か、広義積分など)についての自習を進めた。

予習することのメリットは枚挙にいとまがないが、講義の内容がスッと頭に入ってくる自己高揚感と、それに伴って「勉強がどんどん楽しくなる」という実感はあったように思う。

 1.2 講師の活用

予習したとて、聞いてもわからないところは必ず現れる。講義内容に直結する疑問は講師に積極的に質問すると良い。これは受講生の特権である。

ただ、講義の内容とは直接関係がないこと、あるいは教科書を開けば載っている基礎的なこと、を質問する前に、一歩復習を要検討である。講師は講師ではあっても、個人の家庭教師ではない。質問者自身が調べてみたり、自分の中の疑問を明確にしてから、疑問を文章として手短にまとめ、そしてメールなどで尋ねた方が良いと思われる。講師も有限の人生を生きる人間だし、講義後は疲れていることも多い。その場で答えないといけないというプレッシャーを与えることが目的でない限りは、落ち着いて考えるだけの余裕を講師にも与えた方が、双方にとって良いだろう。

▶2. 演習形式の講義・自主ゼミ・輪読

 2.1 準備

発表内容についての予告をする方が良い。そうすると担当講師含む聴講者たちも、どこまで読んでくれば良いのか、目安を立てることができる。また、概要について話すことで、一貫的な理解を深めることができる。予告するうえでは、

  • 概要
  • 日付と時刻
  • 分からなかったところ

などを提示すると良い。

ゼミ・輪読は、周りの学友や講師から直接的に問題点を指摘してもらえる絶好の場である。個人の趣味にもよるが、たくさんの問題を解くことや、急いで進めることを目指すよりも、少数の問題や定理や具体例にじっくり取り組み、徹底的な分析と理解を試みる方が良い。

もちろん、題材の難易度にも依るが、問題を徹底的に突き詰めることは研究において最も重要な姿勢である。説明したい内容については、一文一句のがさず理解することを目指すべきである。そのうえで、分からないところを分からないと述べ、自分なりの理解と、題材の当該記述を、比較すると良い。教科書が根本的に間違っていることや、数式のミスタイプ(タイポ)も往々にある。

たとえば、ロトカボルテラ競走モデルの背景にある現象論的な仮定は何か?密度依存的な死亡と密度依存的な繁殖成功低下とは、どのようにモデルで区別されるか?こういった仮定を理解し尽くすことは、研究実践の上でも有効な訓練である。

特に大事なのは、「分かったふりをしない」である。自分を誤魔化すのが最も良くない。そして発表において他人をも欺くのは、損しかない。「だいたいこんな感じ」といった理解ではなく、徹底的に理解し尽くすことを目指す。必要に応じて参考文献を読み解くことも必要である。

 2.2 発表

自分の理解と、記述内容とを、相対化すべきである。そうした内容に実のある発表ができれば、及第点である。

しかし、内容だけでなく、形式も大事である。発表は、講釈ではなくコミュニケーションであることを覚えておくと良い。そのために、

  • はっきりと
  • ゆっくりと
  • ネクサス(主語と述語/結論)を明確に
  • 「えーっと」を減らすことを意識しながら
  • 自己混乱に気をつけながら
  • 話しつつ頭の中を整理しながら

話すと良い。また、

  • 定理は明文化する
  • 演習問題は前提を明文化する
  • 論理関係を明確化する
  • 図を使う

と良い。聞いているものは前提を簡単に忘れる。書いておくと前提の共有になるし、凡ミスを防ぎやすくなる。

発表はどうしても岡目八目なところがあることも覚えておくと良い。符号のミスなどはその典型である。書き間違い・言い間違いを指摘されることを恥と思う必要はない。だが自分の理解が怪しいような状態で発表を「こなす」ことを目指すのは良くない。有益な場とは、題材に関する参加者の相対理解が深まる場である。

なお、個人的には、アウトラインこそ確認する必要はあるだろうが、ノートを見ずに発表することを目指すと良いと考えている。それくらいに準備の段階で見通しよくかつ理解を深められていると、発表がオマケとなりうるほどにまで、実力がついたことの証左となる。もちろん難しい。だが、数学を学ぶ学生は特に、こうした理想形を意識しておくと良い。まあもちろん、発表時間がたんまりある場合にしか、この方法は採用できない。

質疑、あるいは参加者からの質問に答えるのは、難しくも本質的なものである。

  • 質問は、最後まで聞き、質問に返答を重ねない
  • エス・ノーで答えられることはまずそれを答えてから具体的な内容を説明する

と良いと思う。このあたりは、古田先生の「大学院で幾何の勉強を目指す学部生の方たちへ」に、至言がたくさんある。

▶3. 自主学習

 3.1 教科書をいかにして選ぶか

講義と関係なく教科書を読むことは、素晴らしい。だが残念ながら、適切な教科書を選ぶというのは(研究者歴を積んだとしても)とても大変である。読みたいから読む題材を選ぶのに、「読んでみないとわからないので選べない」という鶏卵問題に陥る。

前提として私は、多かれ少なかれ似た内容の本を何冊も取っ替え引っ替え読むより、一冊を精読することが、学生のうちは望ましい(ただし、研究する作法が身につくと、拾い読みするのが普通になる)と考える。つまり、一冊を選び抜くことにまずは注力すべきである。その際、初学者だけの見識で本を選ぶのはやめた方が良いこともある。指導教官や先輩の情報を活用して、読む本を決める方が無難である。もちろん、学生だけで決定することも良い経験にはなるので、あくまで無難である、と述べるにとどめる。何より、定評のある本はインターネットにもそれなりに情報があるが、信頼できるプロに聞くのがベストである。Amazonのレビューを頼るなど、もっての外である。

問題をさらにややこしくするのが、「独習に向いた本」と「輪読に向いた本」という二型の存在である。極論、たとえばマセマなどのかんたんで(はっきり言って単位をとることを目的としているだけの)薄い本は、わざわざ複数で輪読する価値がないであろう。一方、難しくて専門知識満載で行間がたっぷりで分厚い本を初心者が一人で読むのはやめたほうがよいだろう。これらは、本人が実際に手にとってみないとわからない。つまり、「"良い"本」という端的な形容は客観的に定義ができない。目的による。人による。知識レベルによる。それだけだ。

こうした理由もあって、一般に、(「おすすめできない本」はまあ、存在するのだが)「おすすめの本」に客観的指標は、一切無い。読み手、薦めた人の背景、社会的立場(学生?PI?)、といったあらゆる要素で、「おすすめの本」は不確定である。「Bさんを知るAさんがBさんにおすすめしたい本」は存在するかも知れない。web上で「おすすめの本」を検索しても、それは眉唾だらけで、時として営利性しかないことも多い。*1

まずは、目的をはっきりさせ、本屋に足を運ぶ。手にとる。読む。買うかどうかを決める。自分の立ち位置(理解度)を省みる。横着しない。そもそも、本は「とりあえず買って積ん読か〜」でも良いのだから。

なお、英語で書かれた本(洋書)の場合、研究者が内容を書評にまとめ、「論文」として出版していることも多い。書き手の主観は強く反映されているし、正式に出版された書評である以上、どうしても礼儀第一であり、率直な批判的感想のみを見込むことは難しいが、興味ある本の書評はまず読んでみても良いかも知れない。

ちなみに数理生態学に関して言えば、古典的名著やバイブルとでも呼ばれる本はそんなに多くない。というのも、多くの本はトピックやシステム(たとえば島の生物地理学)をベースに、現れる数式(たとえばマッカーサー・ウィルソン)を説明する、というスタイルであるためだ。ゆえに、トピック専門の本を読む機会が多いはずだ。数理解析を学びたいのか、それとも、系への理解を数式を通じて深めたいのか。このあたりは、教科書を読む目的そのものと照らし合わせながら決めると良いだろう。

 3.2 教科書を読むには

教科書を読むのは難しい。その背景には、新しい言葉遣いや概念の定義、あるいは独特の表現があることと、そして特に、行間の蘊蓄が不確定要素として紛れ込むことがある。行間全てを読み解くには、

  • 好意的分析(著者の意図を汲んだうえで記述内容を分析する)
  • 批判的分析(著者が間違っていることを分析して、正しい記述に直す)

を使い分ける必要があるため、非常に困難であり、ある程度の訓練が必要である。疑いすぎると本を読むモチベーションの減衰につながり、逆に信じ込むと新しい何かには繋がりにくい。一貫してやはり、誤魔化しなしで読むことを目指すと良い。

ノートを作ってまとめる、というのは学習過程としてとても有効だ。単純に、増えていく記述は過去の自分にとっても嬉しいものだ。しかしノートをとる量は程度問題である。読んで理解するよりも読んで書くことが唯一の目的となると、それは教科書を写しているのと変わらない。一方で、数学を含む学問には、「写経」により鍛えられるという節がある。個人的には、本当の意味での写経を考慮し、例えば「目をつぶって唱えられるほどに頭に染みつかせることを目的としつつ、染み込ませるべき内容についてはノートをとる」といった塩梅でバランスを取ると良い。

なお、新しい概念に出会うことは頻繁にあるだろう。ノートの最後のページを単語帳にしたりすると、いちいち以前のページを探すことなく、意味を思い出すことができる。付箋を用いたり、あるいは全て電子化して、OCR検索が可能なようにしておくのも良いだろう。

私は、大学三回生の春から卒業までの間、ノートをナンバリングしていた。大学院に入ってからやめてしまったが、50冊近くはいったと思う。さて、今、その内容をどれだけ覚えている、あるいは身につけていることだろうか。たぶん数冊程度だろう。でも、まあ(自分の脳みそは)そんなものだ。

▶4. 研究を行なうにあたって

 4.0 数学の学び方?

私が言うのもおこがましいかも知れない。だが、数学や関連分野には、

  • 「定義」/ 「公理」
  • 「定理」/「命題」/「系」
  • 補題
  • 「例」

といった、様々な主張概念が登場する。これらのニュアンスであったり意義は知っておくと良い。

定義(Definition)は、なにか概念を決め、文脈をはっきりさせる。基本的に、矛盾がないのであれば何も定義して良い、というある程度の自由さがある。たとえば、非常に大げさであるが

1+1=2である。この式を、自然数の基本性質と定義する。

といった定義づけも可能である。別の本を読めば別の定義や名前になっていたりする。「本書/ここでは、…と定義する」という脳内補足をしてもよいだろう。ただし、学術界に広く浸透した概念(“常識的”概念)に対しては、いちいち定義を与えないことも多い。そもそも定義は文脈依存的である。したがって、ある程度の記憶が必要となる。ちまたで耳にする、「数学はすべてが整合的」という言論は、まあ概ね正しいと思うのだが、「整合的になるように人々が設計した」と考えておいたほうが良い。つまり、ややこしい定義を見たら、「こう定義しておくと、都合がよい、あるいは整合的なのだな」という信頼があったほうが学習効率は良いだろう。定理や命題にたどりつくことなく定義でつまる、というのはもったいない気がする。もちろん、著者や既存理論が根本的に間違っている可能性も否めないが、もしそれを発見している場合は、もはやその教科書を読んで理解する必要が薄れているとも言えるだろう。

公理(Axiom)は、概念を限定的に定義づけると約束するためのものである。定義よりも自由度が低く、公理は文脈ごとに決めるというより文脈ごとに採用するものである。「〜が成立するものと約束する」というニュアンスである。約束は効力を発揮し続けるし、約束を勝手に変更することはできない。そういう意味での限定性である。生物学で現れる公理は常識的なものに限られており、マニアックな公理は現れない。有名な公理には選択公理がある。

定理(Theorem)とは、定義から論理的に導かれはするが証明するのが自明とは言えない(と考えられる時代が少なくともあった)ような主張のことである。 たとえば、フェルマーの最終定理、ペロン・フロベニウスの定理、ラウス・フルヴィッツの定理ポアンカレ・ベンディクソンの定理、などがある。

命題(Proposition)は、定理と呼ぶほどでもないが、証明しておきたい主張である。

(Corolary)は、命題や定理の主張における仮定をキツめにしたり、特殊な場合を考えたりしたときに、直ちに導かれる結論のことである。たとえば、ラウス・フルヴィッツの条件は、\(n\)次元ヤコビ行列のすべての固有値の実部が負であるための必要十分条件を定めるが、\(n=2\)の場合などを考えると(それは高校生のころに学んだ、2次方程式の解の配置問題であって)「系」である。

補題(Lemma)は、ある命題や定理を証明する途中で紹介・証明・応用される主張である。

は、定理や命題や定義において、特殊なケースを考えるというものである。実は、この「例」には、システムのエッセンスがぎっしり詰まっていることもある(極端に単純化されていて、考えるまでもなく当たり前であるような例は、「自明な例」と呼ばれる)。いくつか鍛錬を積んでみるとおわかりになるかと思うが、自明でない例を構成して、それについて理解し尽くすことは、たいへん難しい作業である。「非自明だが簡単な例」はいわば「良い例」であり、数学者の口からもよく出てくる言葉である。例を通じて概念を理解するということは非常によくある。だが、その例に囚われすぎることなく、より一般的な定義や定理の仮定を知っておくことは非常に重要である。あわよくば、良い例良い反例(非自明で簡単な、今回の場合には定義や仮定に当てはまらないような例)の両者を構成することを目指すと良いだろう。

 4.1 数理解析

研究を実際に行なうにあたって、数理解析は最も本質的な作業である。勉学では、他社の設定した問題に、解答があることを前提として取り組んできたが、研究での数理解析は、解答の存在が自明化されていない。答えがないかも知れないのに、取り組まねばならない。言い換えると、数理モデルを用いた理論研究では、自分が出題者かつ回答者かつ答えの存在を知らない者というのが基本構図である。

とはいえ、行える基礎的解析キットとでも呼ぶべき、最低限の基礎はある。私はこれを、「まずは最初にやる解析」、として「初手解析」と呼ぶことがある。数理生態学の場合は、モデルを作ったらまずは、

  • 無人化によってパラメータ数を減らして
  • 平衡点を求めて
  • 平衡点まわりで線型化して
  • 固有値を求めて安定性を調べて
  • 相図を描く

のが初手解析である。線型安定性解析と呼ばれるものだ。まずはこれが脊髄反射でできるようになることを目指すと良い。もちろん、高次元になると、多項式の根の位置を調べるためにはラウス・フルヴィッツなどの、複雑な条件式を調べる必要がある。こうした解析技術は多いに越したことはない。

とはいえ、まだまだできることがある。線型安定性解析をするだけなら、計算機でオートマ化できなくはない。つまり、初手解析は機械的操作である。真にイノベーティブな研究者を目指す上では、さらに行える解析手段があると良い。

たとえば、数理生態学では、多種が共存するかどうかを調べるときに当然ながら固有値を利用するわけだが、ロバートメイは、ランダムな行列には固有値の漸近的分布理論(ウィグナーの理論)が存在することを利用し、「安定性の分布」を調べた。これは、線型安定性解析から一歩踏み出した、イノベーティブな研究である。

初手解析は、必要であって充分ではない。あくまでスタンダードである。それがスラスラとできるようになったら、そのことを誇りに思い、自己を称え、喜びを噛み締めつつ、自分の個性や核をなすとも言うべき、「次手解析」について、思慮を巡らせると良い。どんな数学も、次手解析には有用である。

 4.2 数値計算・プログラミング

論文を書くには計算機技術は必須である。なぜならば、すべての図が計算機によって作成されるからである。計算機を扱うには慣れが必要なのは自明であるから、一刻も早く慣れ親しんでおくと良い

どの言語を選ぶか、については決定的指針が無い。私の時代では、C言語が主流であったが、最近はPythonやJuliaといった言語を使う学生も多いと聞く。どの言語にも、得意なことと不得意なことがある。これも、詳しい方に聞くと良いだろうし、あるいは信頼に足るプラグラミング言語資料はweb上にも少なからずある(特に公式のものは素晴らしい)。まずはHello worldから少し四則演算や行列演算などを試してみると良いのかも知れない。

ちなみに私はMathematicaでしか数値計算をしない。はっきり言って、これはちょっと公言が恥ずかしい。そもそもMathematicaはまじめに計算しようとしすぎるために計算速度が遅い、と世間では言われる。しかし、パフォーマンス・チューニングは、どんな言語でも可能である。もちろんそのためには専門知識が必要ではある。計算速度の速い言語を選ぶか、計算速度をプログラミング技術で補うか、という意思決定次第だろう。何より、一つの言語を学ぶと、派生的に色々な言語を学びやすくなる。まずは学んでみること、そして手を動かすことだ。たとえば論文の図を部分的に再現することを目指す、といったことは、良いモチベーションになるだろう。他人の整頓されたコードをもらって、いじりながら動かして挙動を学ぶこともアリだろう。

たとえば、ロトカボルテラの競争モデルには、大雑把に言って四つの挙動があり得るが、アイソクラインを用いたそれらの分類の図を作ることを目指す、などは初学者には良い演習問題である。あるいは、ヒステリシス効果があるような力学系は常識の範疇で構成することが可能なので、その分岐図を描いてみることも良いだろう。

ちなみに、意外に思われるかもしれないが、数学的素養と、プログラミングの素養とは、無関係ではない。数値計算のあらゆるアルゴリズムには数学的背景があるので、数学を学ぶとプログラミングのコツが掴みやすくなる。高速フーリエ変換などは、数学として非常に豊かな理論が数値計算的にも非常に有効である好例だ。もちろん、数学を学ぶだけでは不充分なのではあるが、それでも、数学はいつでもどこでも役に立つのである。

▶︎5. 研究

 5.1 研究-勉強バランス

これは永遠の課題である。私は今でも、勉強に時間を割きすぎる節がある。この点に関しては、私は二枚舌である。

  • じっくりと学びじっくりと研究することは非常に重要である。最低限、確保すべきである。
  • 効率よく学び効率よく研究を進めることも非常に重要である。必要に応じて学ぶべきである。

インプットとアウトプットのバランスを保つことを常に意識すると良い。すでに行なった計算を整理することや、それをプレプリントに上げるなどの工夫があると良いとの意見もある*2。私はこの点に関して、決定的に有益なアドバイスを与えられる立場や状況にはないと思う。だが、どんな勉強も(研究にとって直ちに有益かはともかく)人生を豊かにすることは間違いないだろう。

▶︎6. 「力」に惑わされれないように

世の中、「女子力」「料理力」「研究力」といった「力」ワードがありふれている。しかし、これらすべては、曖昧で明確な定義がなくて、「〜力が足りない」といったアンパンマン的な発想を招くだけで、問題解決には決してならない。断言するが、絶対に、「〜力が不足している」は、無意味な課題である。

幸い、研究においては、かなり多くの問題点が、明確化可能である。詳細は

lambtani.hatenablog.jp

をご覧になってほしい。博士課程というのは、問題を明確にして分析することが目的なのであるから、自身の問題を分析することも目指してほしい。

*1:そもそも、異ンターネット上には、全く信頼に足らない情報(のほう)が多いことを、前提として知っておくべきである。

*2:Yuji TachikawaさんのHPに至言がある