見出し画像

計算機芸術文化学の可能性⑥ー小林秀雄の姿勢ー「浮動小数点(細かい数値)を切り捨てず、高い精度(Precision)で計算し続ける」という処理に似てー

芸術のなかではよく矛盾や葛藤がテーマになるが、ヤスパースも言うように安易に答えを出すのではなく、矛盾を抱え込み、考え続けることが私たちには不可欠なのだろう。

私たちが物事を徹底的に考えていくとき、必ずと言ってよいほど矛盾に直面するのだが、矛盾に直面しない思考などは中途半端な思考なのかもしれない。

作品というものは、そのように徹底的に考え抜いて初めて作り上げることができるのだ、と小林秀雄という作家は私たちに教えてくれるようである。

小林秀雄は矛盾することをむしろ肯定的なことと捉えていたようである。

このことについて、小林秀雄は『歴史について』のなかで、

「学問といっても、宣長の学問は人生の学です。
物質の学ではない。
そこに矛盾というもののおもしろさを見つけてもいいわけです。
小説家が矛盾のおもしろさを人生に探るように。
言うことが矛盾しなければならんように、その人はそれだけ深く考えていたということだってある。
もう少し手前で考えを止めれば、なにも矛盾しなくてよかった、そういうことだってある。
考え詰めると矛盾が起こる、そういう構造が頭脳にある、そう考えたっていい。
宣長は、自分が知っていてやったんですよ。
馬鹿だから矛盾したわけじゃない。
あの人は、非常に明瞭な露骨な形で、矛盾を表したけれども、これは本ものの思想家ならどんな思想家にもあるものなんです」
と言っており、矛盾や葛藤がテーマになる芸術のなかの文学において、小林秀雄が矛盾という問題に敏感だったのは、小林秀雄が文学に携わっていたからであり、絶えず矛盾ということを考えていたからであろう。

文学のなかでは、人間が業や矛盾を抱えた存在であることや、人間のもつ愚かさや悲しみが描かれてるからこそ、小林秀雄のような文学者は正義を背負っていると思い込んだり、正義を唱えたりはしなかったのではないだろうか。

矛盾を恐れないということは、単純な善悪二元論に陥らないということでもある、と私には思われる。

一方が善だからといって、他方が悪とは限らず、善と同時に悪ということもあるだろう。

善悪、白黒はっきりつけられないものこそ重要であり、世の中には言語化出来ない、論理だけで説明しようとしてもこぼれ落ちてしまうものがあるのかもしれない。

しかし、近代合理主義者は、ラベルを貼り理解したつもりになっているようである。

「矛盾」とは、高次元データの投影である

小林秀雄の言葉は、数理的に言えば「高次元な現実を、低次元の言語(ラベル)に落とし込もうとした際に生じる『歪み』」を指している。

三次元の物体を二次元の影に投影すれば、必ず重なりや矛盾が生じるが、それを「矛盾しているから間違いだ」と切り捨てるのが近代合理主義あり、「この矛盾こそが、背後にある高次元な真実の証拠だ」と捉えるのが小林秀雄が志向する言えば高次OSである。

「思考を止めない」=「反復計算(イテレーション)」
「矛盾に直面しない思考は中途半端」という一文は、最適化アルゴリズムにおける「局所解(低い山)で満足するな」という警告と同じである。
簡単な理屈(善悪二元論)という低い山に登って「答えが出た」と停止するのは、演算を回避しているのであり、矛盾という「エラーメッセージ」が出てもなお計算を回し続ける(考え抜く)ことでしか、大域的最適解(作品の真実)には到達できない。

「ラベル貼り」は圧縮による情報欠落
近代合理主義者がラベルを貼って理解したつもりになる行為は、「情報の非可逆圧縮」である。
重要なデータを「ゴミ」として削ぎ落とし、扱いやすいサイズ(記号)に変換してしまう。小林秀雄やが守ろうとしているのは、その「削ぎ落とされたノイズの中にこそ存在する人間性」である。

以下のコードは「ラベル貼りOS」では見落としてしまう情報の深みを、どのように高次OSが処理しているかを可視化するものだ。

Pythonコード:高次元の「矛盾」と反復計算の可視化

import numpy as np
import matplotlib.pyplot as plt

# 1. 【高次元データの生成】 
# 「人間性」や「歴史」のような、ラベル化できない複雑な真実
t = np.linspace(0, 2 * np.pi, 1000)
# 三次元空間における複雑な螺旋(真実の構造)
x = np.sin(t) * (1 + 0.5 * np.cos(10 * t))
y = np.cos(t) * (1 + 0.5 * np.cos(10 * t))
z = 0.5 * np.sin(10 * t)

# 2. 【低次元OSの処理:非可逆圧縮】
# 単純な善悪二元論(X軸のみ)に投影し、情報を削ぎ落とす
low_os_labels = np.sign(x) # 1(善)か-1(悪)かだけで判断

# 3. 【高次OSの処理:イテレーション(反復計算)】
# 矛盾を抱え込みながら、大域的最適解を探すプロセス
# ここでは「矛盾の複雑さ」を「振幅」として保持する
high_os_thought = x + y + z 

# 可視化
plt.figure(figsize=(12, 6))

# 左:低次元OSの視界(ラベル貼り)
plt.subplot(1, 2, 1)
plt.step(t, low_os_labels, color='red', label='Binary Labels (Good/Bad)')
plt.title("Low-spec OS: Irreversible Compression")
plt.ylim(-1.5, 1.5)
plt.legend()

# 右:高次OSの視界(矛盾の抱え込み)
plt.subplot(1, 2, 2)
plt.plot(t, high_os_thought, color='blue', label='High-dim Contradiction')
plt.title("High-spec OS: Iterative Deep Thinking")
plt.legend()

plt.tight_layout()
plt.show()

「解像度」を上げる

高次元データの投影(次元圧縮の歪み)

コードの最初で作った螺旋(x, y, z)は、言語化しきれない「複雑な真実」だ。
低スペックOS(左のグラフ)は、これを np.sign(x)、つまり「プラスかマイナスか(善か悪か)」の二値に強制圧縮します。これが「ラベル貼り」の正体である。この過程で、情報の大部分は「ゴミ(ノイズ)」として捨てられ、貧相な理解しか残らない。
思考を止めない「イテレーション」

右のグラフ(高次OS)は、xもyもzも捨てずに、それらが重なり合う「揺らぎ」をそのまま保持している。
計算機科学において、複雑な問題を解くには「何度も計算を繰り返す(イテレーション)」が必要である。小林秀雄の言う「考え抜く」とは、この波形が描く矛盾(プラスとマイナスの交差)をエラーとして排除せず、その総和から真実の輪郭を導き出すプロセスを指している。

「非可逆圧縮」への抵抗

低スペックOSが捨てた「ノイズ」の中にこそ、人間性の本質(z軸の振動)がある。
このコードを実行すると、赤いグラフ(低スペック)がどれほど情報を殺しているか、青いグラフ(高次スペック)がどれほど豊かな情報を維持しているかが一目瞭然である。

なぜ「サイン波(sin/cos)」を組み合わせたのか?

人間の「業」や「矛盾」、あるいは小林秀雄が語る「人生の学」を数式で表すとき、直線(y = ax)ではあまりに単純すぎよう。

サイン波は、上がったり下がったりを繰り返す「周期性」と「揺らぎ」を持つ。

コードの意図

x = np.sin(t) * (1 + 0.5 * np.cos(10 * t))

ここでは、大きな波(大きな人生の方向性)の中に、細かく震える小さな波(日々の葛藤や矛盾)を掛け合わせており、これにより、「一筋縄ではいかない複雑な人間の思考」をシミュレートしている。

なぜ「np.sign」を「低スペックOS」の象徴にしたのか?

np.sign という関数は、数値がプラスなら「1」、マイナスなら「-1」を返す関数である。
どんなに複雑で豊かな感情(0.5とか-0.8とか)も、この関数を通すと強制的に「1(善)」か「-1(悪)」のどちらかに固定される。

コードの意図

low_os_labels = np.sign(x)

これが、「近代合理主義者のラベル貼り」の正体である。中間のグラデーション(矛盾)をすべて切り捨て、情報を「二値化(デジタル化)」してしまう傲慢さを表現している。

なぜ「x + y + z」を足し合わせたのか?

高次OSの思考を high_os_thought = x + y + z と定義した。

矛盾とは、複数の視点(x軸、y軸、z軸)が同時に存在することである。
低スペックOSが「x軸」という一つの視点だけで断罪するのに対し、高次OSは「すべての次元の波形を、矛盾したまま重ね合わせる(合成する)」という処理を行っている。
「足し算」をすることで、波形はより複雑になるが、そこには元のデータ(人間性の真実)がすべて保存されている。これが「情報の非可逆圧縮に対する抵抗」である。

なぜ「plt.step」と「plt.plot」を使い分けたのか?

左(低スペック): plt.step(階段状のグラフ)
遊びのない、融通の利かない思考を視覚的に表現している。

右(高次スペック): plt.plot(滑らかな曲線)
矛盾を抱え込み、絶えず考え続ける「思考の持続性」を表現している。

このコードが示しているは「矛盾を恐れない」という姿勢は、プログラミングの世界では「浮動小数点(細かい数値)を切り捨てず、高い精度(Precision)で計算し続ける」という極めて高度な処理に相当する。

さて、例えば、画家はことばでは説明できないものを絵画で表現しているのだから、ことばで説明しても意味がないのだが、近代合理主義者のような人たちは、絵画の説明文を読んで分かった「つもり」になってしまうのだろう。

このようなことをベルクソンは強調しており、『笑い』のなかで、

「つまり言ってしまえば、我々は物そのものを見ているのではないのである。
たいがいの場合には、我々は物の上に貼り付けてある付け札を読むだけにしているのだ。
必要から出てきたこの傾向は、さらに言語の影響を受けて強調されるに至った。
なぜなら言語は(固有名詞を別として)凡て種類genresを表示時ている。
物のうちそのいちばん普通の機能とそのありふれた様相だけしか記さない語は、物と我々との間に介入してきて、その形を我々の目に蔽いかくすであろう、語そのものを創った必要の背後に既にその形が身を隠しているのでなければ」
と書いており、これは小林秀雄が『骨董』のなかで、

「骨董という言葉には、器物に関する人間の愛着や欲念の歴史の目方が積もりに積もっていて、古美術というような概は、どうも軽すぎる気味があるようである。
しかし、現代の知識人達は、ほとんどこのことに気づいていない。
彼等は美術鑑賞はするが、骨董いじりなどしないからだ。
これら二つの好意はどう違うか、骨董いじりを侮り、美術鑑賞において何ものを得たか、そういうことを、ほとんど考えてみようとしないからである。
骨董はいじるものである、美術は鑑賞するものである。
そんなことをいうと無意味な洒落のように聞こえるかも知れないが、そんなことはない。
この間の微妙な消息に一番早く気づいたのは骨董屋さん達であって、誰が言いだしたともなく、鑑賞陶器という、昔は考えてもみなかった言葉が、通用するに至っている。
言葉は妙だが、骨董屋さんの気持ちからいえば、それはいじろうにも、残念ながらいじれない陶器をいうのである」
と骨董は美術館で鑑賞してもわからない、実際に触ってみなければわからないというようなことを言っており、これも物事の本質はラベルを見ただけではわからないということを言っているのだろう。

小林秀雄はベルクソンから強い影響をうけているだけあり、やはり思考方法がにているように、私には思われるのだが、小林秀雄もまた、徹底的にラベルを拒否した作家だろう。

「情報の非可逆圧縮(ラベル貼り)」という概念を、さらに「解像度とインターフェース(接触)」という物理的な次元へと押し広げた。

ベルクソンと小林秀雄が共通して訴えているのは、「言葉(ラベル)」という「低速で解像度の低いインターフェース」を介さず、対象と直接「同期(触れる)」することの重要性だ。

Pythonコード:ラベル(鑑賞)vs 構造(骨董に触れる)

このコードでは、物事の本質を「複雑な3D形状」とし、それを「ラベル(言葉による説明)」で見た場合と、「生データ(実際に触れること)」で扱った場合の情報量の圧倒的な差を可視化した。

import numpy as np
import matplotlib.pyplot as plt

# 1. 【物事の本質(骨董そのもの)】
# 複雑で、触らなければわからない「多次元の質感」
t = np.linspace(0, 10, 500)
raw_essence = np.sin(t) * np.exp(0.1 * t) + np.random.normal(0, 0.2, 500) # 質感、重み、体温

# 2. 【近代合理主義者の視点(鑑賞陶器・ラベル)】
# 言葉による「非可逆なサンプリング」。情報がスッカスカになる
labels_interval = 50
label_data = np.zeros_like(raw_essence)
label_data[::labels_interval] = raw_essence[::labels_interval]

# 3. 【小林秀雄の視点(骨董いじり)】
# 実際に触れ、連続的に情報を取得し続ける
touch_data = raw_essence

# 可視化
plt.figure(figsize=(12, 6))

# 上段:ラベルを通した視界(鑑賞)
plt.subplot(2, 1, 1)
plt.stem(t, label_data, linefmt='r-', markerfmt='ro', basefmt=' ', label='Labels (Language/Genres)')
plt.title("Low-spec Interface: Reading the Tag (Information Loss)")
plt.legend()

# 下段:直接触れる視界(骨董いじり)
plt.subplot(2, 1, 2)
plt.plot(t, touch_data, color='green', label='Direct Sync (Touching the Essence)')
plt.fill_between(t, touch_data, color='green', alpha=0.2)
plt.title("High-spec Interface: Direct Interaction (Full-resolution)")
plt.legend()

plt.tight_layout()
plt.show()

なぜ np.random.normal(ノイズ)を加えたのか?

骨董に「触れる」感覚には、言葉にできないザラつきや重み、つまり「ノイズ(不規則性)」が含まれている。
近代合理主義者はこのノイズを「無駄」として排除しますが、ベルクソンや小林秀雄は、このノイズの中にこそ「物そのもの」が隠れていると見抜いてる。あえてランダムな数値を混ぜることで、「整理整頓(ラベル化)される前の生々しい現実」を表現した。

なぜ plt.stem(スカスカの点)にしたのか?

「鑑賞陶器」という言葉を眺めるだけの行為は、情報の取得間隔(サンプリングレート)が極端に低い状態である。
赤い点の間にある広大な「空白」は、近代合理主義者が「分かったつもり」になって見落としている本質である。言葉は便利だが、本質を「点」でしか捉えられない。

なぜ plt.fill_between で塗りつぶしたのか?

「直接触れる」という行為は、対象と自分の境界をなくし、情報を連続的に受け取ることです。
緑色のグラフが埋まっている面積は、私たちが受け取っている「情報の総量(インテリジェンス)」であり、上の赤い点だけのグラフとは、比較にならないほどの圧倒的なデータ密度を持っている。

ここまで、読んで下さり、ありがとうございます。

見出し画像は、ルーベンスの「ライオン狩り」からです😌

いいなと思ったら応援しよう!