粗大メモ置き場

個人用,たまーに来訪者を意識する雑記メモ

複雑性とは何か

「複雑性」についてなんか書けとの課題があり、
Principles of Systems Scienceの5章を読むことになったので
要約メモします。図は著作権とかありそうだし省略。

Principles of Systems Science (Understanding Complex Systems)

Principles of Systems Science (Understanding Complex Systems)

5-1:イントロ

一重に複雑系といっても様々な解釈がある。
本書はHerbert Simonの言説に則って紹介する。

5-2:複雑系の特徴

  • 系の振る舞いが予測不可能である事
  • 理解するのにそれなりの労力を必要とする事
  • 簡単に系を記述できない事

Surpriseがあることというのが重要な条件である。
Surpriseがあるということは予測が建てられる、すなわち我々が系についてある程度の理解が可能であるというのを前提にしている。
一方で我々の理解に基づく予測から"Surprise"な結果を示すので「複雑」な系だ。という解釈のようである。

したがって複雑性を数値化する際にはこの「驚愕性」を指標にするのが最も直感的であるとも言っている。

5-2-1:複雑系の勘所

人間が直感的に捉える複雑系の持つ特徴として

  • 様々な要素から成り立っていて
  • そのそれぞれが相互作用をもたらしていて
  • 個としての性質と集合としての性質を併せ持つ

ということが述べられている。

人間のこうした勘は複雑系の理解の礎にはなるが、どのような、という点で曖昧であるため勘の域を出ない。

5-2-2:系としての複雑性の定義

結論から言うと階層構造がいかに深いかという点において複雑性を捉えることができる。

構造的複雑性

ここから具体例が述べられている。

例えば、人間関係を複雑系と見立てるなら、個々の人間が最小の構成要素、人間一人一人の関係性がその一つ上の階層の構成要素、といった風に前の小さな階層の要素がより大きな階層の要素になるという系が考えうる。
構成要素が多様であるほど、その関係性が多様であるほど系はより複雑になる。

ただし、これらの規模のみが複雑性を定義するのではない。
生物の例を見ていくと、体が大きく構成細胞数の多い生物ほど「複雑」であるのかというとそういうわけでもないだろう。
また、これらの構造は必ずしも下層の大きなピラミッド型ではなくその逆もありうる。
例えば、現在普及している計算機の最も基本的な部品は非常に単純な論理回路たちである一方で、結果として生まれてくるソフトウェアなどは膨大な種類ある。

機能的複雑性

こちらに関しては非常に説明しづらい。
各要素の関係性は一定ではなく、しかし一方で流れなど一定の法則があるという感じのことを言っている。

前章との対比で、プログラミングで言う所の構造体ではなくClassのメンバ関数について言及したようであるがいまいち自分はピンときていない。


5-3:他の視点から見た複雑性

5-3-1:アルゴリズム

コンピュータ科学の分野ではしばしば「時間」が複雑性の物差しに使われる。
問題の規模に対して解決にかかる時間が多項式時間で終わらないものをNon-Polinominal、すなわちNP困難な問題がしばしば先程定義したような構造的な複雑性を持ちうることが説明されている。

アルゴリズム構築において、問題を小さな部分問題にとりわけてそれらの組み合わせとして解決を測るという手段はまさにSimonsの言う所の構造的複雑性を有しているとも言える。

5-3-2:振る舞いの複雑性

例えばみんな大好き「セルオートマトン」などがあげられる。余談だが筆者が初めてアルゴリズムという者に触れたのがこの話題である。
詳しくはとりあえずWikipedia等を参照されたい。
セル・オートマトン - Wikipedia

個々は簡単な要素(例えば0と1の状態を保存する)であるセルに隣接するセル同士の相互作用を設定することで全体として様々な複雑な挙動を示すというのがこの概要であり、複雑系ではこれを「創発」と呼ぶ。

フラクタルもこれと似たような性質をもち、単純な数学的規則性を繰り返し適用することでとても複雑な図形を作り出すといったことが知られている。

5-4:複雑性に対する追加考察

  • Disorganized と Organizedされた複雑性
  • 潜在的な複雑性と実現された複雑性

Disorganizedとは例から汲み取るに、要素同士の相互関係が固定されていないというのが重要な要件のようだ。密閉した空間に気体を入れた際の系とエントロピーの関係が具体例として挙げられている。

複雑性が潜在的か実現されたかもやはり要素同士の関係性に密接に関わっており、
関係性が流動的である限り、そしてその関係性の取りうる選択肢が多いほどその系はまだ見ぬ複雑性を有しているということになるだろう。

5-5:複雑性の限界

限界というよりはデメリットということが述べられている。
複雑であるということはある種の脆弱性を秘めており、少しの変化で系が崩壊する可能性があることが示されている。

5-5-1:要素の不全

細胞の自己増殖を例として考えると、自身を構成する要素であるタンパク質の生成に何らかの問題があった場合、細胞は容易に死に至るといったようなことがあげられる。

5-5-2:プロセスの入出力の不全

系への入出力に異変があった場合に系の不全が引き起こされることについて書いてある。

5-5-3:系の不全:カスケード

カスケードとは以前のプロセスの結果が次のプロセスの入力になるような連続したプロセスの事を言っている。
人間の細胞は日々自己複製を繰り返しており、複製された細胞が次に自己をまた複製するといったプロセスが存在する。

したがってどこかの段階で不全があった場合プロセスの全体の流れが崩壊を起こすといった例がある。
すなわちこれは生物における老いである。

5-6 :まとめ

複雑性を理解するにはその要素、関係性、挙動の全てに着目する必要があり、未だに我々はそれらをうまく定義する術を持たない。
でも実世界の事象は全てこのような複雑性の中にあり、これらを理解する術を模索すべきと締めくくられる。

所感

この章だけを読んでもあまり複雑性というものについて体系的に理解した気分にはなれなかった。あと途中で面倒になって結構雑に読んだ。
現象を個々の要素に分解しそれらの関係性を追求するという科学の基本的思考法が幾つかの具体例とともに載っている点は教養として良いと思ったので
興味がある方は読んで見ると良いかもしれない。

しかしこれらの思考法も実際に自分の問題にこの観点を適用するなどしないとより深い理解は得られないだろう。そのための宿題なのだろうが。