好奇心の横断歩道を創る!

自分の思考をラバーダック・デバッグするためのブログ

人や組織の流動性は、高すぎると(あるいは低すぎると)、長期的には悪い結果をもたらすのでは?ってはなし。

 

 

前置き

人の行動には、「個人として最適化された行動」と「所属する集団として最適化された行動」がある。

世間でいうところの利他的な行動は、その多くが「所属する集団として最適化された行動」だが、必ずしも同じではない。場合によっては、迫害の対象になるようなことでも、集団としては最適な行動になるかもしれない。我々の良心は、集団としての最適解を知らない。

 

遺伝的なアルゴリズムを使って、「個体と集団の流動性」と「すべての個体にとってのお得感」の関係をシミュレートしてみた。

その内容は、かなり端折って説明するとこんな感じ。

「個人として最適化された行動」をとる個体をstrategy="expression"と名付け、「所属する集団として最適化された行動」をとる個体をstrategy="coorporation"と名付けた

個体を二次元空間に配置し、彼らを時間とともに少しづつ動かす

特定のアルゴリズムで、毎期、個体を所属集団に振り分け、その中で各個体の適応度を算出する。集団内にstrategy="coorporation"の個体が多いほど集団内の平均的な適応度が高くなるようにし、また、集団内ではstrategy="expression"の個体のほうが適応度”assessment”が高くなるようにした

適応度の高い個体ほど近くに多くの子孫を残す。基本的には同じ戦略をとる個体を子孫に残すが、小さい確率で戦略を反転する突然変異要素を加える

 

1世代分の時間を1とする

 

個体数が初期値よりも多くなるほど子孫を残しづらくなるように、個体数が初期値よりも少なくなるほど子孫を残しやすくなるように、調節する機能も追加している。そうしないと個体数が0になったり無限大に発散したりするので。

こんな感じ。詳しく説明するのは大変だからしない。論文じゃないし。

適応度(グラフではassessmentと書いている)が高いほど、その個体にとっては幸せな状況、ということにする。

 

条件と結果

移動しやすさ と 空間の広さの逆数 は同じような概念だと思ってもらって。時間距離みたいな言葉みたいなノリ。

移動しやすい条件

個体の空間的な分布は、時間0でこんな感じ。

初期状態

んで、かなり移動しやすい条件で移動を繰り返していると大体こんな感じになる

時間=100

移動しやすい条件を採用すると、適応度の高い個体が自身の周りにたくさんの子孫を作るにもかかわらず、空間的な密度の偏りはあまり出ない。

時間=101

時間=102

んで、時間0~110までの、個体数の変動や全個体の平均適応度や、strategy="coorporation"の個体の割合の推移はこんな感じ。

上から
全個体の平均適応度
全個体数
strategy="coorporation"の個体の割合

遺伝的なアルゴリズムを使っているので、毎度異なる性質が実現する可能性も理論上は存在するかもしれないが、手元で数回試した限りでは同じようなふるまいだった。

二回目

三回目

四回目

五回目

 

ほどほどに移動しやすい条件

時間0では上と同じ。

移動を繰り返していると大体こんな感じになる

時間=100

移動しやすさが減った(0.1倍)分、集団に偏りができる。適応度の高い集団が近くに多くの子孫を残すからだ。

時間=101

時間=102

時間0~110までの、個体数の変動や全個体の平均適応度や、strategy="coorporation"の個体の割合の推移はこんな感じ。

上から
全個体の平均適応度
全個体数
strategy="coorporation"の個体の割合

最初は流動性が高い条件と同じく各種変数が小さくなっていくが、急に上がるタイミングがある。偶然strategy="coorporation"の個体の割合が多い集団ができると、その集団が急成長し、全体の平均にそれが反映されるのだ。ただ、急成長した集団内でも、strategy="expression"の個体のほうが個体としては適応的なので、徐々に彼らstrategy="expression"が増えていく圧力もある。

 

この条件では、遺伝的なアルゴリズムの面倒くささというか、シミュレーションの回数を重ねると毎度同じではない経過をたどる。同じ条件で何度かシミュレーションを回してみると、

再掲、一回目

二回目

三回目

四回目

五回目

六回目

七回目

八回目

九回目

十回目

 

個体数や全体的な適応度の「テイクオフ」のタイミングがまちまちだ。期間内にテイクオフが存在しない場合もあるが、割合は小さい。

一度テイクオフを果たすと、strategy="coorporation"の子孫が多くいるので、その子孫が新しい集団を作ることで、短期間のうちに再度テイクオフを果たすケースが多い。

 

個体が移動しずらい条件

ほどほどに移動する条件の0.01倍の移動しやすさ。

時間0は上と同じ感じ。

時間=100以降ではこんな感じ。

時間=100

時間=101

時間=102

 

時間0~110までの、個体数の変動や全個体の平均適応度や、strategy="coorporation"の個体の割合の推移はこんな感じ。

上から
全個体の平均適応度
全個体数
strategy="coorporation"の個体の割合

テイクオフする場合が多い。テイクオフが発生しない場合もまた、ほどほどに移動する条件よりも多い。一度テイクオフが発生すると、strategy="coorporation"の個体が多いので、彼らが新しい集団を形成すると再度テイクオフするまでの時間が短い傾向にあるようだ。

二回目

三回目

四回目

五回目

六回目

七回目

八回目

九回目

十回目

 

個人的な感想とか

流動性が高すぎるときだけでなく、流動性が低すぎるときでもテイクオフが起きない場合がある。直感的に理由を説明するなら、

流動性が高すぎるときの、系全体が一様になって一つの集団としてみると孤立している状態」と、「流動性が低すぎるときの、隣の集団との交流の少なさや新しい集団の形成しずらさ」とが同じような性質を持っているからだと思う。一集団の、周囲からの孤立具合という観点で見れば、流動性が高すぎる条件が、最も、外部との交流が少ない(少ないというか存在しない)。

 

 

......私は数年前から、「閉じた世界のルールは、最も多くを搾取できる人が決める」というスローガンを心の中で掲げているのだが、ここでいう閉じた世界のイメージが、外部からの影響が小さく外部に逃れるのも難しい集団で、シミュレーションの条件でいえば「移動しやすい(世界が一つにまとまっている)場合」と「移動しずらい(隣の集団との交流も新しい集団を作るのも難しい)場合」に該当する。

閉じた世界に該当しないのは、今回のシミュレーションでいう「ほどほどに移動しやすい条件」だ。

個人的には、きわめて直感的な結果だった。「閉じた世界のルールは、最も多くを搾取できる人が決める」は、抽象的すぎるフレーズだってことを除けば、意外と悪くない感性ではないかな。

まぁ、「流動性の高さがすべてを解決する」みたいな信仰は全面的に嘘ではないか?と思っている私の戯言なので。