符号动力学——轨道即符号序列
上级:orbit · 前提:discrete-dynamical-systems
核心操作:不再追踪一个点本身,而是记录它的轨道依次落入哪些(有限个)区域,得到一条"行程"(itinerary);再把所有行程构成的空间本身当作一个动力系统来研究。
全移位(Full shift)
字母表 A = { 0 , 1 , … , k − 1 } A = \{0, 1, \dots, k-1\} A = { 0 , 1 , … , k − 1 } 。满 k k k -移位 是 Σ k = A N \Sigma_k = A^{\mathbb{N}} Σ k = A N (所有单向符号序列的集合),配上移位映射 σ ( x ) n = x n + 1 \sigma(x)_n = x_{n+1} σ ( x ) n = x n + 1 ——去掉第一个符号。度量:d ( x , y ) = 2 − min { n : x n ≠ y n } d(x, y) = 2^{-\min\{n \,:\, x_n \neq y_n\}} d ( x , y ) = 2 − m i n { n : x n = y n } ;两个序列越接近,说明它们共同的前缀越长。Σ k \Sigma_k Σ k 是紧致的,σ \sigma σ 连续。
有限型子移位(SFT)
固定一个 k × k k \times k k × k 的 0-1 转移矩阵 M M M 。SFT Σ M ⊆ Σ k \Sigma_M \subseteq \Sigma_k Σ M ⊆ Σ k 由所有相邻符号对都被允许的序列组成:M x n , x n + 1 = 1 M_{x_n, x_{n+1}} = 1 M x n , x n + 1 = 1 对所有 n n n 成立。(等价地:禁止有限多个词。)
两个精确的计数事实,使 SFT 成为可计算的对象:
词数: 长度为 n n n 的合法词数是 ∑ i , j ( M n − 1 ) i j \sum_{i,j} (M^{n-1})_{ij} ∑ i , j ( M n − 1 ) ij 。
周期轨道数: # { x : σ n x = x } = tr ( M n ) \#\{x : \sigma^n x = x\} = \operatorname{tr}(M^n) # { x : σ n x = x } = tr ( M n ) 。
拓扑熵
h ( σ ) = lim n → ∞ 1 n log # W n h(\sigma) = \lim_{n \to \infty} \tfrac{1}{n} \log \# W_n h ( σ ) = lim n → ∞ n 1 log # W n ,其中 W n W_n W n 是长度为 n n n 的合法词集合。对 SFT 而言,h = log λ max ( M ) h = \log \lambda_{\max}(M) h = log λ m a x ( M ) (Perron–Frobenius 特征值)。熵是共轭不变量中衡量轨道多样性的那一个:长度为 n n n 、彼此可区分的轨道片段究竟有多少。
一步步数:黄金分割移位
字母表 { 0 , 1 } \{0,1\} { 0 , 1 } ,禁止词是 11 11 11 (不允许连续两个 1):M = ( 1 1 1 0 ) M = \begin{pmatrix} 1 & 1 \\ 1 & 0 \end{pmatrix} M = ( 1 1 1 0 ) 。
长度为 n n n 的词数:W 1 = { 0 , 1 } W_1 = \{0, 1\} W 1 = { 0 , 1 } ,故 # W 1 = 2 \#W_1 = 2 # W 1 = 2 ;# W 2 = 3 \#W_2 = 3 # W 2 = 3 (00 , 01 , 10 00, 01, 10 00 , 01 , 10 );# W 3 = 5 \#W_3 = 5 # W 3 = 5 (000 , 001 , 010 , 100 , 101 000,001,010,100,101 000 , 001 , 010 , 100 , 101 );# W 4 = 8 \#W_4 = 8 # W 4 = 8 。这正是斐波那契数列 F n + 2 F_{n+2} F n + 2 ——而 M M M 本身就是斐波那契矩阵。于是
h = log λ max ( M ) = log 1 + 5 2 ≈ 0.4812 , h = \log \lambda_{\max}(M) = \log \frac{1 + \sqrt{5}}{2} \approx 0.4812, h = log λ m a x ( M ) = log 2 1 + 5 ≈ 0.4812 ,
即黄金比例的对数。周期点:tr ( M 2 ) = 3 \operatorname{tr}(M^2) = 3 tr ( M 2 ) = 3 ,即周期整除 2 的点有 3 个——分别是 00 ‾ \overline{00} 00 、01 ‾ \overline{01} 01 、10 ‾ \overline{10} 10 。✓(11 ‾ \overline{11} 11 被禁止。)
为什么这是通用的后端
编码就是一个从具体系统到某个移位的共轭(或半共轭)h ∘ f = σ ∘ h h \circ f = \sigma \circ h h ∘ f = σ ∘ h :
一旦完成编码,关于轨道的问题就变成了关于词组合的问题——可数、可验证、往往可判定;损失的恰恰是哪些 符号序列对应到你真正关心的那些点,这一层算术信息。