フラクタル的な現象は、自然界のみならず人間社会にも見られます。
パレートの法則(80-20の法則)は、見方を変えればべき乗則です。例えば、個人の年収と人数との関係を両対数グラフでプロットすると直線となります。パレートの法則は形ではないのですが、フラクタルと同じ現象が現れてきます。ロングテール[*]と言われるように、値の範囲が極端に長いことがべき乗則の特徴です。
「オブジェクト指向」という考え方はかなり一般化されてきましたが、さまざまな側面があり、「オブジェクト指向とは何か?」をあらためて問われると、説明するのは案外難しいのです。
筆者は、「自律分散協調モデル」がオブジェクト指向の本質であると理解しています。「責務を持ったオブジェクト同志がメッセージによって協調し合い、1つのまとまった仕事をする」という考え方です。
オブジェクトの粒度はさまざまです。
1つのオブジェクトの内部も、それぞれ細分化された責務を持ったオブジェクト同志がメッセージによって協力し合って、大きなオブジェクトの責務を遂行します。つまり、大きなレベルで考えたモデルと、同じモデルが小さなレベルにも現れます。この自己相似的構造はフラクタルの1つの特徴です。
例えば、企業内部の組織は、本部・部……グループと細分化されていきます。
これら粒度の異なる組織は、オブジェクトと考えることができます。最小単位は人で、責務を割り当てられた人のコラボレーションでグループの責務を果たし、グループのコラボレーションで課の責務を果たし……、というフラクタル構造です。大きく見れば、企業、企業グループ、社会……、という階層レベルにわたるオブジェクトのフラクタル構造と見ることができます。
無限のツリー構造はフラクタルです。図6左のような単純な再帰型集約モデルは、オブジェクト図にするとツリー構造になります。木の枝のように葉は、終端とする図6右のモデルがデザインパターンのコンポジットです。
例えば、図7のように各Compositeオブジェクトは、CompositeとLeafそれぞれのオブジェクトを2つづつ持つモデルを考えます。イメージとしては、図8のようにある枝の先端が2本の枝と2枚の葉を持つイメージです。枝は茶色、葉は緑の直線で表しています。
ここでCompositeのコンストラクタが、これら4つのオブジェクトを生成するとします。生成されるオブジェクトのサイズは元の1/2とします。オブジェクト図を単純化したイメージで表し、生成されたオブジェクトは元のオブジェクトの枝の先端につなぎます。すると次のステップでは図9左のようになり、何回か続けると右のように自己相似形が無数に現れます。
「形としての自己相似形」や「統計データとしてのべき乗則」、これら別個の概念がフラクタルというキーワードでつながる。自然現象のみならず、人間社会も包含する宇宙の森羅万象の裏に隠れているフラクタルという奥の深い世界、まことに浅学ながら今回はそのほんの一面を垣間見ました。
フラクタルからは、「神は細部に宿る」という言葉が想起されます。人工物は自然と比較すると当然ながら単純です。その1つの差はフラクタル構造です。自然はいくら拡大しても何らかの自然の構造が次々と現れてきます。人工物には人間に必要なレベルまでしか設計範囲に入っていませんので、虫眼鏡で拡大してもあるところから先には人工的なものはありません。
フラクタルという無限のディテールに裏付けられた形に生命がある。奥深さがある。それは無名の質と呼ばれるものかもしれない。筆者の興味としては、当連載でも何度か取り上げているアレグザンダーの無名の質とフラクタルの接点を探っていきたいと考えています。
河合 昭男(かわい あきお)
大阪大学理学部数学科卒業、日本ユニシス株式会社にてメインフレームのOS保守、性能評価の後、PCのGUI系基本ソフト開発、クライアント/サーバシステム開発を通してオブジェクト指向分析・設計に携わる。
オブジェクト指向の本質を追究すべく1998年に独立後、有限会社オブジェクトデザイン研究所設立。OO/UML関連の教育コース講師・教材開発、Rational University認定講師、東京国際大学非常勤講師。
著書に『まるごと図解 最新オブジェクト指向が分かる』(技術評論社)、『まるごと図解 最新UMLが分かる』(技術評論社)、監修『JavaデベロッパーのためのUML入門』(ソフトバンククリエイティブ)、共著『明解UML――オブジェクト指向&モデリング入門』(秀和システム)など。『ITアーキテクト』(IDG)、『UML Press』(技術評論社)、『ソリューションIT』(リックテレコム)などの専門誌に執筆多数。
Webサイト:
Copyright © ITmedia, Inc. All Rights Reserved.