「 「差異」と「反復」 」と自律
ポストモダンの哲学は、第二次世界大戦の反省の色合いが非常に強く、全体主義へ至らない方法を論じています。中心を作らず、同一性に集約しない、意見が集約していくと、そこからズラして、違う展開を示し、別な側面を提示することを主張します。これをノマドといいます。ノマドというのは遊牧民のことで一か所に定住しない生活スタイルのことです。ポストモダンを表す比喩です。このスタイルは展開していくと今のネットワーク時代の分散ネットワークの方向になります。これをリゾームと呼びます。今思うととても予言的であったと言えるでしょう。ポストモダンが考える世界は、ものすごく大きな都市の一極集中ではなく、多極化した分散ネットワークです。ヨーロッパのEUのようなスタイルを推進します。そして経済的には、それぞれの場所が強みを生かしそれらがネットワーク化するグローバル社会となります(多極化した極自体も、変化していくことを述べていますが、実社会では固定化しがちです)。一方でポストモダンの方々が意図したことかどうかは別として、「差異」を作り、この差異を際限なく消費させる社会の形成に大きく加担することになりました。「差異」を強調する考えとグローバル化が相まって貧富の差を拡大し、移民問題を激化させました。多極化は第3次世界大戦こそ起こしていませんが、各地で紛争は多発しています。またグローバル化がコロナによるパンデミックにつながりました。これに対してホストモダンは対策を提示することができませんでした。この結果この思想は廃れつつあります。かといって解決策を別の哲学が提示できたかというと、これもできでいません。今の哲学としてオブジェクト指向実在論を何度か取り上げていますが、これは可能性に過ぎませんし、また上述した問題を正面から取り上げているとは思えません。ということで現在哲学が人気が無いのは最もなことです。ただ、個人が生きていく上で、仕事をしていく上での指針を求めることはできると思っており、moonogokoroのblogを書いている次第です。私個人は今もポストモダンの思想の中にいます。
ドゥルーズはポストモダンの代表的な哲学者で、前回の存在論で述べた「根源には何があるのか」を問うています。それを存在のゼロポイント、アハド、空と言わずに、「根源には差異がある」と言ったのです。「オー」と言う感じです。根源には「差異」があるのです。この「差異」が「反復」して次々と展開します、「差異」が次の「差異」を創って変化していくことを述べています。固定された「差異」が「反復」するのではありません、「差異」は次の「差異」を創りこれはいつも変化し、流動的です。次々と予想がつかない新しい展開を見せていきます。この「差異」を意図して作ることで人を誘導するのがブランド戦略です。ボードリアールの「消費社会の神話と構造」がそれを理論化しています。ドゥルーズの「根源には差異がある」が天才的と思うのは、「差異」は将来的には測定可能になるかもしれないからです。「空」(くう)では測定できないのです。「差異」であるとすると科学や工学への道が開けます。将来この言葉は再評価されるに違いないと思っています。
今回はドゥルーズの「差異と反復」から着想を得た、「擾乱を伴う反復系」について解説致します(特開2024-033711 情報処理システム、情報処理方法及び情報処理プログラムが参考になります)。この言葉は私が勝手に作った言葉です。これは過去扱った「カオス」や「フラクタ」と密接に関係がありますが、違いもあります。「反復系」というのは文字通り「反復」動作のことです。これまで扱った内容では「再帰性」、「フィードバック」のことです。「カオス」や「フラクタル」も「再帰性」と「非線形性」を特徴として持っており、「擾乱を伴う反復系」もまたこの性質を有しています。「擾乱」と言っているのは、「差異」を作るための仕組みを表しています。これを説明していきます。
その前にもう一つ重要な課題を挙げます。「生命的に見せるには何が必要か」という課題です。これは私の個人的な研究テーマです。生命をどう捉えるかという大きな問題です。こういう時に使う思考方法が「思弁的」でありました(前のblog 「ベイズ推定、思弁的、・・・」を参考にしてください)。思弁的というのは、「こういう観点で切り取ると、こんなこともできる、こんなふうに解釈できる」というように、仮説から出発することです。生命を捉える仮説は幾つもありますが、私はオートポイエーシスという考えに興味を持っています。オートポイエーシスというのは、端的に言えば、自分で自分を再帰的・循環的に創り出していくシステムのことです。生命が自己生成し、自己維持するプロセスである側面を強調した見方で、環境との相互作用を通じて絶えず変化し続けることを示します。自分自身を環境と相互作用しながら自ら創り出すことを「自律」と言います。この「自律」したシステムを作るということがオートポイエーシスシステムの第一歩と考えています。「自律」は環境と相互作用しながら勝手に変化していくので、外部からその変化を予測することができません。
「自律」して動かす観点に、ポストモダンの「差異と反復」の概念との共通点を観ています。技術的には「反復」が次々と形を変えて「差異」を生み出している系として、L-systemやフラクタルを思い浮かべます。しかしながら、L-systemやフラクタルは、以前のblog「 「再帰」とは、L-system, フラクタル, ・・・」で示したように、順追って見ていけば予測可能なシステムです。何故これらが予測可能かというと、同じ構造が決まった場所から追加されることで成長していくシステムだからです。これらを描いている時に、世代がアップする際に付け足される場所が、ノイズやランダムのような擾乱によってわずかに変化したら、どうなるだろうと思っておりました。この場合連続的な接続とはなりませんが、全体の形そのものは、予測不可能な形に変わっていくに違いありません。こうした考えは哲学的には自然です。L-systemやフラクタルは哲学的な側面から捉えると構造主義的です。構造主義はこれまで話してきてませんが、モノの本質として構造があると捉えます。「 「再帰」とは、L-system, フラクタル, ・・・」を見ていただくと、L-sysytmやフラクタルが再帰の構造で決まっていることが分かると思います。構造主義はその構造内での変化はありますが、構造は決まったものです。ですので構造が決まっているという意味で静的なのです。ポストモダンはこれを批判する形で登場した側面があります。「差異」を「反復」して次々と変わっていくので動的なのです。私もこの考えに即して、「擾乱を伴う反復系」へと進んだと思います。ポストモダンは構造主義の静的な側面を批判しましたが、別に、一方が良くて他方が悪いという話ではありません。性質が違っているということです。
擾乱を伴う反復系
「擾乱を伴う反復系」は「差異」を消そうとするフィードバックループの中に「差異」を作ろうとする擾乱が常に入る系のことを指します。これにより「自律」した動きを創り出します。今回のblogでこのシステムを説明致します。
まずいつものように作製した動画を初めに見ていただきます。Touchdesignerによるものです。
細い糸状の線の束が形を変えながら常に動いています。この動きは自律的に動いています。青い塊状の物体は糸状の束を構成しているポイントに割り付けられています。糸状の束のポイントは600ポイントあり、50離れた12個のポイントに割り付けられています。細い糸状の束が動くにつれて痕跡が残るようにしています。痕跡処理の方法については後述することに致します。自律的に動かす仕組みの中心はspring SOPというオペレータです。そこで最初にこのオペレータの説明を次の図を用いて説明致します。このオペレータは非常に使いでのあるオペレータです。最初に機能を示す図、続いてそのプログラムのspring SOP部分を示します。
spring SOPは特別な機能を持っています。オペレータの上の入力ポートに形状を入力します。すると形状を形成しているポイント間にバネ定数が設定されます。これにより、力が加えられた場合に、飛び散ることを防ぐことができます。spring SOPは外部からの力(force)とオブジェクト内部で設定する力(force)によって、形状を変形することができます。外部からの力は3番目の入力ポートから加えます。まずspring SOPの外部からの力による影響について説明致します。上のプログラム図はmetaball SOPとforce SOPを繋いで、それをspring SOPに接続した例です。元図形はどんな形状でも問題ありません。metaball SOPにはweightというパラメータがあります。このweightに与える値の極性とforce SOPのforceパラメータに与える値の極性が異符号の時、元図に作用する領域が弾かれます。これが上図の一番上です。また同符号の場合引き寄せられます。これを上図の真ん中です。weightとforceの値が大きいほどその力は大きく作用しますが、はじく機能は1度しか働きません。連続的にweightを大きくしても、弾く領域は大きくなりません。しかしいったん極性を同符号にして引き寄せ、その後極性を異符号にすると、weightの大きさに従って弾き飛ばされます。この時の図が上の図の一番下です。またmetaballのサイズが大きいほど弾く領域は大きくできます。しかしいったん大きくはじいた後サイズを小さくしても元にもどってきません。ですので今回の場合、引き寄せと弾くのを周期的に繰り返して利用しています。
動画の例では引き寄せて弾くという動作を周期的に繰り返し行っています。この例について述べます。動画の場合は外部forceによる、引き寄せて弾く動作をするのは4つのルートがあります。この4つのルートによって線状の形を変形します。これは擾乱を反復する仕組みです。
第1のルート:線の束を構成しているポイント全ての平均位置を求めています。この位置にmetaballを設定し、弾くと引き寄せを周期的に行います。線の束は常に動いているので、弾くと引き寄せによって変化し平均位置も変わります。ですのでこの系はフィードバック系になっています。つまり反復系の一つです。強くこの効果が発揮されるのは、偶然に線の束の全体が在る場所に集中するようになった時です。この時、収束して弾くことで、線の束を構成しているポイントは広い範囲に散らばります。
第2のルート:これは、ランダムに特定の位置に引き寄せて弾くことを繰り返します。metaballを設定する位置はx, y座標いずれも、-2, -1, 0, 1, 2のどれかです(z座標の値は0です)。この値がランダムに選択されます。ですので、漂っている線の束がランダムに発生したmetaballに近いところのポイントが、引き寄せられて弾かれます。これはフィードバック系ではありません。予測できない動きを作るための一つの手段です。
第3のルート:上の動画では使っていません。後述する動画で使う機能です。マウスの位置に対して線の束が集まってくるように動くのですが、その際に、マウスの位置にmetaballを設定して、引き寄せと弾くことを周期的に行います。これは、マウス位置に収束してきた際に、いつも収束するのではなく、ある程度距離を取って様子見をしているように見せるための機能です。これもフィードバックではありません。
第4のルート:この後説明する内部の力をつかって、線の束が基本的には中心付近にくるようにフィードバックを掛けています。これは画面の端のほうにばかりいる時間が長いと、見にくいからです。全体としては画面の中心から動くようにすることで、映像を捉えやすくしています。第の4のルート座標(0,0,0)に対してmetaballを設定して引き寄せ弾くを繰り返す機能です。中心付近に集まったポイントを散らばらせる働きがあります。この機能自体はフィードバックではありません。
次にspring SOPのオペレータ内部で設定するforceについて説明致します。spring SOPは3つのルートの内部forceのパラメータを持っています。external, wind, turbulenceです。これらのパラメータへ入れる値を使って、線の束を動かします。外部forceでは引き寄せと弾くことでしたが、内部のforceはイメージとしては風を吹かせて、線の束全体を動かすという機能です。
external force: 外部forceの第4のルートで述べた、全体的には画面の中央に線の束がくるようにするための機能です。これは線の束の平均位置を求め、その位置の逆方向に風を吹かせる機能です。中心からの距離が離れるほと強い力で中心に向かわせるようにしています。ホームポジション(0, 0, 0)とすると、そこへ戻るようにフィードバックする機能です。これは生物でいうと、ホメオスタシス(定常状態を維持する)に相当します。
wind: 上の動画では使っていませんが、マウス位置に対して、線の束全体がそこへ向かっていくように、フィードバックを掛ける機能です。これはマウス位置と線の束全体の平均位置との距離を求め、この差が小さくなるように風を吹かせます。この力も距離が離れていると強く、近づくと弱くなります。このforceはexternak forceより強い値になるようにしています。このためマウス位置に向かうことが優先されることになります。
turbulence: これは全体がうねるような風を吹かせる機能です(乱流)。このパラメータに値を入れると、その値に応じてうねりが発生します。サイン波を発生させてそれを座標に入力しています。線の束全体にばらけた動きを作ります。
以上の7つのforceによって「擾乱を伴う反復系」を作っています。3つのフィードバックによる反復系とそのフィードバック動作をしながら、擾乱を起こす4つの方法を備えています。一番最初の立ち上がりでは、元図形がsprong SOPに設定されます。これが初期値に相当しており、後はフィードバックが自動的に掛かります。これによって自律して動きだします。ここで、通常のフィードバック系との違いを述べて置きます。通常のフィードバックは基準となる値があって、それに向かってフィードバックが掛かります。本件でも中心位置に向かって掛かるフィードバックやマウス位置に向かって掛かるフィードバックはそれに相当しています。しかしながら、常に擾乱が入るので、全てのポイントの平均位置は常に変わり、フィードバックには常に「差異」が生じるようになっているのです。言うならば「差異」を消そうとするフィードバックに対して「差異」を作ろうとする擾乱が常に入ります。このため「擾乱を伴う反復系」と呼ぶことにしました。
それではマウスの位置に向かってくる場合の動画を次に示します。上述した第3のルートと、windのフィードバックが機能することが最初の動画との違いです。
マウスの位置を追っかける、中央に移動する、全てのポイントの平均位置にmetaballを設定して引き寄せと弾き飛ばしを繰り返す、というフィードバックが反復される中、ランダム、あるいは中央の位置で、引き寄せと弾き飛ばしを行う機能と乱流による擾乱が加わります。これによりマウスを追っかけるという決まった行動をとりながらも予測不可能な動きを創っています。
それでは最後に痕跡処理について述べます。痕跡処理といっているのは青い球が痕跡を持ちながら移動する処理のことを指しています。今回に元図は600ポイントあり、50離れた12個のポイントを選択し、その各ポイントの位置が13ステップ重なるように描いています。14回目以降は上書きさせるようにしております。ステップは矩形発振器で決めています。ですから、線の束から12ポイントを選び、各ポイントの動きを時間に対して13回分残して描いているということです。以前のblog「痕跡」で、痕跡処理の方法を記載しました。この中で使った、「記憶させることで跡を残す方法」に近いですが、複数の選択したポイントに対して行っているという点が異なっています。
コメント