集団自殺するレミングの謎 | 科学アラカルト [実践] | 逆ポーランド電卓の実践ウェブ rpn hacks!

逆ポーランド電卓の実践ウェブ rpn hacks!

逆ポーランド電卓rpnの実践ウェブ   
rpn hacks! アールピーエヌ・ハックスサイトマップ

rpn | 実戦 | 科学アラカルト | 科学に関する話題をrpnで探求!調べて実験してみよう。

HOME > 実践 > 科学アラカルト > 集団自殺するレミングの謎

hatena twitter facebook rss ソーシャルブックマーク

集団自殺するレミングの謎

 4年に一度、崖から飛び降りて集団自殺するレミングの話は有名です。レミングは北半球の寒いところ(カナダや北欧)に生息するネズミ(和名:タビネズミ)の一種なのですが、個体数が増え過ぎると突如、集団で海へと死の行進よろしく飛び込むのです。

この話は広く知られていますが、実は全くのウソであることが分かっています。映画会社がドキュメンタリーで海へと飛び込むレミングの映像を捏造したことが始まりです。

実際にレミングは数年に一度、大繁殖することが知られており、現地で周期的に発生する感染症の原因とも言われています。興味深いのは大繁殖したかと思うとある年には絶滅寸前まで個体数が激減することです。この3年から4年毎に起こる周期をレミングサイクルと言います。

事の真相は、増え過ぎたレミングが餌を求めて移動する際、運悪く崖から落ちてしまったということらしいのですが、果たして本当でしょうか。いくらなんでも、あの危険察知能力の高いネズミが崖から簡単に落ちるでしょうか。

レミングの劇的な増減は長らく謎とされてきました。個体に不利(個体の死)であっても集団に有利(増えすぎた個体数の調整)な性質が発現したからだとか、単に異性との繁殖競争に敗れた個体が新天地を求めて移動する際に絶命してしまったからだなど、諸説あります。

レミング個体数の推移

 増減の理由はともかく、まずはレミングの個体数の増減を見てみましょう。本当に4年おきに大増殖するのでしょうか。

1988年から2002年までのレミングの個体数を記録したグラフから、目の子勘定で値を読み取ったデータがlemming.txtにあります。記録された数値は1ヘクタールに生息するレミングの数なのですが、最小は約0.09/haで、最大は約2.5/haでした。

このデータを片対数グラフにします。ただし、見やすくするために数値を100倍にしてあります。

  >rpn 100 * <lemming.txt | xyp -x1988,2002 -yl,1000 -s1,10 -m
  ^y 1000
  |
  |
  |    *          *          *
  -
  | *                *          *
  |                                      *
  |
  |       *                *          *
  -                     *
  *          * *                   *
  |
  |
  |                                      x
  1988                                2002
  +-|--|--|--|--|--|-|--|--|--|--|--|--|->


縦軸が個体数で横軸が年数なのですが、確かに3年から4年の周期的なものを感じます。大した変動はないように思いますが、縦軸は対数軸なので最大と最小の間には軽く100倍の差があります。

さて、周期を確認するためにコレログラムで分析してみましょう。周期性があるなら自己相関しているはずです。

  >rpn _, <lemming.txt | rpn -c crlogram >tmp
  >rpn 0 -c rownum <tmp | xyp -x,15 -s1 -m
  *y 1
  |
  |
  |
  |         *
  |                   *
  |                      *
  |            *                   *  * 15
  +-*--|-|--|--|-|--|--|-|--|-*|-*--|--|->
  |o     *          *       *            x
  |              *
  |
  |    *
  |
  |
  |-1


コレログラムは見事に4年毎の周期を捉えています。8年にもピークがあるのでほぼ確定でしょう。念のためフーリエ変換でも周期を解析してみましょう。

  >rpn _, <lemming.txt | rpn -c fourier >tmp
  >rpn 0 -c rownum <tmp | xyp -x,15 -y,15 -s1,2 -m
  ^y 15
  |
  -
  *
  -
  |
  -
  |
  -
  |         *                 *
  -      *                       *
  |    *            * *            *
  -
  |            *            *            x
  |o*            *       *            * 15
  +-|--|-|--|--|-|--|--|-|--|--|-|--|--|->


スペクトルからも4年周期であることが分かります。確かにレミングは4年毎に大繁殖と絶滅の危機を繰り返しているようです。

個体群生態学からのアプローチ

 これまでの分析からレミングが4年毎に増減を繰り返すことが分かりましたが、個体数の変動を物理法則のようにモデル化することはできないでしょうか。ここでは、個体群生態学からのアプローチによる謎解きの一端を見てみましょう。

個体群生態学は個体の密度(過密過ぎても過疎過ぎても増加しづらい)や寿命(齢構成)、死亡率(生理的寿命や生態的寿命)などから、個体数変動の仕組みを解明する学問です。生物の生き残りをシミュレートするライフゲームにも似たものがあります。

情報関連記事として、応用コーナーライフゲームのルール実践コーナー(数学アラカルト)にライフゲームから生命誕生があります。本記事とは異なった視点からのアプローチです。興味のある人は閲覧ください。

レミングの個体数増減に関して、こんな数式があります。実際はもっと複雑なのですが、原理を簡略化した式になります。この式によってレミングの個体数増減の説明ができるらしいのですが…。

                       N * a・N
  死んでしまう個体数 = -------
                         10


Nは去年の個体数、a・Nは今年の個体数です。aは繁殖率で、a=2とすると今年の個体数は去年のそれの2倍になります。

つまり、a=2の条件では2匹の親から2匹の子供が生まれるので全体で4匹になります。このNと2Nを使った上の式が死んでしまうレミングの数になります。

具体的に示すと、去年は2匹だったと仮定してスタートすると、今年は2倍の4匹なので、死んでしまうレミングの数は2×4÷10で0.8匹です。生き残りは3.2匹になります。

実際は個体数は小数にはならないので、死んでしまうレミングの数は1匹、生き残りは3匹が妥当ですが、厳密に小数点で計算していきます。

次の年は生き残った3.2匹が繁殖して、合計すると6.4匹になります。すると死んでしまうレミングの数は3.2×6.4÷10で2.04です。生き残りは4.36匹ですね。

このように計算していくと、レミングの数はどう変化するでしょうか。ずっと増え続けそうな気がしますが…。

レミングの個体数推移を計算

 一回の繁殖を一世代と考えて、実際に10世代分のレミングの生き残り数を計算していきます。表計算を使うと意外に面倒そうですが、rpnを使えば一行で計算できます。

  >rpn 2 @n * @n 2 @n * * 10 / - #n @n -b 2 #n -r 10
  3.2
  4.352
  4.91602
  4.99859
  5
  5
  5
  5
  5
  5


5世代目には5匹で一定となるようです。グラフにしてみましょう。

  >rpn 2 @n * @n 2 @n * * 10 / - #n @n -b 2 #n -r 10 >tmp
  >rpn 1 -c rownum <tmp | xyp -x,10 -y,10 -s1,2 -m
  ^y 10
  |
  -
  |
  |
  -
  |
  |          *   *   *   *   *   *   *   *
  -      *
  |
  |  *
  -
  |
  |                                      x
  |o                                    10
  +--|---|---|---|---|---|---|---|---|--->


横軸が世代数で縦軸がレミングの個体数です。5匹で固定化して変化しなくなることが分かります。

では、繁殖率を増やして3倍にしてみましょう。つまり、去年のレミング数が4匹なら今年は12匹になるわけです。さっそく、計算してグラフ化します。

  >rpn 3 @n * @n 3 @n * * 10 / - #n @n -b 2 #n -r 10 >tmp
  >rpn 1 -c rownum <tmp | xyp -x,10 -y,10 -s1,2 -m
  ^y 10
  |
  -
  |      *       *
  |                      *       *       *
  -
  |          *       *       *       *
  |  *
  -
  |
  |
  -
  |
  |                                      x
  |o                                    10
  +--|---|---|---|---|---|---|---|---|--->


6匹くらいを中心に周期的に増減しているようです。単純な式なのに個体数の増減をうまく表しています。この調子でレミングの実態に近づけることができるでしょうか。

次は…

 レミングの数年毎の大繁殖と絶滅寸前までの急減が集団自殺の伝説を生む背景となりました。増減の理由ははっきりとは分かっていませんが、実際の生息数観測から確かにレミングサイクルという周期があることは確認できます。

ある簡単な数式を利用することにより、個体数が増減する様をモデル化することができます。繁殖率2倍、3倍と増える毎に個体数は増え、変動しながらもある数に収束していく様子が分かります。

では、繁殖率を増やしていけば、個体数はどんどん増えていくのでしょうか。一定の数に収束していくのでしょうか。次はその疑問の解明です。

続き(part2)はこちらLinkIcon

警告rpnプログラムを実行するには、rpn試用版かrpn標準版が必要です(バージョンの違いはこちら)。

情報rownumはカンタン分析パッケージに同梱されています。crlogramはビジネス統計(トレンド編)に同梱されています。xypとnpdはrpnの姉妹ソフトウェアです。詳しくはプロダクトを参照ください。

科学アラカルト

調べて実験してみよう

※実践コーナーのTOP

紹介 rpnの利用シーンはこちら…

講座初めての人のrpn基礎もどうぞ
講座しっかり学べるrpn入門もどうぞ
講座すぐに使えるdos入門もどうぞ
物語データを見抜くojt物語もどうぞ

実践他の分野への挑戦は実践TOP

応用rpnアプリケーションは応用TOP

part2

調べて実験してみよう

※実践コーナーのTOP

講座初めての人のrpn基礎もどうぞ
講座しっかり学べるrpn入門もどうぞ
講座すぐに使えるdos入門もどうぞ
物語データを見抜くojt物語もどうぞ

実践他の分野への挑戦は実践TOP

応用rpnアプリケーションは応用TOP

書籍紹介

記事に関連した書籍

本ウェブサイトで扱った話題に関連した書物で、スタッフが実際に読了したものを紹介。

書籍数学の書籍
数の世界は思ったよりもエキサイティング

書籍投資の書籍
失敗しない投資には広範囲で実践的な知識が必要

警告バックスラッシュはエンマークに読み替えて下さい(IE)。
バックスラッシュとエンマーク

警告文字で作られた図表や式が崩れることがあります。ブラウザによっては固定幅フォントをMSゴシックにするときれいに表示されます。それでも崩れる場合は図表や式をメモ帳にコピー後、閲覧下さい。

警告rpn試用版と標準版(2kリビジョン)はダブルクォートで囲って下さい。

rpn 1 2 + ⇒ rpn "1 2 +"
rpn 1 -c foo ⇒ rpn "1" -c "foo"

ダブルクォートは省略できることが多いのですが、慣れない間は囲んだほうが無難です。なお、本ウェブサイトの記事ではrpn標準版(98リビジョン)を使用しているため囲っていません。詳しくは技術サポートの「rpn TIPS参照ください。

注意rpnの障害情報はこちら

警告rpn試用版の場合、複雑なプログラムや処理時間のかかるプログラムの一部には動作しないものがあるかもしれません。あくまで無料提供であることを勘案・了承ください。rpn標準版は、すべてのプログラムが動作します。