关于算法、物理与哲学中的时间观念整理
2022-06-13 / modified at 2024-06-01 / 3.4k words / 12 mins

在研究递归算法、分布式Raft的Term、语言中的因果关系与康德的先天综合中,都不可避免地涉及到时空观。本文依据历史时间线对主流观点进行整理。

疑问

  • 递归算法中的f(n)的n是否是时间计量,数组体现了什么?
  • 分布式系统中的“逻辑时间”是什么概念?比如Raft的Term,游戏里的逻辑帧
  • Docker/Git中的分层文件系统是否体现了时间性?

阅读事项

本文难度类似于综述,但是写作时间上更短,而且没有经过评议,因此不严谨

研究时间的规格

  • 时间/空间/介质/连续这些关系是什么?
    • 为什么我们感觉“物体运动了”
  • 时间是观念的(需要再次区分为“先验”和“后验”),还是客观实在的?
  • 时间是连续不可分的,离散的,还是完全可分的连续概念?

背景

关于无限小与广延的对比

  • 物理的点:比如德谟克利特的“充实”原子
  • 数学的点:没有广延,非实体,缺乏任何能动性,比如笛卡尔的看法
  • 形而上的点:比如莱布尼茨的”单子“,德勒兹讨论的“差异与重复”与“褶子”

语言中的时间

英语中的时间与tense

这个时间问题是我在口语课程中发现的,国内英语教材就是把问题复杂化,搞出16个时态,其实核心就是3个。

$2time均质的pedriodly是频率或者周期的,比如everyday/weekly/often/ususallyclock是时刻,颗粒度可能较宽,强调判定,比如last day/in 2020/last week/when I was young。综合的duration是时间区间,强调综合后的结果,比如since I was a boy/for 10 years

比如“last night, I found the problem while they were talking”. 这句话涉及到两个区间+一个点

中文中的时间

中文是图像语言,缺少动词的变形,或者完整的形式逻辑,对语境要求极高,但是意义表达上没有问题。

日文的时间

日文中语法上只有“现在”和“过去”,没有过于严格的区分。剩下同中文一样需要有语境才能区分。

物理与思考中的时间

牛顿前的时空观

这里在高中物理书已经讲过了,被认为是错误的观点,比如

  • 芝诺悖论:关于离散和连续的归谬论证
  • “运动是需要力才能维持”

休谟的复制原则(The Copy Principle)

休谟认为,我们通过感知变化来理解时间,时间只是大脑形成的感官体验 (sensory experiences)。

  • We never perceive time directly;
  • we only perceive a series of events or changes, and our mind constructs the notion of time from these sequences. Time is derived from experience.
1
外界(perceptions)->印象(impression)->观念(ideas)/时间(Time)

这里引入了观测者和参考系,对爱因斯坦的相对论产生了很大的影响。

莱布尼茨的单子论

它们知识事物的关系或规定,即使它们不被直观也依然属于事物吗或者空间与实践只属于直观的形式

牛顿的古典自然时空观

时间是一条流动的长河,用来测量物体在空间中的运动[1]。是绝对的、可逆转、机械、重复的时间。事件时序来自不可观测的绝对时间。

上述是万有引力(引力场)的基座,但是牛顿对公式中的超距作用感到不满。

牛顿在《自然哲学之数学原理》也定义了相对时空,但是并没有与绝对时空进行对立,而只是度量的标准。

康德的先验论

康德认为时间和空间都属于先天(a priori)直观(intuition)形式,是先验感性(a precondition for any experience):可以通过直觉(时间空间)来整理感觉,进而形成经验。我们所体验到的时间是被心智所施加出来(synthetic)的思考形式。但是康德本身没有讨论物理上的时间。

“在康德之前,我们可以说是我们位于时间之中;现在是时间位于我们之中了”

麦克斯韦电磁场

“场”的传递速度不是超距的,而是有限的,猜想电磁波速度和光速相等。

相对论中的时间

在狭义相对论中,不同的观测者将会对两个事件的同时性产生不同的认识。

在广义相对论中,物质告诉空间怎么弯曲,空间告诉物质怎么移动。

时间与运动总结

在空间上形成概念,在时间上形成事件(运动/变化/因果)

学派时间定义与事件的关系
休谟通过经验感知到的计量对象通过感知现象的变化,产生了时间的经验
莱布尼茨现象的存在形式在时间空间的事物并不是”单子“而是“现象”
康德是先验直观的形式(载体)运动借助时间的感性形式被实体化为现象,经过理性加工形成了对客体的经验概念
牛顿(true time)是实在性的,绝对的,均匀永恒的,超距的时空是独立于实体与运动的惯性坐标
狭义相对论是平坦客观的与观察坐标有关
广义相对论场物质告诉空间怎么弯曲,空间告诉物质怎么移动时间/空间/引力场/运动的界限更加模糊

上述精神层次的认识论有适用的地方,不能用“物理方程”代替一切,因为物理不能“将时间和空间纳入自己的内心”。

金融中的时间

在金融市场中,时间是有价值的。比如期货(Futures),期权(Options),债券(Bonds)与衍生品(Derivatives)。面向普通人的

  • 特殊理财: 比如收益凭证一般是指数看涨期权。
  • 正股EPS: 体现了长期价值。
  • 债券: 发行是约定的票面价(Face value)和当前实际的市场价(Market value)
  • 房地产里的期房

时间与空间(spacial)

在惯性物理场景,比如在计算方块阻力时,我们会建立二维坐标系,用二维空间运动的t坐标来指代时间,即用空间来想象时间,用运动本身来代替运动。

CS&EE领域的时间

芯片中的时序

时刻的时钟:时钟通过晶振(外频)与PLL电路(倍频)实现,这个一般是通用的IP实现。

时序的时钟:在主流的同步电路中,要求所有逻辑在某个频率内保持一致。在芯片设计的开始,比如算法与逻辑电路阶段是没有时间概念的,只有激励。而经过综合(synthesis)后,将会生产网表(netlist)电路,这里开始涉及到物理电路的偏移,需要使用Primetime等工具进行静态时序分析(STA)进行修正。

上述也就意味着,对于芯片内的观察者,在某个频率精度下是共享了相同坐标系,是绝对的时间。

此外还有频域维度,但是本文不讨论。

Docker/Git中的时间

在Docker或者Git中,通过类似LogEntry的元数据数组(manifest.json)来维护某个时间的动作。比如Docker面对用户时,是一个综合的快照,然而底层使用了分层的联合文件系统(UnionFS,比如overlay2)。这种类似“帧”的增量的方式是典型的牛顿自然时间,用数组的空间延伸来指代时间的度量。

算法中的时刻与积分

假如有如下物理路径

1
某小车在t=0s时位置为3,以速度为2m/s开始运动,求t=8的移动位置。

在抽象中,我们一般将时刻抽象为空间(比如数组/全局变量)并放入笛卡尔坐标,有如下两个方案

  • 使用推导后的牛顿积分公式,即f(t)=3+2t,它支持无限小的时间,但是属于谓词演算,只有发明了微积分的牛顿与莱布尼茨才能理解含义,普通人只能记忆推导后的公式。
  • 不考虑无穷小,而是用每个时刻下的离散的高度的累加(比如while循环)
1
2
3
4
5
6
7
8
9
10
int now = 0;
int currentSnapshot = 3;
int digest(int t){
while(t < now){
currentSnapshot += 2; // 这里支持非匀速运动,只要精度够高s
t++;
}
return currentSnapshot;
}
digest(8);

不要小看上文的while循环,当问题变复杂时(比如多个汽车实时变速,有状态函数),谓词演算逻辑是难以实现的。

分布式下的逻辑时间方案

分布式系统中需要处理的核心问题就是达成共识。这里很多技术文章采用“相对论”来类比问题,然而“相对论”讨论并不是“如何达成主观的共识”,更建议借助康德的思考来理解这个问题。

假如有A,B两个节点,A通过接口发送(pull/push均可)给信息给B,在这个过程中

  • 时间是主观先验的分析形式,只能由当前主体B进行感知
  • B需要借助感官(即API接口)去获得客体A的感觉材料,才能形成感性的认识
  • 因果(时序)范畴是以上述感性认识为材料进行知性范畴化,才能得出的
  • 上述A与B可以互换,相互间感知的通道是封闭的

因此,A和B间的时间与因果关系必然是主观相对的,要想达成共识,必然需要打破感知通道的边界,实现统一的时间坐标。那么时间如何绝对统一呢?

技术方案时间定义全局结果
不进行处理先验直观形式主观相对,没有共识
全局NTP同步客观永恒的绝对时间绝对同步延迟,感官动作的延迟;因此共识会延迟
逻辑时间降级为感官要素虽然反直觉,但是时间可感知了

逻辑时间[2] 的概念。可以用联网游戏的“逻辑帧“(Lockstep)”来进行对比。这种

一般有三种方案

  • Scalar(Lamport):用自增数字作为时间,拒绝比自己小的ID,被Raft采用。实现了相对序列的一致。
  • Vector:比如DynamoDB,微信。相对第一个加了视角的广播,类似Gossip。
  • Matrix

具体slider参考这里,详见Lamport的算法

总结

  • 抓住形式(介质),这些介质是客观的还是主观的,是否有超距作用?

附录

脑洞

如何在多台卫星间实现RAFT?

其它学派的时间

详见这里

亚里士多德的时间观

时间是衡量变化的尺度,是一种综合的观念。涉及到芝诺悖论( Zeno of Elea )。

德勒兹的被动综合

在德勒兹的《反俄狄浦斯》与《差异与重复》中,时间具有多重性(multiplicity),强调坚实性(consist)与共存(togetherness)。传统的牛顿式时间观是以自我中心主义(先验的主体主义),而德勒兹认为过去在本体中共存[3]。他的观点与柏格森类似,只不过术语为”层化“。

海德格尔的操劳(Sorge)定义

海德格尔(《存在与时间》的作者)以时间关系代替实体,它不是固定的存在物,而是操劳(Sorge)的动态。存在本身是绽出的(stand out)。这里引入了“观测者”,“存在”和“此刻的存在”,类似时间上的投影。

贝尓纳的“第三持存”定义

贝尔纳·斯蒂格勒在《技术与时间》提出了第三持存的概念

柏格森的duration时间分类

个人理解举例:

  • 机械的时间:牛顿时间,两米的线条可以通过拆解分为两个一米的线条,此操作是可逆的,体现了空间的广延属性;类似的,我们通过观测铯原子钟震动周期来定义秒,它是均质的,也体现了时间的广延属性。
  • 有机的时间:Duration,或者称作有機時間[4]指代时间的不可逆性,它是难以均质分割为帧的,是意志的绵延,被柏格森称作潜在,比如语言系统。

许煜的“技术时间”

详见“作为客体间关系的时间”章节

  • 时钟时间
  • 逻辑时间
  • 拓扑时间

我的个人理解

从古希腊到近代再到现代,大部分科学领域都是“整体直觉主义-还原主义-整理主义(复杂系统)”的思考图式。中国由于历史文化等因素,缺少了“还原主义”,导致时间认知上有不同。

参考

https://neu-reality.com/2019/11/absolute-time/

https://mephilosophy.ccu.edu.tw/entry.php?entry_name=時間


  1. 《康德时间困境及杜威的实验主义破解》"-钱晓东 陈亚军

  2. https://lamport.azurewebsites.net/pubs/time-clocks.pdf " Time Clock"

  3. 《千高原导读》主体概述-P18

  4. 有機時間,即「綿延」〔durée〕,不能只是被當作空間中並排的展延(extension)來理解,它其實是包含有機形態的異質性,或質的多樣性(qualitative multiplicity)《機器與生態學 Machine and Ecology》·許煜