Shepard 音阶悖论 — Geruon 帧经济中的结构矛盾
日期: 2026-06-01 状态: 完成
问题
Shepard 音阶同时具备两个互相矛盾的结构维度:
- chroma 圈: 每 12 步回到同一 pitch class(闭合)
- height 漂移: 每步上升 1/12 八度(开放)
人类听觉系统无法判定音阶是在上升还是下降——它永续上升却永不离开。这是听觉版的彭罗斯阶梯。
问题: Geruon 的帧经济如何处理这种结构矛盾?
方法
- 编码: D=4
[chroma_sin, chroma_cos, height_norm, octave_norm] - 参数: κ_τ=3, cap=16(标定默认值)
- 流: 24-30 八度,每八度 12 步
- 对照: 纯 chroma(height=0)、纯 height(chroma=0.5)
- 扫描: cooccur_window ∈ {6, 12, 18, 24, 36, 48, 64, 96}
- 固定 readout policy: R1-R8(已冻结)
结果
1. 相边界闪烁 — Shepard 的独有特征
Shepard 流中 Geruon 在 CRITICAL ↔ LOCKED 之间快速振荡(相边界闪烁),这在纯 chroma 和纯 height 中均不出现:
八度 0- 3: RESTING τ=0.63 帧快速形成
八度 3- 6: → CRITICAL τ=0.72 chroma 圈开始锁相
八度 6-14: CRITICAL τ→0.74 缓慢上升
八度 14: ⬡ 首次 LOCKED (τ>0.75, 步 175) ⬡
八度 15-21: CRITICAL ↔ LOCKED 快速振荡 (26 次相变)
八度 21-30: → RESTING τ 微降,系统"穿过"但未解决
异变点在八度 14(步 175)——系统首次无法维持稳定相态,进入边界振荡。
2. 窗口依赖性 — 悖论的结构分辨率
| 窗口 (步) | chroma 圈数 | ac12 (τ) | 闪烁次数 | LOCKED% | 悖论状态 |
|---|---|---|---|---|---|
| 6 | 0.5 | 0.000 | 32 | 9.4% | 太小,看不见圈 |
| 12 | 1 | +0.176 | 40 | 11.5% | 悖论最强 |
| 18 | 1.5 | +0.087 | 25 | 7.3% | 悖论强 |
| 24 | 2 | +0.197 | 19 | 5.6% | 悖论中等 |
| 36 | 3 | +0.498 | 13 | 3.8% | chroma 主导,悖论减弱 |
| 48 | 4 | +0.029 | 19 | 5.6% | 悖论中等 |
| 64 | 5.3 | +0.111 | 17 | 4.9% | 默认值,悖论中等 |
| 96 | 8 | 0.000 | 5 | 1.4% | 悖论消失 |
窗口=12(恰好一圈 chroma)悖论最大化——闪烁 40 次,ac12 存在但不压倒性。窗口=96(8 圈)悖论完全消失——chroma 沉入”旧闻”,系统只看到局部半音步进。
3. Geruon 的应对策略:过度锚定
和初始预期(τ 在两个维度间振荡)相反,Shepard 的 τ_final(0.7493)高于纯 chroma(0.7389)和纯 height(0.7454)。面对矛盾,系统不困惑——它过度锁住可预测维度(chroma 圈),用更高 τ 排斥不可预测维度的干扰。
| Shepard | Chroma-only | Height-only | |
|---|---|---|---|
| τ_final | 0.7493 (最高) | 0.7389 | 0.7454 |
| τ_ac12 | +0.632 (最强) | +0.612 | +0.620 |
结构张力不产生混乱——产生过度锚定。
结论
- Shepard 悖论在 Geruon 中产生可测的行为签名——CRITICAL↔LOCKED 相边界闪烁,区别于所有对照条件
- 悖论是窗口依赖的——仅在 cooccur_window 包含恰好 1-2 个 chroma 圈时可见。太小则无圈,太大则圈被淹没
- Geruon 的矛盾处理策略是过度锚定——抓住可预测维度,锁定排斥不可预测维度
- 这和人类知觉中的 Shepard 限制对应——人类也仅在特定音域窗口内体验永续上升
与 Escher/视觉的矛盾桥接
Shepard 是听觉版的彭罗斯阶梯。Geruon 的”过度锚定”策略预测了视觉 impossible figure 处理的同一行为:系统不会困惑,会锁住局部规律维度(每一步楼梯确实上升),忽略全局矛盾(楼梯闭合)。cooccur_window 对应视知觉中的注意窗口——决定结构矛盾是否在视野内。
脚本
experiments/shepard/_shepard.py— 主实验(含三条件对照)experiments/shepard/_shepard_phase.py— 相变分析与异变点检测experiments/shepard/_shepard_window.py— 窗口依赖性扫描