Life is Beautiful

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

定常状態という仮定

定常状態。平衡状態とも言う。理論・数理生物学の研究者はこれが本当に好きだ。批判ではない。ただの事実である。

その事実には原因がある。定常状態の性質を調べないと、パタンが見いだせないからである。平衡状態にないような、何かの時間変化のことを、transient dynamicsと呼ぶ。たとえば漸近的な平衡状態に到達していない系はそうである。周期的な挙動を示すシステムについては、ここでは深く考えない。

Transient dynamicsでのある時刻 tにおける振る舞いは、連続的に動かせるパラメータに関して一般的には非可算無限個、存在し得る。非可算無限とは、1つ、2つ、…10億4391つ、という整数での数え上げが不可能なものであり、無限の中でも濃度の強い無限である。このような場合、人の頭の中では振る舞いをパターン化できない。ところが平衡状態に徹すると、パターン化は明解であることが多い。たとえば集団遺伝学的な意味で、定常状態の予測として「(1)突然変異が侵入できずに絶滅する;(2)野生型が駆逐され、突然変異が固定する;(3)突然変異と野生型とがある割合で混在・共存する;(4)突然変異と野生型の頻度が振動する」といった有限個のパターンにわけられ、かつその条件を網羅的シミュレーション・網羅的な数値計算・解析的な計算、のどれかで解明できれば、系を包括的に理解できたような気がする。これが、「力学系」の基礎となる考え方である。

transient dynamicsはずばり「時(たとえば時刻t)と場合(パラメータ)による」という結論にしかなっていない。それは、「動態」に関するあらゆる議論の前提である。

ではそのように「時と場合による」のだとすると、あるtransient dynamicsにおいて状態Aが達成される確率を導入したくなる。あるいは、そのような状態Aが、「あらゆるとりうる状態」の集合{ \mathcal{S}}= \{ A,B,C,D,...\}において、どの程度の割合を占めているのかを考えると良さそうである。すると、{ \mathcal{S}}に含まれる要素(つまり状態)が無限個である場合には、状態 Aの占める割合は0である。そのような性質は、generic*1ではないという。ちょっと状況が変われば変化するような性質は非常にデリケートなバランスの上に成立しているはずであり、実現される望みは薄い、という考え方である。*2

しかしいっぽう、(僕が興味のあるような)野外でのダイナミクスは、ほぼすべてtransientなはずだ。つまり平衡状態にはない。ということは、やはりtransientなダイナミクスを考えねばなるまいのではないか!!?という気持ちが湧く。

それでも定常状態を仮定・考察する理由を、ポジティブにいくつか検討してみよう。

  • まずそもそも僕らは、分類したい。脳みそのキャパシティーは有限である。有限の特徴で、何かを理解したい。これにより、分類されて共通のカテゴリに入れられたものを(完全に同一視、まではしなくとも)アナロジーで以って理解して、脳みそに収納しやすくなる。たとえば12×12=144を覚えたら、102×102=10404であることはすぐに覚えられる。古文単語が覚えにくいなら、ゴロあわせで覚えてしまう。これは、ゴロ合わせで覚えることで、イメージされるものに現実(単語)を逆に結びつけるという、高等テクニックである。褒め過ぎか。

  • また、定常状態は再現性が得やすい。たとえば野外で得られたパターンを、微生物などを用いて再現する場合に、そのミニ・コスモでは素早く定常状態に収束するかもしれない。操作実験の結果を野外でのパタンと比較するとなると、やはり定常状態を仮定することで比較が容易になる。そうでないと、比較することができない。

  • 更に、定常状態にもクラスがある。その中に、準定常状態というものがある。他のダイナミクスに比べて速やかに進むような性質については、はじめから「定常状態」という静的なものを考えてしまうという近似である。これは、力学系の変数を減らすことができる。おお、便利。だがこれらは便宜的な理由であり、弱いかもしれない。

  • そもそも、野外でのダイナミクスにも、似たような傾向が見られている。つまり種をまたいで*3、あるいは地域をまたいで、似たような傾向が見られていることがあるのである。これは「パターン」と言ってよさそうである。平衡状態を仮定するとパターンを認識しやすくなるのだから、ただの横着ではなく、「分類する」という目的にかなった仮定である!

  • 最後に、野外でのダイナミクスはそもそも定常状態にあるかもしれない。たとえば自然選択は、長い時間をかけて、生物の性質を形作る。その自然選択が何世代にも何万世代にもわたって作用してきたとなると、その結果は、なんらかの定常状態に収束している可能性がある。ただ、たとえば遺伝率の高い形質や、可塑性の顕著な形質には、注意を払わねばなるまい。

このような理由で、数理生物学では定常状態を仮定することがそうそう馬鹿げているようには思えない。もちろんtransient dynamicsは、知りたい究極的な性質になりうる。そうであるなら、その理由を明確にしたうえで、適切に取り組むべきである。そうでないなら、分類思考に基いて、パターンをはっきりさせたほうが、明確なメッセージを提示できるのだと思う。

*1:通有的、という言葉が充てられている。国府ら、2000:

https://www.amazon.co.jp/dp/4254126727www.amazon.co.jp

*2:僕らが知っているような「通有的な平衡点」、すなわちパラメタの摂動に対してロバストに局所安定な平衡点とか、逆に不安定な平衡点とかは、双曲型と言われる。厳密な定義は、固有値によって、すなわち局所的な性質によって与えられる。

*3:これはこれで、生物種の性質の間に無視できぬ系統的な似通りが存在することがあって、単純に「種をまたいだ共通のパターン」を定性的に受け入れるのがまずいことがある。Felsenstein 1985: http://www.journals.uchicago.edu/doi/10.1086/284325

Dropboxの有料プランに加入した

ついにDropboxの有料プランに加入してしまいました。一括で払うと一年で12000円。いままではあらゆる手を尽くして容量拡大の努力を行なっていたのですが、

  • 引用論文の管理ーーPDFリンクのはられたBibdeskによる管理
  • 発表資料の管理ーー年月と学会名でディレクトリわけ
  • 投稿論文の管理ーー執筆順(これはいつ10に到達するだろう・・・)

Dropboxで一括で行なうことにしたため、限界に達しました。

これまでは容量の90%をすでに使用していて、アラートで「限界が近いよ!」と注意されていたのですが、今後のことを考えると、まあ悪く無いかなと。バックアップのサービスも手厚く受けられるようだし。

問題は、Evernoteとのすみ分け。いまやチャットルームのためだけに契約している感じすらある。。便利なのだけど、Evernoteはそろそろ見切りをつけたほうがいいのかも知れない。

引用文献リストでDOIを非表示にする

ISSNはDOIは、文献のグローバルな個体番号のようなもので、例えばDOIを

dx.doi.org/

に続けて打ち込むだけで論文URLに飛べる、便利なものです。

しかしDOIやISSNを論文の引用文献から消せないかと思っていましたら、方法が見つかりました:

tex.stackexchange.com

たとえばURLを隠す場合。bstファイルを新しく作ります: plainnat.bstファイルを作業ディレクトリにコピーし、それをテキストエディタで開きます。 そして

FUNCTION {format.url}
{ url empty$
    { "" }
    { URLのフォーマットを宣言する部分 }
  if$
}

となっている部分を

FUNCTION {format.url}
{ url empty$
    { "" }
    { "" }
  if$
}

と書き換えればおしまい。DOIについても、FUNCTIONの部分からDOIのフォーマット定義を消してしまえばよいだけです。

もしものときのため、この作業は、あくまでbstファイルをコピーしたうえで行なうようにしましょう。

水素水で営利を追求する企業への不買

非常に良いエントリーを見つけました。

金儲けのために水素水販売に手を出した8つの大手企業 | netgeek

私は、伊藤園PanasonicSharpなど、消費者を騙して利潤を得る企業の商品を購入しません。また、他者から何か物品の購入アドバイスを受けたら、これらの企業の商品を決して勸めないことにします。

複数の数式を引用したい

複数の数式をLaTeX内で引用・表示したい場合はどうすればよいか。

いま、4つの式A,B,C,Dを別個の

{equation}

環境で表示していて、A,B,C,Dをいっきに引用しようと思ったら、詰みました。

で、調べてみると素晴らしいパッケージが。

その名もCleveref CTAN: Package cleveref

\usepackage{cleveref}

でインクルードして

\Crefrange{A}{D}

とすると、(たとえば)こんな感じ(数式Aが、数式7に相当します): f:id:lambtani:20160426194605p:plain

かしこい。マニュアルを読んでみると、もう少し(いやもっと)いろいろできそう。

数式のあるパラグラフでも行番号を表示させたい

LaTeXでは、lineno.styというスタイルファイルが用意されていて、自動的に・システマティックに、行番号を振ってくれます。

CTANはこちら: CTAN: tex-archive/macros/latex/contrib/lineno

これを作業用ディレクトリに置いて、\usepackage{linenumbers}でインクルードすればおしまいです。

しかしこのままでは問題があります。なんと、数式を含むようなパラグラフには行番号が振られない、というバグ?

これではレビュアーにフラストレーションを与えてしまう。ということで

\newcommand*\patchAmsMathEnvironmentForLineno[1]{%
  \expandafter\let\csname old#1\expandafter\endcsname\csname #1\endcsname
  \expandafter\let\csname oldend#1\expandafter\endcsname\csname end#1\endcsname
  \renewenvironment{#1}%
     {\linenomath\csname old#1\endcsname}%
     {\csname oldend#1\endcsname\endlinenomath}}% 
\newcommand*\patchBothAmsMathEnvironmentsForLineno[1]{%
  \patchAmsMathEnvironmentForLineno{#1}%
  \patchAmsMathEnvironmentForLineno{#1*}}%
\AtBeginDocument{%
\patchBothAmsMathEnvironmentsForLineno{equation}%
\patchBothAmsMathEnvironmentsForLineno{align}%
\patchBothAmsMathEnvironmentsForLineno{flalign}%
\patchBothAmsMathEnvironmentsForLineno{alignat}%
\patchBothAmsMathEnvironmentsForLineno{gather}%
\patchBothAmsMathEnvironmentsForLineno{multline}%
}
\linenumbers

をプリアンブルに書けばよいようです。なお、\usepackage{amsmath}でamsmathスタイルをインクルードするのも忘れずに。

MacBook Pro (2010 mid)のカーネルパニック

Mac Book Proを2011年の春から使っているのですが、(いま思うと)OSをMavericksにアップデートして以来、頻繁にKernel Panicを起こすようになりました。

プレビューアプリやGoogleChromeを使っているときに、画面を切り替えたり、スワイプすると、この症状が起こる、という経験則はありましたが、修理に出しても改善されず。途方に暮れておりました。

これはとても心臓に悪いんです。データが吹っ飛ぶのではないかとか、もう起動しなくなるのではないかとか、祈りながら再起動するMBPを見守ること、100回は超えたでしょう。

そして最近、その症状が猛烈に悪化してきて、どうにかならんもんかと、情弱なりにクラッシュリポートの解読を決意。

すると。

Panic Report

panic(cpu 2 caller 0xffffff7f9da27bd5): "GPU Panic: [] 3 3 7f 0 0 0 0 3 : NVRM[0/1:0:0]: Read Error 0x00000100: CFG 0xffffffff 0xffffffff 0xffffffff, BAR0 0xd2000000 0xffffff9136c9d000 0x0a5480a2, D0, P3/4\n"@/Library/Caches/com.apple.xbs/Sources/AppleGraphicsControl/AppleGraphicsControl-3.12.6/src/AppleMuxControl/kext/GPUPanic.cpp:127

・・・ん?GPU Panic?

ということはディスプレイの問題?どういうこと?ソフトウェアの問題ではなくて?ということでググってみると、同様の症状についてのレポートが出るわ出るわ。。

そして辿り着いたは、こちら。

Macbook Mid 2010 GPUパニックについて | Apple サポートコミュニティ

これや。

残念ながら、無償修理期間が終わっている…数年たらずでこのプログラムを終了させんなよ!という不満はあれど、どうも、このモデルのMBPでは、グラフィックスを、開いているアプリに応じてIntel統合版とNVIDIAとを自動的に切り替えるシステムが採用されているようです。

ははあ。それで、表示アプリを切り替えると、カーネルパニック起こしていたのですね。納得。

さて、それではそのようなダイナミックなスイッチを制御してしまえばよい。そこで、このアプリを淹れてみました。

gfxCardStatus by cody krieger

gfxCardStatus。起動すると右上にアイコンが現れ、制御が可能になります。

f:id:lambtani:20160220173309p:plain

これで「Dynamic Switching」を「Integrated Only」、すなわちIntelのみにしてしまうのです。

すると、アプリごとにGPUを切り替えるという(無駄な)動作を抑えることができます。これでしばらく経過を見守りましょう。