メインコンテンツへスキップ
見出し画像

葬列としての因果集合 / Causal Sets as “葬列”

    はじめに / Introduction

    本稿は、作品「Causal Sets / 葬列」を起点に、時間を「流れ」ではなく因果関係の部分順序として捉え直し、その直観をブラックホールの地平面近傍という比喩を足場に、構造として記述するための公開テキストです。

    This public text, anchored in the artwork “Causal Sets / 葬列,” reframes time not as a flow but as a partial order of causal relations, and articulates that intuition as structure through the metaphor of a black-hole horizon.


    作品キャプション / Artwork caption

    Title of Work: Causal Sets / 葬列
    Year of Creation: Apr 2023
    Dimensions: 40 x 60 cm (Height x Width)
    Medium: Digital media
    Technique: Photo collage

    本作「葬列」は、東洋の神秘思想と、量子力学と一般相対性理論をつなぐ概念的な架け橋である因果集合理論から着想を得ている。原因と結果の同時性を探求し、過去・現在・未来の出来事が一瞬のうちに展開されるという直観によって、時間の連続性という前提に挑戦する。各存在はセルの中で孤立しているように描かれながらも、避けられない運命の絆によって互いに結ばれ、集合的な存在を形作っていく。星々の海を果てしなく続く比喩的な葬列を通じて、存在の儚さと、この移ろいやすい世界で一瞬一瞬やご縁を大切にすることの重要性を問いかける。

    “Causal Sets” draws inspiration from Eastern mysticism and causal set theory—a conceptual bridge between quantum mechanics and general relativity. The work explores the simultaneity of cause and effect, guided by the intuition that events of the past, present, and future can unfold within an instant, thereby challenging the assumption of continuous time. Each being appears isolated within its own cell, yet remains linked through inescapable bonds of fate, forming a collective existence. Through the metaphor of a funeral procession extending endlessly across a sea of stars, the work invites reflection on the fragility of being and on the importance of cherishing each moment and every connection within a transient world.


    関連作(補助的参照) / Related Work (Supporting Reference)

    「元型」の反復・入れ子の発想は、本研究における rank ネスト(v5)および反復構造の読解に、補助的な参照枠を与える。

    The theme of repetition and nested loops in “Archetypus” provides a supporting frame for reading rank-nesting (v5) and stratified repetition in this study.

    画像

    Title of Work: Archetypus / 元型
    Year of Creation: Jul 2020
    Dimensions: 123 x 99 cm (Height x Width)
    Medium: Digital media
    Technique: Photo collage

    本作「元型」は「原型への回帰と反復」を主題とし、鳥の仮面を被った女性像の反復によって人間の根源的な欲求を象徴化する。作家にとって論理は感覚を抑える手段に過ぎず、その拘束が合わせ鏡のような終わりのない反復=入れ子の世界を生む。この無限ループは、人類の歴史・文化・戦争・紛争、さらには宇宙の構築そのものを示唆する。

    “Archetypus” explores repetition and a return to the archetypal. Repeated depictions of a woman wearing a bird mask figure humanity’s fundamental desires. Here, logic functions as a restraint on the senses, and that restraint generates an endless recurrence—like reflections between facing mirrors, an infinitely nested world. This loop can be read as a model for human history, culture, war, conflict, and even the construction of the cosmos.


    要旨 / Abstract

    本稿は、作品「葬列」をブラックホール時空の地平面 B(horizon)近傍に固定された構造として捉え、時間を『流れ』ではなく『因果関係の部分順序』として扱う。v1〜v9 の更新は、(i) Sephirot 制約、(ii) 局所性/拡散の調整(p, q, sigma)、(iii) 跨柱干渉(kappa)、(iv) 接続多様性(edge entropy)、(v) 投影規則 f の最小定義へと収束する。本稿は、これらを plate/論文/note の 3 層に一貫させる Protocol Mapping として提示し、再現可能な制作工程として固定する。

    This paper reframes the artwork “Funeral Procession” as a structure fixed near a horizon B, and treats time as a partial order of causal relations rather than a flow. The v1–v9 trajectory converges into: Sephirot constraints, locality/diffusion control (p, q, sigma), cross-pillar interference (kappa), connection diversity (edge entropy), and a minimal specification of the projection rule f. We present these as a Protocol Mapping consistent across the plate, the paper PDF, and the note draft, fixing a reproducible production process.


    1. 投影規則 f(入出力仕様) / Projection rule f (I/O specification)

    f は Model/Controller の状態を View 出力へ写像する最小規則である。『最小』とは表現を縛ることではなく、差分が追跡可能な範囲で自由度を確保するという意味である。同じ入力なら同じ出力が得られ、出力の違いがどの要因に帰属するかが追える。

    f is the minimal rule mapping the Model/Controller state into View outputs. Minimal does not mean restricting expression; it means traceable freedom: the same input yields the same output, and output differences remain attributable to specific factors.

    画像
    Fig. 1: f の入出力と不変量 / I/O of f and invariants (glyph-safe)

    内部状態(最小定義) / Internal State (Minimal Definition)

    Input model: C = (V, ≺), rank, chains
    Boundary: B
    Controller: p, q, σ, κ, entropy
    Seed/Protocol: seed + protocol

    import numpy as np
    import matplotlib.pyplot as plt
    from matplotlib.gridspec import GridSpec
    
    def knn_edges(pts, k=4):
        n = pts.shape[0]
        d2 = ((pts[:, None, :] - pts[None, :, :]) ** 2).sum(axis=2)
        np.fill_diagonal(d2, np.inf)
        idx = np.argpartition(d2, kth=k-1, axis=1)[:, :k]
    
        edges = set()
        for i in range(n):
            for j in idx[i]:
                j = int(j)
                a, b = (i, j) if i < j else (j, i)
                edges.add((a, b))
        return list(edges)
    
    def pair_correlation(distances, r_max, bins=40):
        hist, ed = np.histogram(distances, bins=bins, range=(0, r_max))
        r = 0.5 * (ed[:-1] + ed[1:])
        c = hist / hist.max() if hist.max() > 0 else hist.astype(float)
        return r, c
    
    def radial_power(points, grid=192):
        H, _, _ = np.histogram2d(
            points[:, 0], points[:, 1],
            bins=grid,
            range=[[-1, 1], [-1, 1]]
        )
        F = np.fft.fftshift(np.fft.fft2(H))
        P = np.abs(F) ** 2
    
        y, x = np.indices(P.shape)
        cy, cx = (np.array(P.shape) - 1) / 2
        rr = np.sqrt((x - cx) ** 2 + (y - cy) ** 2).astype(int)
    
        tbin = np.bincount(rr.ravel(), P.ravel())
        nr = np.bincount(rr.ravel())
        radial = tbin / np.maximum(nr, 1)
    
        k = np.arange(len(radial))
        return k, radial

    出力体系 / Output Scheme

    plate / paper PDF / note draft / SNS text。plate を一次成果として固定し、他の出力は同一の Model/Controller 状態(同一 seed とパラメータ集合)から派生させる。plate では、horizon_y を境に上側(within-horizon)を構造的配置、下側(beyond-horizon)をランダム配置として生成し、点群と局所接続(kNN edges)を描画する。さらに、2 点相関を within-horizon/beyond-horizon/cross-horizon に分割して比較し、上側/下側の radial power(proxy)を併置する。

    plate / paper PDF / note draft / SNS text. The plate is fixed as the primary artifact; other outputs are derived from the same Model/Controller state (same seed and parameter set). In the plate, horizon_y divides the field: the upper region (within-horizon) is generated as structured placement, and the lower region (beyond-horizon) as random placement. We draw the point cloud and local connectivity (kNN edges). We then split the two-point correlation into within-horizon / beyond-horizon / cross-horizon pairs for comparison, and place a side-by-side radial-power proxy for the upper and lower regions.

    # requires: numpy as np, matplotlib.pyplot as plt, GridSpec
    def render_plate(filename, seed=42, horizon_y=0.0, dpi=420):
        rng = np.random.default_rng(seed)
    
        # within-horizon (above): structured; beyond (below): random
        po = perturbed_hex_points(seed=seed)
        po = po[po[:, 1] >= horizon_y]
    
        pr = random_points(seed=seed + 1)
        pr = pr[pr[:, 1] < horizon_y]
    
        # ensure minimum count in the structured region
        if len(po) < 140:
            extra = po.copy()
            extra[:, 0] *= -1
            po = np.vstack([po, extra])
            po = po[po[:, 1] >= horizon_y]
    
        po = po[:180]
        pr = pr[:180]
    
        pts = np.vstack([po, pr])
        n = len(pts)
    
        edges = knn_edges(pts, k=4)
    
        above = set(np.where(pts[:, 1] >= horizon_y)[0].tolist())
        below = set(np.where(pts[:, 1] < horizon_y)[0].tolist())
    
        # correlation samples
        pair_samples = 20000
        a = rng.integers(0, n, size=pair_samples)
        b = rng.integers(0, n, size=pair_samples)
        m = a != b
        a = a[m]
        b = b[m]
    
        dist = np.sqrt(((pts[a] - pts[b]) ** 2).sum(axis=1))
    
        # split distances: within-horizon / beyond-horizon / cross-horizon
        dA, dB, dC = [], [], []
        for i in range(len(dist)):
            ia, ib = int(a[i]), int(b[i])
            if ia in above and ib in above:
                dA.append(dist[i])
            elif ia in below and ib in below:
                dB.append(dist[i])
            else:
                dC.append(dist[i])
    
        rA, cA = pair_correlation(np.array(dA), r_max=2.0, bins=40)
        rB, cB = pair_correlation(np.array(dB), r_max=2.0, bins=40)
        rC, cC = pair_correlation(np.array(dC), r_max=2.0, bins=40)
    
        kA, pA = radial_power(po, grid=192)
        kB, pB = radial_power(pr, grid=192)
    
        fig = plt.figure(figsize=(10, 10), constrained_layout=True)
        gs = GridSpec(2, 2, figure=fig)
    
        ax1 = fig.add_subplot(gs[0, 0])
        ax1.set_aspect("equal")
        ax1.axis("off")
        ax1.scatter(po[:, 0], po[:, 1], s=8, color="black", alpha=0.85)
        ax1.scatter(pr[:, 0], pr[:, 1], s=8, color="black", alpha=0.35)
        ax1.plot(
            [-1.05, 1.05],
            [horizon_y, horizon_y],
            linestyle=(0, (3, 4)),
            linewidth=1.0,
            color="black",
            alpha=0.8,
        )
        ax1.text(-1.02, horizon_y + 0.04, "causal horizon", fontsize=9, color="black")
        ax1.set_xlim(-1.1, 1.1)
        ax1.set_ylim(-1.1, 1.1)
        ax1.set_title("Cells and causal horizon", fontsize=11)
    
        ax2 = fig.add_subplot(gs[0, 1])
        ax2.set_aspect("equal")
        ax2.axis("off")
        ax2.plot(
            [-1.05, 1.05],
            [horizon_y, horizon_y],
            linestyle=(0, (3, 4)),
            linewidth=1.0,
            color="black",
            alpha=0.8,
        )
    
        for (i, j) in edges:
            xi, yi = pts[i]
            xj, yj = pts[j]
            crosses = (yi - horizon_y) * (yj - horizon_y) < 0
    
            if crosses:
                mx, my = 0.5 * (xi + xj), 0.5 * (yi + yj)
                jx = mx + rng.normal(0, 0.03)
                jy = my + rng.normal(0, 0.03)
                ax2.plot(
                    [xi, jx, xj],
                    [yi, jy, yj],
                    linewidth=0.6,
                    alpha=0.25,
                    color="black",
                    linestyle=(0, (2, 4)),
                )
            else:
                if yi >= horizon_y and yj >= horizon_y:
                    ax2.plot([xi, xj], [yi, yj], linewidth=0.8,  alpha=0.55, color="black")
                else:
                    ax2.plot([xi, xj], [yi, yj], linewidth=0.7, alpha=0.22, color="black")
    
        ax2.scatter(pts[:, 0], pts[:, 1], s=6, color="black", alpha=0.6)
        ax2.set_xlim(-1.1, 1.1)
        ax2.set_ylim(-1.1, 1.1)
        ax2.set_title("Causal threads (attenuated across horizon)", fontsize=11)
    
        ax3 = fig.add_subplot(gs[1, 0])
        ax3.plot(rA, cA, linewidth=1.2, color="black")
        ax3.plot(rB, cB, linewidth=1.0, color="black", alpha=0.55, linestyle="--")
        ax3.plot(rC, cC, linewidth=1.0, color="black", alpha=0.55, linestyle=":")
        ax3.set_xlabel("r")
        ax3.set_ylabel("C(r) (normalized)")
        ax3.set_title("Two-point correlation split by horizon", fontsize=11)
        ax3.legend(["within-horizon", "beyond-horizon", "cross-horizon"], frameon=False, fontsize=9)
    
        ax4 = fig.add_subplot(gs[1, 1])
        ax4.plot(kA, pA, linewidth=1.2, color="black")
        ax4.plot(kB, pB, linewidth=1.0, color="black", alpha=0.55, linestyle="--")
        ax4.set_xlabel("k (radial frequency index)")
        ax4.set_ylabel("P(k) (normalized)")
        ax4.set_title("Radial power (proxy) above vs below horizon", fontsize=11)
        ax4.legend(["within-horizon", "beyond-horizon"], frameon=False, fontsize=9)
    
        fig.suptitle("Causal Horizon Funeral Procession (monochrome plate)", fontsize=13)
        fig.savefig(filename, dpi=dpi)
        plt.close(fig)

    2. 不変量・反例・安定条件(中域) / Invariants, counterexamples, and stability (mid-range)

    不変量は『壊すと作品として成立しない骨格』である。少なくとも、因果整合、地平二相、層構造(rank・chains)、多様性(entropy の非崩壊)を不変量として固定する。反例(counterexamples)を明示することで禁止領域が定まり、安定条件(中域)の意味が具体化する。

    Invariants are skeletal constraints that must survive parameter tuning: causal consistency, horizon-driven two-phase behavior, stratification (rank and chains), and the non-collapse of diversity (entropy). Counterexamples define forbidden regions; together they make the stability window concrete.

    画像
    Fig. 2: 反例(破綻モード) / Counterexamples (failure modes)
    画像
    Fig. 3: 安定域(中域)の概念図(p–q) / Conceptual stability window on the p–q plane

    3. Protocol Mapping(制作→提出→公開) / Production → Submission → Publication

    View は plate/論文 PDF/note 原稿/SNS text の 4 出力を基準とする。plate は制作の一次成果、論文は仕様の固定、note は公開のための語りである。同一の内部状態から 4 出力を派生させることで、制作工程は追跡可能になり、作品と言語(仕様)が乖離しない。

    The View layer standardizes four outputs: plate / paper PDF / note draft / SNS text. The plate is the primary artifact; the paper fixes the specification; the note provides a public-facing narrative. Deriving all four from the same internal state keeps the process traceable and prevents divergence between the artwork and its language (specification).


    plate ギャラリー(v1–v8.1 + closure)/ Plate gallery (v1–v8.1 + closure)

    各 plate には、(i) パラメータ(p, q, sigma, kappa)、(ii) 観測変化、(iii) 意図 を付与する。

    Each plate caption follows a standard form: (i) parameters (p, q, sigma, kappa), (ii) observed change, (iii) intent.

    v9: Projection rule and stability domain / 投影規則と安定領域

    以下の図は、plate(Fig. 4–13)を読むための前提として、解釈が安定する領域と、崩壊(collapse)が起きる条件を簡潔にまとめたものです。

    The diagram below provides a compact reference for reading the plates (Fig. 4–13), summarizing where interpretation remains stable and where collapse occurs.

    画像
    Fig. 14: v9 plate — projection rule f, stability domain, and counterexamples

    H = f(S; B, θ)
    θ = { p (transmissivity), q (selection), σ (jitter), κ (segmentation) }
    S satisfies Sephirot constraints + causal set order axioms.

    観測: 安定領域は定性的に「p/q が中域」「σ が小さく κ が中程度」に現れる。領域から外れると、下記の崩壊例(CE1–CE3)が生じる。
    意図: plate の読み(rank / reachability / interference)が、どの範囲で成立するかを明示し、以降の v1–v8.1 の推移を“読める形”で受け渡す。

    Observed: Qualitatively, stability appears at mid-range p/q and at small σ with moderate κ; outside this region, collapse cases (CE1–CE3) occur.
    Intent: Specify where the plate’s interpretability (rank / reachability / interference) holds, so the subsequent v1–v8.1 trajectory can be read coherently.

    CE1: p → 1, q → 0 — saturation(edge entropy loses meaning)
    CE2: σ too large — illegibility(rank / interference dissolve)
    CE3: κ too large — fracture(reachability breaks)

    画像
    Fig. 4: Plate v1 (baseline) — two-phase split across the horizon

    p = 0.350, q = 0.350, σ = 0.250, κ = 0.150

    観測: 地平上下の二相が明確(structured / random)
    意図: 比較基準となる最小骨格を固定する

    Observed: A clear two-phase split across the horizon (structured / random).
    Intent: Fix a minimal baseline skeleton for comparison.

    画像
    Fig. 5: Plate v2 — coherent density and increased order under constraints

    p = 0.350, q = 0.350, σ = 0.250, κ = 0.150

    観測: 制約により密度が整い、秩序が増す
    意図: Sephirot 制約で視覚上の「因果」を保つ

    Observed: Density becomes more coherent and order increases under constraints.
    Intent: Preserve visual causal readability via Sephirot constraints.

    画像
    Fig. 6: Plate v3 — locality and haze in balance (p–q shift)

    p = 0.250, q = 0.550, σ = 0.035, κ = 0.150

    観測: 局所性と霧化のバランスが出る
    意図: p, q, σ で硬さと曖昧さを同居させる

    Observed: A balance emerges between locality and haze.
    Intent: Let hardness and ambiguity coexist through p, q, and σ.

    画像
    Fig. 7: Plate v4 — reachability becomes more legible

    p = 0.250, q = 0.550, σ = 0.035, κ = 0.150

    観測: 到達可能性の読みが明確になる
    意図: 因果の方向性を可視化へ反映する

    Observed: Reachability becomes more legible.
    Intent: Reflect causal directionality in the visualization.

    画像
    Fig. 8: Plate v5 — rank repetition becomes prominent

    p = 0.250, q = 0.550, σ = 0.035, κ = 0.150

    観測: rank の反復が強く現れる
    意図: 葬列の「列」を入れ子構造として組織化する

    Observed: Rank repetition becomes prominent.
    Intent: Organize the “procession” as a nested, repeating structure.

    画像
    Fig. 9: Plate v6 — κ controls cross-horizon interference

    p = 0.250, q = 0.550, σ = 0.035, κ = 0.350

    観測: 地平跨ぎの混線が制御される
    意図: κ で「破れ」を意図として扱う

    Observed: Cross-horizon interference becomes controllable.
    Intent: Treat “tearing/breaches” as an intentional, κ-mediated effect.

    画像
    Fig. 10: Plate v7 — diversity maintained via edge entropy

    p = 0.250, q = 0.550, σ = 0.035, κ = 0.350
    観測: 単調化が起きにくい
    意図: edge entropy で多様性を保持する
    Observed: Monotony becomes less likely.
    Intent: Maintain diversity via edge entropy.

    画像
    Fig. 11: Plate v8 — Model → Output mapping clarified

    p = 0.500, q = 0.450, σ = 0.350, κ = 0.280

    観測: Model → Output の対応が整理される
    意図: projection bridge を明文化する

    Observed: The Model → Output correspondence becomes clearer.
    Intent: Make the projection bridge explicit.

    画像
    Fig. 12: Plate v8.1 — interpretation stabilizes; MVC correspondence fixed

    p = 0.500, q = 0.450, σ = 0.350, κ = 0.280

    観測: 解釈が安定する
    意図: v7 を回収し、MVC 対応を固定する

    Observed: Interpretation stabilizes.
    Intent: Recover v7 and fix the MVC correspondence.

    画像
    Fig. 13: Closure — integrated trajectory (v1–v8.1)

    p = 0.500, q = 0.450, σ = 0.350, κ = 0.280

    観測: 全体像を統合して提示する
    意図: 締めとして v1〜v8.1 の軌跡を俯瞰する

    Observed: The overall trajectory is presented in an integrated view.
    Intent: Conclude with a panoramic overview of v1–v8.1.


    PDF ダウンロード / PDF Download

    完全版 PDF(図解・仕様・参照コード)は、下記よりダウンロードできます。

    The complete PDF (diagrams, specifications, and reference code) is available to download below as an attachment.


    スタエフ放送 / Stand.fm Episode


    関連リンク / Related Links



    作家プロフィール / Artist Profile

    この記事が参加している募集

     
     
    国際芸術賞 17 冠のグラフィック/現代美術家。世界各地で展示され、美術書や学術誌にも掲載。日本特有の祈りを背景に、集団心理と認知世界の構造、根源意識を主題に制作(独立アプリ事業:累計 5,000 万 DL|創業者/経営・制作統括)。https://dolice.net

    あなたへのおすすめ