从计算观点开始……(草稿)

  • 孤立物理体系

所谓孤立物理体系,是指这个体系完全不受其他体系影响,体系的可能状态由体系自身的物理规律所决定。假定为体系选择的一组状态参数的所有取值构成的集和为S,那么物理规律就限定了这个集和中那些状态是物理规律所允许的,相当于是对集和S的一个约束。可以记为:
K[s], s\in S
其中,K是一个判断,K[s]为真当且仅当状态s\in S是物理规律所允许的。
将所有这样的状态构成的集合记为K[S],显然有K[S]\subseteq S
如果我们的状态参数选取得非常好,参数空间中每一个参数都对应一个符合物理规律的状态,我们就全知了。可惜我们做不到,我们所选择的状态参数所构成的参数空间总是远大于物理规律所允许的状态集。退而求其次,我们希望找到一种等价关系,这种等价关系将状态空间划分为若干个等价类,所有物理规律允许可以共存的现象事件都仅仅属于其中一个等价类,而这个等价类也仅仅包含物理规律允许的现象事件。这样,我们只要找到了这个等价类中的一个代表状态,就可以确定整个等价类。这就是通过初值条件或者边界条件来求解物理体系的方法。

一个简单的例子:一个沿直线匀速运动的粒子,其状态由(x,t)标记,运动方程为x=v t+x_0,那么仅当(x,t)满足这个运动方程时,我们才认为由(x,t)所标记的状态才是物理规律所允许的状态。这个例子中所有物理规律所允许的状态的集和刚好构成了粒子的世界线。再举个一维经典标量场的例子:场A的状态由函数A(x,t)决定。仅当(A,x,t)满足场方程\frac{\partial^2 A}{{\partial t}^2}-\frac{\partial^2 A}{{\partial x}^2}=0和某个边界条件(例如初始条件A(x,0)=A_0(x))时,我们才认为A(x,t)是物理规律所允许的状态。

但上述模型对于物理学家来说只是运动学(Kinematic)模型,只有当你了解了宇宙状态的所有细节才能给出这个运动学方程,而这些细节恰恰是我们希望能够通过方程预言的。换言之这种抽象的运动学模型没什么用。物理学家希望的是:当我了解了宇宙局部的某些信息之后,我可以通过这些信息推算出另一些局部甚至全局的信息。这就要求我们建立所谓的动力学(Dynamical)模型。如果我们知道了宇宙的全部运动学信息,那么动力学模型总是可以导出的,但我们了解到的只是一些局部的信息。

以一维匀速直线运动为例,当我们知道了某个(x_0,t_0)是合法物理状态,那么从动力学方程\frac{dx}{dt}=v就可以推算出其他的合法物理状态,这个方程告诉我们,如果(x_0,t_0)是合法物理状态,那么(x+dx,t+dt)要满足什么条件才是合法的物理状态。也就是说,该动力学方程给出了(x_0,t_0)(x+dx,t+dt)必须满足的关系,积分后就可以得出(x_0,t_0)和任意(x_1,t_1)的关系。物理学的动力学视角写成数学方程就是:
D[S_0,S]=K[S],~where~S_0\subset K[S]
限定了S_0和K[S]必须满足的关系。显然,最平凡的情况是S_0=K[S],但物理学家希望从一组尽可能小的S_0出发,通过D能够得出整个K[S]。比方说匀速直线运动的例子中,从任何一个单独的(x_0,t_0)就可以得到所有合法的物理状态。而在上述的一维经典场论中,单独的一个(A,x,t)是得不出所有合法物理状态的,必须了解一组状态,比方说了解t为某个定值的时候所有x对应的A(初值问题),或者了解曲线f(x,t)=0上所有的A(边值问题),或者了解曲线f(x,t)=0上所有的\partial A/\partial t, \partial A/\partial x(边值问题)。

在经典绝对时空观之中,时间是一个非常特殊的状态参数,所有其他的状态参数都可以写成时间的函数,对于实数、复数、向量、张量等形式的物理量,都可以表达为时间的函数,对于许多物理问题而言,我们都可以根据初值来决定今后的演化:
D[K[S]|_{t=t_0}, S]=K[S]
这样一来,这就是所谓经典的机械决定论的视角。进一步,我们可以把这种方程写成关于时间的演化方程:
K[S]|_{t^+}=F[K[S]|_t]
如果模型中的时间是连续的,那么可以直接表达为微分方程,令s(t)=K[S]|_t
\partial s/\partial t=f(s,t)
在相对论之中,时间不再具有特殊地位,不同参考系也没有一个标准时间,但大家仍然希望能够在时间上做出预言,一个办法是给出物理量在某个完整的类空超曲面上的值,以至于所有的类时世界线都会与这个类空超曲面相交,就可以决定整个时空流形的物理量了。

另一方面,最初用来标记系统状态的状态参量可能具有若干对称性……(待续)

虽然真正的孤立体系要求完全不受外界影响,以至于这样的体系不能从外部通过相互作用来观测,但最初人们认为我们总是可以设法在技术上降低观测对体系的影响,使被观测的体系几乎跟孤立体系没有区别。但近代物理学让人们改变了这种想法,当我们对被观测体系的了解越来越精细,就不得不越来越多地与之相互作用。这种情况下我们需要的是一个相互作用的理论模型,而不是一个孤立体系的理论模型。……(待续)

量子力学实验中往往把宇宙划分为3个部分:被测系统S,观察者和仪器O,环境E。通常要求S只跟O相互作用,但不允许受到E干扰。量子力学的原理体系中扣掉测量原理,描述的就是一个孤立体系的演化。本来应该能够通过孤立体系的演化方程得出一个相互作用的方程,然后计算出观察者观察被测体系将会得到什么结果,但最初大家不知道怎样算,没人会求解整个宇宙的Schr?dinger方程。于是物理学家从实验中得到了一条经验规律:测量原理。遗憾的是测量原理被上升到了量子力学基本原理的地位,引发了Einstein和Bohr旷日持久的争论。到了近代人们逐渐发现测量原理在许多条件下是可以导出的,而且导出的结果比测量原理所给出的细节更多。

————(可逆性、对称性、熵增、可观察量、规范……)

————(引入动机的数学模型,然后是偏好的评价函数,心理,行为,经济,博弈,生态系统,社会……)

  • 开放的物理体系,相互作用

一个孤立体系可以被人为地通过边界划分为两个子系统,这两个子系统通过边界发生相互作用。每一个子系统的所有合法状态自然仍然由整个系统的运动学方程所谓一决定,但我们需要的是得到其中一个子系统的方程,这个方程只跟这个子系统的状态以及另一个子系统在边界上的状态有关……(待续)

  • 孤立机器

所谓孤立机器,就是指这样一种东西:其任意时刻的状态演化方式完全取决于该时刻的状态。
将孤立机器的状态记为S,时间记为t,后继(Successor)时间记为t^+(比方说在t连续的情况下,t^+:=t+dt,离散情况下t^+:=t+1),演化规律记为U,那么上述定义相应的数学模型为:
S(t^+) =U[S(t)]
经典力学中的Hamilton方程就是描述这种孤立机器的方程。在Hamilton力学中,体系的状态用所有粒子的位置和动量来标记,而Hamilton方程则决定了体系状态的演化机制。
(p,q)(t+dt) = (p,q)(t) + \left(-\frac{\partial H}{\partial q}, +\frac{\partial H}{\partial p}\right)dt
还有量子力学方程\left| \psi (t) \right\rangle = e^{-\mathrm{i}H t}\left| \psi (0) \right\rangle,此时U = e^{-\mathrm{i}H t}

  • 机器

所谓机器,就是指这样一种东西:

  1. 跟环境之间有一个分界线
  2. 环境在边界上的状态作为机器输入可以改变机器状态
  3. 机器在边界上的状态作为机器输出可以改变环境状态
  4. 任何时刻其行为和内部状态的变迁完全由该时刻的内部状态和环境输入唯一决定

如果环境也是一台机器,那么可以将环境的状态记为E,那么相应的数学模型为:
S(t^+) = U[S(t), \partial E(t)]
E(t^+) = U[E(t), \partial S(t)]

孤立机器是机器的特例,如果将环境和机器当作一个孤立整体,那么它又会变为一台孤立机器:
(S,E)(t^+) = (S(t^+),E(t^+)) = (U[S(t),\partial E(t)],U[E(t),\partial S(t)]) = U[(S,E)(t)]
如果把系统作为一个整体考虑,那么无论在机器和环境之间如何划界,对结果都是无影响的。

  • 离散的孤立机器

所谓离散的机器,就是上述孤立机器定义中,状态变迁是按步骤跳变的,具有可数内部状态。
对于这样的机器,我们可以用步骤编号i代替时间t,用i+1代替t^+。于是其数学模型为:
S_{i+1} =U[S_i]

  • 离散的机器

所谓离散的机器,就是上述机器定义中,状态变迁是按步骤跳变的,具有可数内部状态,对环境输入的分类能力也是可数的。
这样一台机器,其时间由步骤标记,记为i,于是:
环境从边界给机器的输入记为\partial E_i,机器从边界对环境的输出记为\partial S_i
S_{i+1} = U[S_i, \partial E_i]
E_{i+1} = U[E_i, \partial S_i]

  • 有限状态机器

如果离散的机器的状态数量是有限的,而且只能对环境输入做有限种分类,就叫做有限状态机器。但环境的状态可以是无限的,我们利用有限的时间和资源能够制造出这种机器。图灵机就是一种这样的机器。

  • 图灵机

图灵机是一台有限状态的机器,对于图灵机来说,其环境就是一条无限长的格子纸带(因此环境拥有无限种状态),这个纸带的每一个格子都存贮一个符号,符号的种类是有限的。每一个步骤中,图灵机停泊在纸带上一个特定的位置,可以从这个位置读取符号,然后根据自身状态和读取到的符号唯一地作出一个动作,动作包括向当前位置写入一个符号,然后向左或向右移动一个格子,将自身状态迁移到新的状态。

除此之外,图灵机有一个特殊状态:起始状态,作为每一次执行计算任务的过程的初始状态。还有一组状态作为结束状态,其中一部分被标志为接受,另一部分被标记为拒绝,表示计算任务执行的后果。

可以证明,凡是能够用有限状态机器完成的计算任务,用图灵机都可以完成。还有人进一步证明,通常的神经网络计算模型的计算能力完全等价于图灵机,所谓通常的神经网络计算模型是指这样的神经网络:每一个神经元仅仅有有限种(典型是两种)兴奋状态。

但物理系统经常不是有限状态机器,因此不能简单地说所有的物理系统都等价于图灵机。但是,如果一个由连续参数描述的物理系统,如果对于人类来说可以通过物理量来区分的状态是有限的(比如由于热噪声的存在导致的测量误差),那么这个物理系统对于人类来说计算能力就并不比一个有限状态机器更强。

Feynman路径积分实际上就是传统光学的Huygens-Fresnel原理

Feynman路径积分和Huygens-Fresnel原理都可以用Green’s Function和Fourier transform进行计算。

不道德的蚊子#非正常人类对话系列#

『这里所说的#非正常人类#是哪种人?就是特指那些因为闲的蛋疼以至于会为了一点点鸡毛蒜皮的小事就煞有介事地深入分析动辄上升到三观高度的童鞋们。另一方面他们的行为也并非不可理解,他们爱好思考就像许多人爱好音乐、运动、美食、旅游一样,只是人群中像他们那样喜欢深入思考刨根问底的个体很少,所以才显得很不正常。』

甲:MD,昨晚又被叮了一身包,这些可恶的蚊子太缺德了。

乙:是啊,蚊子让人无法理解,非要偷别人的血喝,完全没有自己劳动创造食物的觉悟。

甲:他们怎么会有觉悟,他们天生是蚊子,靠本能支配,不吸血会饿死。

乙:哦,原来如此!如果我是只蚊子,宁可饿死也决不干偷偷吸血这种缺德事儿。

甲:所以像你这样的蚊子都死光了,活下来的蚊子都偷偷吸血。

乙:对,这些蚊子显然道德败坏,根本不懂舍生取义的道理。

甲:你真会说笑,它们只是受本能支配,又没有选择的自由,谈不上道德不道德。

乙:你不是说它们偷别人的血很缺德么?

甲:那只是因为我昨天被叮惨了,发泄下情绪而已。

乙:它们出于生存本能咬了你,你就骂它们缺德,有点不厚道吧。

甲:呵呵,是啊,毕竟蚊子不是人。

乙:人偷东西为什么就缺德呢?

甲:因为这伤害别人。

乙:蚊子也伤害了你。

甲:这不一样,蚊子出于生存本能,没得选。

乙:人偷窃别人的东西都是有的选的?

甲:那当然,人有选择的自由。

乙:大家都有选择的自由,为什么有些人会选择偷?

甲:他们人品不好。

乙:为什么有些人人品不好,另一些人人品好呢?

甲:可能的原因很多,说不定跟小时候生存的环境和教育有关,说不定跟基因中的某些东西也有关。

乙:这些东西能选么?

甲:……不能选。

乙:既然不能选,也就是说一个人品不好的人之所以成为人品不好的人,并不是他能够选择的。

甲:……未必吧,好像有些人会选择努力避免自己成为人品不好的人,而另一些人不会。

乙:为什么有些人会选择努力避免自己成为人品不好的人,而另一些人不会?

甲:因为……他们人品不好……哦,我又绕回去了。……应该还是跟他们的经历有关,比如环境、教育、基因等等。

乙:既然如此,仍然不是他们自己可以选择的。

甲:……好吧,我知道你的意思,你的意思是说一个人选择做坏事,跟他的人品有关,而恶劣人品的形成并非是他能够选择的。

乙:难道不是么?

甲:但是按照你这种说法,那么世界上的坏人就都没有罪过了,一个人做坏事也不应该受到惩罚了,法律和道德也就不存在了。

乙:为什么?

甲:因为人没有自由。

乙:为什么没有自由?另外为什么没有自由就不需要对自己做过的坏事负责?

甲:没得选,自然就没有自由。没有自由,那么坏人就是命运安排的,既然是命运安排的,那么坏人也就没有什么责任了。

乙:蚊子也没得选,你为什么还要打死它?

甲:……我难道任由它吸我的血?

乙:坏人没得选,难道别人就得任由他们作恶?

甲:不对,这个逻辑得原回来,蚊子咬我没得选,但我打蚊子也没得选。

乙:这不就结了,坏人作恶没得选,其他人惩罚坏人作恶也没得选,所以不存在什么『坏人不需要对自己的罪行负责这种事情』。

甲:怎么讨论讨论就变成宿命论了?

乙:什么是宿命论?

甲:就是那种一切都被命运安排好,任何人都没有选择的自由,只能被命运摆布的世界。

乙:不对啊,许多人不都在努力改变自己的生活么。

甲:但无论他们怎么努力,结果都是一样的,所以是白费功夫。

乙:努力的结果是宿命,努力本身也是宿命,既然都是宿命,当然谈不上什么『白费功夫』。如果努力本身不是宿命,是可以选择的行为策略,那么努力的结果怎么会是宿命?难道命运只安排你最终的归宿而不安排你之前的经历么?

甲:……恩,好像确实如此,命运不仅安排人生的归宿,也限制人生的经历。但宿命总是一个令人不爽的东西。

乙:宿命至少让你对失去自由不爽了。但我看不出你在谈到宿命论之前和谈到宿命论之后有什么区别,为什么经过这么一个短短的思考你就『突然间』失去了自由?

甲:……并不是我『突然间』失去了自由,我从来就没有过自由,但之前我以为自己有自由,那只是一种幻觉。即使是现在我跟你所说的每一句话也都是安排好的。

乙:既然如此,你的现状并没有什么真的改变,为什么你要变得沮丧?当然,你可以说你变得沮丧也是命运安排的,但我的命运就没有安排我对这种事情感到沮丧,而且你也并不能精确预测十分钟以后命运是否会安排你继续沮丧下去。

甲:你说的对,我不知道命运是如何安排的,说不定十分钟以后我的状态会有所改变。虽然命运是决定了的,但我并不能准确的预测我的命运。

乙:没错,即便一切都已经决定,也不意味着任何人有能力预测它。如果你能够预测命运,那么你这样做也不过是被命运安排好的,至于你的预测结果是否符合真正的命运,照样是由命运决定而不是你来决定的。

甲:说不定有人不是被命运安排的,他们可以预测。

乙:如果有人可以预测,并且可以把结果告诉你,那么至少你关于未来的知识就不是被命运安排好的。否则即便有人可以预测也无法改变你的知识,因此对于你这种被命运安排的人来说,你的知识也是被安排好的。而如果你的知识改变了,除非你的行为从此完全不听你的控制,否则你的行为就会因为你知识的改变而改变。

甲:……

对话——人生的意义#非正常人类对话系列#

『这里所说的#非正常人类#是哪种人?就是特指那些因为闲的蛋疼以至于会为了一点点鸡毛蒜皮的小事就煞有介事地深入分析动辄上升到三观高度的童鞋们。另一方面他们的行为也并非不可理解,他们爱好思考就像许多人爱好音乐、运动、美食、旅游一样,只是人群中像他们那样喜欢深入思考刨根问底的个体很少,所以才显得很不正常。』

甲:人生的意义是什么?

乙:谁的人生对谁的意义?

甲:不管谁的人生,也不管对谁的意义。

乙:那你先告诉我x+3等于几。

甲:x等于几?

乙:不管x等于几。

甲:x+3等于x+3。

乙:那人生的意义就是人生的意义。

甲:靠。

乙:张三的人生对李四的意义,取决于李四认为张三的存在对自己有什么价值,也就是张三的存在能够在什么程度上满足自己的意愿。

甲:比方说呢?

乙:比方说张三是李四的孩子,李四认为张三是自己生命的延续,那么张三对李四的意义就是延续生命。再比方说张三是李四的偶像,让李四觉得这个世界更加精彩,那么张三对于李四的意义就是让世界更加精彩。再比方说张三是李四的亲戚朋友,让李四觉得自己不孤独,那么张三对李四的意义就是让李四感觉到关怀和温暖。再比方说张三是李四的敌人,让李四感到仇恨,那么张三对李四的意义就是仇恨的对象……

甲:好了,例子够多了。但我还是想知道,意义的对象必须是一个人么?比方说我能否谈论我的人生对这个世界的意义?

乙:你这个世界是什么意思?是指人类社会,还是指整个宇宙?

甲:随便什么吧。

乙:你能告诉我这个『世界』它有什么意愿?

甲:不知道,应该没有吧。

乙:如果没有任何意愿,自然也就不可能在任何程度上实现意愿,谈论任何东西对一个没有意愿的对象的意义都是有语病的。

甲:……看来的确如此。如果是对人类社会的意义呢?人类社会在某种程度上是有意愿的吧?

乙:人类社会的意愿是什么,这本身就是一个没有明确答案的问题。比方说有人认为权力颠峰的人的意愿可以代表人类社会的意愿,或者舆论导向代表人类社会的意愿,或者认为延续种群基因才是人类社会的意愿,或者认为每一个人的意愿全部集合起来就是人类社会的意愿……,不过我们不必关心具体的答案,随便选择哪一种作为人类社会的意愿,你都可以回答某个人对这个意愿的实现有什么价值。当然,也有人认为人类社会不是一个可以谈论『意愿』的对象,因此无法谈论任何东西对人类社会的意义。

甲:……恩,我明白了。不过看来谈论一个人对人类社会的意义也没什么意思,就算我的人生对这个世界有意义,也不等于对我自己也有意义。我更想知道我的人生对我自己的意义。

乙:你的人生对你自己的意义,这个问题的具体答案只有你自己才知道。如果你想实现任何意愿,前提条件都是你活着——如果死后不能实现任何意愿的话——,于是你活着对于你实现任何意愿都是必要条件,在这个角度上你的人生对你自己的意义就是它是你实现任何意愿的必要条件。如果你压根就不想活着也没有任何其他意愿,那么你的人生对你就没什么意义。

甲:不过我想知道的恰恰是我为什么活着,这似乎陷入了一个死循环:因为人生有意义我才想活着,但只有我想活着人生才能有意义。反过来不想活着的话人生也就没有意义,人生没有意义还何必想要活着呢?严重纠结……

乙:你确定是『因为人生有意义』你才想活着么?

甲:难道不是么?如果没有意义我为什么要活着?

乙:那么,如果最终的答案就是『人生就是没有任何意义』,你会毫不犹豫立即自杀么?

甲:……应该不会吧,但即便不想活着,也没那么想死吧?

乙:但问题是为了活着你要做很多事情啊:打工赚钱、买米买菜、洗衣做饭、睡觉起床……你不想活着干嘛要为了活着做这些事情?

甲:……吃饭是因为饿了,睡觉是因为困了,虽然我并不想活着,但饿了困了毕竟是件不舒服的事情,而且自杀要忍受巨大痛苦吧,我毕竟还不愿意忍受那么大的痛苦。

乙:看看,上面这些理由即便不是你活着的全部原因,也至少是部分原因,为了避免『不舒服』你还是选择了继续活着。我再问你:如果人生没有意义,而且有一种自杀的方法非常方便且没有痛苦,你会毫不犹豫立即自杀么?

甲:……可能会的,我有时候觉得活着也挺累的……

乙:既然活着挺累的,你压根又不想活着,那么你的最佳策略是研究一下怎么死才能方便无痛苦,并且付诸实现才对,你去做了么?

甲:……说实话我还真的研究过,但我总觉得不甘心。如果人生是有意义的,死了岂不是白死了。活着可以做许多选择,至少还可以选择死,但死了就万劫不复了。

乙:看看,又找到一条让你活着的原因:『有机会做选择』,你现在已经有了若干条活着的理由了。

甲:……算是吧,但我总觉得这些理由还不够充分……

乙:怎么不充分,这些理由一直让你活到现在。

甲:难道人活着仅仅是为了吃喝拉撒睡娶媳生子并且有选择可以做么?这样的人生跟猪狗有什么不同?

乙:这完全是你的自由。你可以仅仅为了这些意愿活着,你也可以不仅仅为了这些意愿活着,关键是你有什么意愿。另外,干嘛要瞧不起猪狗呢?你不愿意就不那样活好了。

甲:不那样活着还能怎样活着呢?

乙:除了吃喝拉撒睡,你还有其他的爱好么?比方说看电影电视、听音乐、打球、跑步、开卡丁车、美食、泡妞、赌博、偷东西、杀人放火搞破坏、反人类……

甲:靠,反人类都行啊。确实还有些其他的爱好,但我不知道这些爱好又有什么意义。

乙:反人类行不行是另一个话题。这些爱好的意义不就是让你感到满足么?跟吃喝拉撒睡一样,既然你可以为了舒服而吃喝拉撒睡,干嘛不能为了满足而追求这些爱好呢?

甲:我有点明白了,你是不是说人生的意义不是个好问题,我想知道的实际上是我到底想要什么,我应该怎么做。

乙:没错,这才是恰当的问题。而且获取这两个问题的答案,别人只能提供帮助,只有你自己才能做出判断。

甲:我想要的东西很多,我能得到的却很少,这让我很苦恼。

乙:所以你得弄清楚自己真正想要的到底是什么,做出取舍。比方说你喜欢看热闹,更深的原因可能是为了满足好奇心,而满足好奇心未必只能通过看热闹这一个途径。

甲:我明白了,你的意思是说某些需求可能仅仅是为了满足更深层的需求,对吧?

乙:是的。追溯自己每一个动机的根源,也是一种内省的方式。

甲:如果这样追溯下去,会不会又一次陷入无限循环?

乙:有些需求并非源于更深层次的需求,比方说食欲性欲求生欲好奇心之类,这些需求并非以满足其他需求为目标,这些需求可以称之为原始欲望。但这是另一个话题了。

甲:……看来的确如此。如果人生就是为了满足那些欲望,那吸毒岂不是更加直接快速?

乙:你会去做么?为什么?

甲:我不会,那是罪恶的,我不想过那样的生活。

乙:你如果已经开始吸毒,你的想法说不定会改变。

甲:嗯……可能吧,但我现在并不想过那种生活的。

乙:是的,其实你根本不需要知道已经吸毒之后想法是否会变,你只需要知道你现在并不想要过那种生活,就好像你根本不需要知道你死后还想不想活着,你只需要知道你现在想要继续活着。

甲:确实如此,但选择不吸毒的理由仅仅是这些么?

乙:你当然可能有许多其他的更加具体的理由,但你的意思是不是想找到无论在什么情况下都坚决拒绝吸毒的理由?

甲:这难道也有问题么?

乙:如果你病入膏肓,勉强维持生命却必须忍受比千刀万剐还要巨大的痛苦,什么事情也做不了,你也宁可这样痛苦地死去也拒绝使用毒品来在生命的最后一刻得到解脱么?

甲:……这我还真没考虑过,这种情况下我可能不会拒绝毒品吧,不过这也太极端了。

乙:无论在什么情况下都坚决拒绝毒品更加极端。

甲:……看来确实如此。我原来误以为毒品是万恶的,任何人任何情况下都绝不应该沾的东西。

乙:你原来的想法也未必是错的。

甲:我不明白,你好像自相矛盾了。

乙:因为脱离评判对错的标准谈论对错就跟脱离关心意义的主体谈论意义一样,而这又是另一个话题了。

甲:靠,你又来了~~

有限的人生能飞多远——随手算算

给你一艘飞船,你在有限的人生中能够探索多么遥远的未知世界呢?

如果你了解一点狭义相对论,你可能会回答能够探索的距离不会超过光在人生中走过的距离,因为光速是速度的极限。且慢,别忘了你自己就是旅行者,你能够飞多远取决于你亲身经历的时间(称为固有时间:proper time),而不是取决于你在某个惯性系中经历了多长时间。

当你相对惯性系S以速度\beta\beta=v/c,今后如果不加说明,我们全部采用c=1单位制,这种单位制下\betav完全相等)前进的时候,你的固有时间d\tau跟惯性系S的时间dt的关系是d\tau=\sqrt{1-\beta^2}\;dt

首先,我们必须给出固有加速度恒定的情况下\betat的函数关系,注意,\beta=a t是完全错误的,这是非相对论的匀加速运动的公式。相对论的速度变化比较复杂,为了避免过于冗长的计算,我们采用固有速度(proper velocity)的绝对值:快度\etarapadity),与\beta的关系是:

    \[\beta=\tanh(\eta)\]

采用快度\eta的好处是可以它直接相加。相对论的速度相加公式很繁琐,但你可以把若干个要相加的速度都变成相应的快度,把这些快度简单的加起来,然后再变换回速度,就可以得到正确结果。对于在t=0时刻开始的以恒定固有加速度a的加速过程,刚好有跟经典力学中匀加速运动类似的公式:

    \[\eta=a \tau\]

于是,现在就可以计算惯性系S中的时间t和做恒定固有加速运动的固有时间\tau的关系了(具体的积分运算过程略,有兴趣的同学可以用Mathematica验证一下):

    \[\begin{array}{ll} \displaystyle t&\displaystyle=\int\limits_{0}^{\tau}\frac{d\tau'}{\sqrt{1-\tanh(a \tau')^2}}\\ &\displaystyle=\frac{\sinh(a\tau)}{a} \end{array}\]

    \[\displaystyle\tau=\frac{\sinh^{-1}(a t)}{a}\]

经过固有时间\tau,做恒定固有加速运动所达到的速度是\beta=\tanh(a \tau),所走过的路程是:

    \[\begin{array}{ll} \displaystyle s(\tau)&\displaystyle=\int\limits_{0}^{t(\tau)}\beta(x)dx\\ &\displaystyle=\int\limits_{0}^{t(\tau)}\tanh(sinh^{-1}(a x))dx\\ &\displaystyle=\int\limits_{0}^{t(\tau)}\frac{a x}{\sqrt{1-a^2 x^2}}dx\\ &\displaystyle=\frac{\sqrt{1+a^2 t(\tau)^2}-1}{a}\\ &\displaystyle=\frac{\cosh(a \tau)-1}{a} \end{array}\]

a \tau很大的时候,\displaystyle\frac{\cosh(a \tau)-1}{a}\rightarrow\frac{\exp(a \tau)-2}{2 a}

也就是说,你可以到达的距离是你寿命的指数函数。

为了有一个感性认识,我们计算一下当你以地表的重力加速度g持续加速,花一段时间能够到达多远的地方:g=9.8m/s^2,转换到c=1单位制,1s=3 \times 10^8mg=9.8m/s^2=3.27\times 10^{-8}/s=1.0323/y(很巧,地球表面重力加速度g的数值差不多刚好是一倍光速每年),于是:

    \[\begin{array}{ll} \displaystyle\frac{\cosh(a \tau)-1}{a}&\displaystyle=\frac{\cosh(1.0323/y \times 1y)-1}{1.0323/y}\\ &\displaystyle=0.5636y \end{array}\]

你只需要经历1年,就可以到达0.5634光年远的地方,只需要10年,你就可以到达14684光年的地方,如果你能活到100年,就可以到达3.167\times 10^{44}光年的地方,现代宇宙学所估算的宇宙半径也不过上百亿(10^{10})光年。

我们现在再来算算,如果你的飞船总质量为m,采用反物质发动机,将所消耗掉的质量全部转化为光子发射出去,利用光子的反推实现加速(这是理论上最高效的推进方式),这种情况下想要让你的飞船产生大小为a的固有加速度,你需要以多块的速度消耗飞船上的物质。

由于采用了c=1单位制,光子的动量和能量是相等的,消耗掉的质量所得到的能量跟所消耗的质量也是相等的。为了让质量为m的飞船达到加速度a,那么需要的力f=m a,而推力f完全由单位时间内喷射的光子动量提供:f=dp/d\tau=dE/d\tau=-dm/d\tau。于是-\frac{dm}{m}=a\;d\tau,因此,当飞船质量为m时,单位时间内所喷射的质量占总质量的比值恰好由a决定。当飞船质量m逐渐变小的时候,所需的推力f也随之变小,可以算出飞船任意时刻的剩余质量随着\tau的变化:m(\tau) = m_0 \exp(-a \tau)。所以,用效率最高的反物质发动机,1年以后飞船的剩余质量为最初的2.808分之一,10年以后飞船的剩余质量为最初的30424分之一,100年以后飞船的剩余质量只有最初的6.795\times10^{44}分之一。如果飞船是由氢构成的,那么出发时总质量一千万亿吨(相当于地球大气总质量的1/5,跟喜马拉雅山的总质量差不多),100年之后也只能剩下一个氢原子的质量了,如果你希望100年后剩下一个人那么大的质量,那么出发时大概需要上百个银河系的总质量。

吃苹果游戏和简单回合制游戏的通解

问题:
有20个苹果。
两个人轮流吃,可以吃一个,也可以吃半个。
吃半个的时候,可以吃原来就是半个的,也可以把一个完整的吃掉一半,也就是说可以有很多半个的苹果。
吃一个的时候,只能吃完整的一个。
没有其他选项。
最后吃苹果的人输。

请问,先吃还是后吃的有必胜的策略?这个必胜策略是什么?

答案:
后手有必胜策略。开始的时候先手怎么吃,后手就怎么吃,换言之后手总是设法保持剩下的整苹果和半苹果都是偶数即可。但当剩下的整苹果刚好只有两个的时候,肯定轮到先手吃,而后手此时不能跟先手学。如果先手吃掉一个整苹果,后手就把最后一个整苹果吃掉一半,让半苹果数量变成奇数。如果先手把一个整苹果吃掉一半,那么后手就吃掉最后一个整苹果,保持半苹果是奇数个。由于此时剩下奇数个半苹果,只能轮流吃,后手必胜。

这个问题的答案并不很难找到,通过倒推的方法很容易解决。但对于这类问题,有没有通用的解法呢?
现在就给出一个通用的解法:

通解:

  1. 确定游戏的完整状态(或者说局面)参数。比方说上面题目的完整状态参数就是(m,n,p),m是整苹果的个数,n是半苹果的个数,p是此时由谁行动。
  2. 游戏的行动规则确定了状态的迁移规则,或者说从某个状态出发可以到达哪些状态。比方说上面题目从(m,n,p)出发只能到达(m-1,n,~p)——吃一个整苹果、(m,n-1,~p)——吃一个半苹果、(m-1,n+1,~p)——吃半个整苹果,~p表示轮到对方行动。
  3. 游戏的初始规则确定了状态空间的出发点。
  4. 游戏的获胜规则确定了哪些状态是直接被判定为某一方获胜的。比方说上面问题中(0,0,p)意味着p获胜。在这些状态上,哪个玩家获胜,那么这个状态本身对于这个玩家来说就是有必胜策略的状态(废话,这个状态玩家p都已经获胜了那么p在该状态上当然是有必胜策略的)。
  5. 最后一步就是从这些已知的必胜状态出发,递归地确定其他的状态是哪个玩家有必胜策略的状态。如果对于一个玩家来说,根据行动规则某个轮到自己行动的状态存在到达某个自己必胜的状态的行动选择,那么该点对于自己来说也是必胜状态,于是可以递归地将所有的状态都标记上是哪一方必胜,初始状态也会被标记,因此就可以确定初始状态哪一方有必胜策略。

上述解法原则上可以寻找任何完全信息的确定性的回合制的游戏的必胜方和必胜策略。完全信息意思是任何一个回合中,每一个玩家对游戏的局面都有完全的信息,因此不包括桥牌这种不知道对手手中有什么牌的游戏。确定性意思是轮到任何一个玩家行动的时候他可以做出完全确定的行动,因此不包括飞行棋之类需要掷骰子决定如何行动的游戏。回合制意思是参与游戏的若干玩家是按照确定的规则轮流行动的,行为决策是离散的,因此不包括需要连续不断地做行为决策的游戏。类似围棋象棋五子棋跳棋(可以是多方跳棋)的游戏原则上都可以用上述解法寻找必胜方和必胜策略。只不过对于大部分流行的棋类游戏,上述方案会过于庞大以至于无法实际应用。但对于前面这种可以用于做智力题的完全信息确定回合制游戏,用上述通用解法大都可以迅速找到必胜方和必胜策略。

现在以前面的问题为例来说明这个通用解法。由于规则是两个人交替行动,所以(m,n,p)里面的p可以省略,用(m,n)代表状态就可以了,于是状态空间就变成了二维平面上的格点空间。而游戏的行动规则决定了从一个格点出发可以到达哪些格点。注意,由于取消了参数p,所以(0,0)状态无法确定谁胜谁负,但只有一个半苹果的状态(0,1)显然是后手必胜,因为先手只能吃掉这半个苹果而输掉游戏。另外,只有一个整苹果的状态(1,0)显然是先手必胜,但这一点可以通过(0,1)是后手必胜来导出,因此是可有可无的。有了这一个确定的格点,其他所有的格点先手还是后手有必胜策略都可以确定了:对于任何一个格点S,如果从S出发能够到达的所有格点全都是先手有必胜策略的格点,那么S就是后手有必胜策略的格点(因为后手在下一步变为先手)。否则,如果从S出发能够到达的格点之中至少有一个是后手有必胜策略的格点,那么S就是先手有必胜策略的格点(因为先手可以选择进入这个后手必胜的格点,自己同时变成后手)。

上图中,直接确定了(0,1)、(1,0)两个画圈的点的必胜方和必胜策略。图中选了几个典型的点示范了其他点的颜色是如何确定的:凡是从该点出发只能到达绿色点的点都涂成红色,凡是从该点出发至少有一个目标点是红色的点都涂成绿色。从两个画圈的点出发(其实只从(0,1)出发就够了),可以递归确定所有点的颜色。只需要做几步就可以发现规律得到答案。