橋本 麦∿Baku Hashimoto

ブートストラッピング

Wikipedia

あるシステムの中で何かを良くしようとした時、その「良くする方法」を良くすることもできる。さらにいえば「『良くする方法』を良くする方法」を良くすることもできるし、実際この入れ子は何段にでも重ねられる。

普通、あるシステムを良くするには、そのシステムに言及・操作するためのメタシステムがが必要だ。だけどもし、この「良くする方法」の多段構えをメタシステム無しにそのシステムの自身の中に埋め込めることができれば、あとはそのシステムが勝手に自己最適化を図ってくれる。そのシステムが扱う「良さ」の良くなり方(の良くなり方の…)も独りでに良くなってくれる。

遺伝の歴史がまさにそうで、「良さ」を「生き物の適応度」に読み替えると意味が通る。遺伝の本質は形質を受け継ぐ正確性よりむしろ、どう不正確さ、つまりグリッチが入り交じるかにある。そのグリッチがたまたま形質にいい方向へ作用することで、生き物は環境により良く適応していく。一方で、遺伝の仕組みもまた40億年の歴史を通してより洗練された手法へと進化してきた。放射線などによって外因的に引き起こされる突然変異から、交叉、有性生殖、そしてミーム…? 遺伝による生命の適応と、遺伝というシステム自体の適応、そして恐らくさらに高階のレベルでの適応が同時に起こっていることこそが、今の遺伝の仕組みを最適化アルゴリズムとして有用足らしめているという倒置も面白い。 無神論者としては、この複雑な生物相(2020年の文明社会の脆弱性を当てずっぽうに突いたコロナウイルスも含めて)を作り上げた遺伝というシステムのそうした多段適応にこそ神性を感じる。「高次の意思体によって生命はデザインされた」という一方通行の二段構えは構造としてあまりイケてない。(宗教自体は尊重してます)

一方で、「良さ」を「組織の生産性」に置き換えれば、ダグラス・エンゲルバートが提唱したブートストラップ戦略になる。ブートストラップは「Pull oneself up by one’s bootstraps(自分のブーツのかかとの紐を引っ張って自分を引き上げる)」という成句表現が由来で、自己参照的に自分をアップデートする構造を指したりする。パソコンの起動プログラムが自分自身を読み込んで立ち上がるのをブートと呼ぶのもそこから。

最近Lispベースのグラフィックデザインツール、Glispを開発していて感じるのは、このブートストラップ構造に自分は無茶苦茶惹かれてるんだなぁということで。Lispがまさに、構文を操作するための構文がそれ自身に埋め込まれている最もシンプルなプログラミング言語だ。

良さを文字通り「作品の良さ」、システムを「デザインツール」として考えると、ほとんどの場合、メタシステムは「ツール開発会社」になってしまう。そうなると、メタシステム側がシステムをうまい具合に良くしてくれるまで、システムの内側の僕らに為す術はないわけ。そこにシステムそのものにそれ自身を良くする(自己言及する)方法が埋め込まれている重要性があって、こっからすげー色々考えてることあるんだけど眠い。書くのやめた。とにかく、表現やその為のツールをブートストラッピングするというのは自分の一生涯のテーマのような気がする。まだ全然作品には反映出来てないんだけど…。

リベラリズムや個人主義云々も、倫理や感情といった「お気持ち」の問題に立ち入らずに、社会規範の最適化に遺伝が成し得たようなブートストラップ性をどう付加するかという問題として捉えられるような気がしている。多分頭のいいひとがそういうこと考えているはずなので、良い本とかあったら教えてほしいです。ゼミが始まる前に武蔵美辞めちゃったので、自分の人生にそういうメンターが居ない。

システムとメタシステムが分離されていて、システムはそれ自身に触れることは出来ずその内側でしか思考することしか許されない状態ってのは、ID説や第一級関数のないプログラミング言語、上意下達な組織くらい窮屈なものだなぁと思う。