1. 概要
1.1 法則の定義
複雑性保存の法則とは、あらゆるシステム、フレームワーク、または思考体系において、複雑性は排除・消滅することがなく、設計空間内の別の領域へ移転するのみであるという原理的制約を記述した法則である。
この法則は、フレームワークの設計・運用・検証のあらゆる段階において複雑性が形態を変えて再出現する現象を、8つの原則によって体系化したものである。
なお、本法則自体もこの制約の適用対象であり、完全な定式化は原理的に不可能である。本資料はその近似として記述されている。
1.2 背景と着想
フレームワークは本来、複雑な問題を整理・簡素化するための道具として設計される。しかし実際の運用においては、フレームワークの導入が新たな複雑性を生み出す現象が普遍的に観測される。
この現象は以下のような場面で顕著に発生する。
フレームワークを文脈のない環境でテストした場合、論理的整合性は確認できても実用的な強度は検証できない。複数のフレームワークを並行運用した場合、フレームワーク間の競合(バッティング)が発生し、その処理ロジック自体が新たなフレームワークを形成する。バッティング処理を各フレームワークに同梱した場合、処理同士の競合が再帰的に発生する。モジュラー設計によって分割した場合、組み合わせの互換性検証と管理コストが指数関数的に増大する。
これらの観察から導かれる共通構造は、「複雑性はいかなる手段によっても系外に排出されず、系内の別の場所に移動するのみである」という原理的制約の存在である。本法則はこの制約を明示的に記述し、体系化することを目的とする。