ソフトウェアと複雑性との戦い

オーストラリアの山火事、人工知能、ゴーン逃亡、Google、スレイマニ殺害、スターリンク、トランプ大統領、TikTokなど。世界はそこら中から溶岩が噴出する火山地帯のように思える。思いがけない突発的な事態もあれば、密かに関連あるものごともある。故・ホーキング博士が複雑さの世紀と呼んだのは理論物理学の状況だったが、テクノロジー、社会、地政学その他にも広く当てはまる。

そこでこう言い換えてもいい。我々は複雑さをどのようにして測るのか?マサチューセッツ工科大学のセス・ロイド教授は論文で「最近、世界は複雑さを増してしているが、複雑さを測る方法はさらに急速に複雑化している」と述べている。ロイド教授は複雑さの計量にあたって直面する困難さを定義、創造、組織という3つのカテゴリーに分類した。この3つの物差しを利用して社会やテクノロジーの複雑さがどうなっているのか眺めてみると、あらゆる側面で複雑さが増大していることがわかる。

ともかく複雑さというのは我々の敵だ。誰でもいいから専門家に尋ねてみるといい。セキュリティ専門家とかスティーブ・ジョブズの霊魂とかもいいかもしれない。複雑な問題に対する解決は常に短期的であり、長期的にはさらに大きい複雑さを作り出している場合がほとんどだ。しかし人間の理解力には限界があるから、問題の複雑さがある程度以上になると業を煮やして単純化を図る。その結果致命的な判断ミスを犯す危険が高まる。

また具合が悪いことに重大な意思決定をする立場の人間は複雑さ、つまり物事の微妙なニュアンスにまったく無頓着であることが多い。 逆に言えば、このとことが複雑さがますます増大する原因かもしれない。たとえば民主主義という概念はシンプルだが、実行には極めて複雑さな手続きが必要だ。投票ひとつ考えても選挙人登録、政党予備選挙、運動資金調達から始まって恣意的選挙区変更や投票用紙パンチ機の不正操作に至るまでさまざまな要素を考えねばならない。1回の投票のたびに数百とまでいわずとも数十の要因を慎重に検討する有権者がいるだろうか?そんな手間をかけることはほとんど場合あり得ない。意図しても難しいが、普通の有権者は意図もしないだろう。

複雑性の理論は豊かな可能性を秘めた分野だが、現実に我々が世界の複雑さに立ち向かおうとするとき手助けになるものかどうかは不明だ。我々は複雑な問題に直面するとそこそこの程度に近似したモデルを作って満足する。こうしたモデルを利用することはときに危険をもたらす。「誰もがプログラミングを学ぶ必要がある」「ソフトウェアというものは毎回正確に同じ結果を出す」「デモクラシーとは人間の善意に支えられているている」など。もちろんこうしたステロタイプはある程度まで役立つがとても正確とはいえない。

少なくともソフトウェアエンジニアリングでは複雑さが重大な問題であることは認識されている。我々はコードを書く必要なしにある機能が達成できるようにすれば称賛する。機能を単純化し、ステートレスにし、副作用を追放し、古臭く使いにくいAPIを追放しても同様だ。こうして少しでも複雑さを開発プロセスから排除するのは素晴らしいことだとされる。複雑さは「負の遺産」であり、理屈の上ではいつかは解決されるべき課題だと考えている。

故・ジョン・アーリ教授は「グローバル化とは抽象化すればそれぞれの特性に適合したグローバルなシステムが世界各地で協調的に開発、導入されるプロセスであるだろう。しかしこうしたシステムがどのようなものになるかは予測不可能で非可逆的だ。こうしたシステムは最終的な解や秩序をもたらすことができない。過剰なシステム化はむしろ無秩序を増大させている」と述べている。ソフトウェアの現状がまさにこのとおりだというのは面白い。「こうしたシステム」に「インターネット」「ブラウザ」「OS」「機械学習」といったコンセプトを代入してみれば状況が類似していることは明らかだ。

なるほどソフトウェアは複雑なものごとを単純化するにあたって人間が取り得る最良の手段の1つではあるだろう。そのためソフトウェアはあっという間に世界に普及した。ソフトウェアは政治、感情、文化に対して比較的中立だ(あくまで「比較的」だが)。ソフトウェアのパフォーマンスはある程度まで客観的であり、単純化の成果を測るのに適している。ともあれソフトウェアの世界では誰もが単純化に向かうべきインセンティブを持っている。

つまり開発環境であれツールであれプロダクトであれソフトウェアを単純化できるなら、世界を理解できる程度の単純化するモデルを構築するというやり方にも少しは望みがあるということだろう。逆にそれができないなら、現実の把握はいっそう遠くなり、予測できない事態に出くわす「ブラックスワン」現象が頻発する世界に生きることになる。この点で楽観すべきなのか悲観すべきなのかわからない。ことは複雑すぎて私の理解の限界を超えている。

画像:Mark Skipper/Flickr CC 2.0

原文へ

(翻訳:滑川海彦@Facebook