有趣的数学游戏55748.docx
《有趣的数学游戏55748.docx》由会员分享,可在线阅读,更多相关《有趣的数学游戏55748.docx(33页珍藏版)》请在冰豆网上搜索。
有趣的数学游戏55748
实数、超实数和博弈游戏:
数学的结构之美
(一)一个博弈游戏
让我们来玩一个游戏。
下面有五行石子,白色的石子都是我的,黑色的石子都是你的。
我们轮流拿走一个自己的石子,并且规定如果一个石子被拿走了,它后面的所有石子都要被扔掉。
谁先没有拿的了,谁就输了。
○●●○●●○●●○
●○○●○●●○●
○○○○
●●●○●●●
●
比如说,如果你先走的话,你可以把第四行的第三个石子拿走,按规定第四行将会只剩下前面两个石子:
○●●○●●○●●○
●○○●○●●○●
○○○○
●●
●
现在轮到我走了。
我可以拿走第二行倒数第二个石子,于是整个棋局变成了这样:
○●●○●●○●●○
●○○●○●●
○○○○
●●
●
现在,假如说你拿走了第二行中的第一个石子(于是第二行就没了),那么我就赢定了。
我可以拿走第一行中的第一个石子,从而让整个棋局只剩下后面三行:
○○○○
●●
●
这三行中有四个白石子,有三个黑石子,并且每一行都是同种石子。
于是整个局面完全变成了一个拼石子个数的游戏,我只需要一个一个地拿走白色石子,你必然将会率先无路可走。
受此启发,我们自然地想到了一种刻画棋局的方式:
把每个白色石子记作+1,把每个黑色石子记作-1。
于是○○○○+●●+●=4–2–1=1,结果是一个正数,这就表明该局面下我将必胜,即使此时轮到我先走。
你会发现上面的说法很有道理。
毕竟白色的石子越多,对我越有利,给我带来的效用为正;而黑色的石子会减小我获胜的希望,当然应该给它赋上一个负的值。
四白三黑算出来的结果为正1,直观意义就是我能以一步的优势获胜。
如果棋局是这样:
○○
●●●●
那么○○+●●●●=2–4=-2,是一个负数,这就意味着不管谁先走,你都能必胜,因为你能比我多走两步。
我们不妨把一个棋局对应的数叫做棋局的“特征值”。
特征值为正,就表明不管谁先走我都能必胜;特征值为负,就表明不管谁先走你都能必胜;而特征值的绝对值,则直观地量化了胜负的悬殊。
现在,考虑下面这个棋局:
○○
●●
那么○○+●●=2–2=0,这表明此时的情形介于“我必胜”和“你必胜”之间。
事实上也是这样——如果我先走你后走,你就赢定了;如果你先走我后走,我就赢定了。
这是因为,这个棋局的特征值为0,双方能够走的步数相同,当然谁后走谁就赢定了。
真正有趣的事情出现了。
考虑下面的棋局:
○●
它的特征值应该是多少呢?
容易看出,它的特征值是一个正数,因为不管谁先走,显然我都能赢。
同时,它的特征值也应该比1小,因为只有一个○要比○●赢得更爽一些。
事实上,单看○●黑方确实无论如何都会输,但在某些场合下,○后面的这个●能让黑方喘上一口气。
比如下面这个棋局:
○●
●
如果我先走,显然你必胜无疑。
如果你先走呢?
先走的人获胜的难度更大,你可要好好想想策略。
你可以拿走那个单独成行的●,但当我拿走○之后,你就得眼睁睁地看着自己剩下的那个●被一并收走。
此时,你或许会意识到,你本来还能多走一步的,可惜这一步被浪费掉了。
因此,你更好的做法就是,一上来先拿走○后面的●。
运用这种策略,显然你也会必胜无疑。
可见,不管是我先走还是你先走,整个棋局对于你来说都是必胜的,从而有○●+●=○●–1<0,这再次说明了○●是一个小于1的数。
那么,○●是否等于1/2呢?
答案是肯定的,考虑下面这个棋局:
○●
○●
●
如果我先走,本质上不同的走法只有一种,并且局面将会立即变成刚才那种你必胜的情形,因而你将必胜。
如果是你先走呢?
拿走那个单独成行的●会让你提前锁定败局,更好的选择则是像刚才一样,先拿走某个○后面的●,为自己多赢得一步。
现在,石子只剩下了○●、○、●这么三行。
那么,我应该拿走哪一个○呢?
拿走那个单独成行的○会让局面再次变回刚才那种你必胜的情形,更好的选择则是拿走后面有●的○,这样我便能让你损失一步。
掌握了这个技巧后,我就能做到必胜了。
综上所述,整个棋局是一个谁后走谁就赢定了的局面。
于是○●+○●+●=0,也就是○●+○●–1=0,可以解得○●等于1/2。
也就是说,在○●中,我将以半步的优势获胜。
对应地,●○就等于-1/2,此时你将以半步的优势获胜。
注意,目前并没有任何理论告诉我们,这么加减是合理的。
不过我们却发现,这么加减出来的结果真的是对的。
比如说,○●+○●+○●+●=1/2+1/2+1/2–1=1/2,而棋局
○●
○●
○●
●
对于我来说真的就是必胜的局面!
这背后一定有一个更深层次的原因:
棋局之间的加减和数与数之间的加减一定存在着某些共通的地方。
也就是说,为了解释“为什么棋局的加法和数的加法如此之像”,我们需要证明,两者具有完全相同的代数结构。
我们需要建立一个从棋局到实数的映射法则,然后说明全体棋局(或者全体棋局的一部分)与全体实数(或者全体实数的一部分)是同构的。
正如Poincaré所说,诗歌的艺术在于给相同的东西取不同的名字,数学的艺术在于给不同的东西取相同的名字。
两个看似毫不相关的东西竟然是同构的,这在数学中是最令人激动的事情之一。
(二)熟悉而又陌生的算术
为了说明棋局就是算术,我们首先要定义,什么是算术。
我们需要站在系统之外,对算术的本质做一个描述。
算术,就是对一些数做加减乘除的运算。
这似乎对我们完全没有帮助——什么是数,什么是加减乘除?
其实,数,就是一些具有大小关系的元素,这些元素可以按照它们的大小关系串成一根链条。
这意味着,首先,任意两个数都是可以比较大小的,并且对于两个不同的数x和y来说,x要么大于y,要么小于y。
然后,大小关系必须具有传递性,如果x小于y,y又小于z,那么x一定小于z。
形式化地说,我们要求元素之间存在某种暂且记作≤的关系,使得它们满足:
1.完全性:
对于任意的x和y,x≤y和y≤x当中至少有一个成立。
2.反对称性:
对于任意的x和y,如果x≤y和y≤x同时成立,那么x和y一定是同一个元素。
(今后我们用符号x=y表示x和y是同一个元素,注意这个新符号和≤的区别:
前者是一个真实的符号,它用来表达“是同一个元素”这个概念;后者则是我们假想的一种抽象符号,它不见得有什么具体的意义。
)
3.传递性:
对于任意的x、y和z,如果x≤y和y≤z同时成立,那么一定有x≤z。
这样的话,所有的元素都被≤穿成了一条绳子。
我们就说,这些元素构成了一个“全序关系”。
我们还需要元素之间的“加法”和“乘法”满足一系列的性质:
1.对加法封闭:
对于任意的x和y,x+y也仍然是某一个元素
2.对乘法封闭:
对于任意的x和y,x·y也仍然是某一个元素
3.加法交换律:
对于任意的x和y,x+y=y+x
4.乘法交换律:
对于任意的x和y,x·y=y·x
5.加法结合律:
对于任意的x、y和z,(x+y)+z=x+(y+z)
6.乘法结合律:
对于任意的x、y和z,(x·y)·z=x·(y·z)
7.乘法对加法的分配律:
对于任意的x、y和z,x·(y+z)=x·y+x·z
8.存在加法单位:
存在某一个特殊的元素,通常记作0,使得对于任意的x,都有x+0=x
9.存在乘法单位:
存在某一个特殊的元素,通常记作1,使得对于任意的x,都有x·1=x
10.存在加法逆元:
对于任意的x,总能找到某一个特殊的元素,通常记作-x,使得x+(-x)=0
11.存在乘法逆元:
对于任意不为0的x,总能找到某一个特殊的元素,通常记作x-1 ,使得x·x-1 =1
12.对于任意的x、y和z,如果x≤y,那么一定有x+z≤y+z
13.对于任意的x、y,如果0≤x和0≤y同时成立,那么一定有0≤x·y
有几点需要注意。
我们虽然只说了加法单位满足x+0等于x,但其实由于加法交换律,0+x也等于x。
乘法单位也是如此。
我们说“存在加法单位”,而没说“存在唯一的加法单位”,这是因为加法单位最多只能有一个,如果存在,必定唯一。
假如a和b是两个加法单位的话,你会发现因为a是加法单位,所以a+b等于b,又因为b是加法单位,所以a+b等于a,因而a=b。
我们说“存在加法逆元”,而没说“存在唯一的加法逆元”,也是因为同一个元素的加法逆元最多只能有一个,如果存在,必定唯一。
假设a有两个加法逆元b和c,那么就有b=b+0=b+(a+c)=(b+a)+c=0+c=c,因此b其实就是c。
乘法单位和乘法逆元也是如此。
这基本上刻画出了作为一个算术系统所有需要满足的性质。
第4条和第5条告诉了我们,加法和乘法并没有那么玄妙,它们不过是从元素对到元素的映射。
第6条到第10条列举了加法和乘法的基本性质。
第11条和第12条定义了0和1这两个特殊的数。
第13条中出现了“加法逆元”一词,不过“相反数”一词或许会更亲切一些。
第14条中出现了“乘法逆元”一词,不过“倒数”一词或许也会更亲切一些。
第13条和第14条实际上定义了减法和除法。
减去x,就相当于加上-x;除以x,就相当于乘以x-1 。
这两条性质保证了,我们可以自由地做减法,我们可以自由地做除法,得到的数也仍然是一个合法的元素,不会出现不够减、不允许减、不够除、不允许除的情况(除以0除外)。
因为,每一个元素都有相反数,每一个非0元素都有倒数。
等等,这些性质就能刻画算术系统了?
似乎漏掉了不少其他关键的性质吧。
比如,0乘以任何数都等于0,这条性质哪儿去了?
其实,剩下的没有写出的性质,包括(-1)·x=-x、0≤1、0≤x·x等等,都是已有性质的推论。
我们可以从已有性质出发,完全不关心它们的实际意义,抽象地证明出算术系统应该具有的其他性质。
例如,为了证明0·x=0,只需要注意到:
0·x=(0+0)·x=0·x+0·x
两边同时加上0·x的加法逆元,等式仍然成立(这是因为,如果a=b,那么加法运算将会把a+c和b+c映射到同一个数):
0·x+(-0·x)=(0·x+0·x)+(-0·x)
0=0·x+(0·x+(-0·x))
0=0·x+0
0=0·x
同时满足第4条到第14条的话,这些元素就构成了一个“域”。
如果还满足第15条和第16条(当然还有第1条到第3条),这就是一个“有序域”。
最小的有序域是有理数域。
如果把上面所说的元素想成是全体有理数,把小于等于、加法和乘法解读为我们平常所说的小于等于、加法和乘法,那么整个系统满足上面所有16条性质。
实数域则是一个更“大”的有序域,而有理数域只是它的其中一个“子有序域”。
当然,还有一些有序域,它里面的元素根本不是常规意义上的数,它们之间的大小关系、加法乘法也根本不是常规意义上的大小关系和加法乘法。
不过,人们已经证明了,任何一个有序域里一定都包含有一个子有序域,它和有理数域同构——它里面的一切都和有理数一样,只是各个元素的名字不一样罢了。
也就是说,在任何一个有序域中,我们都可以从加法单位和乘法单位出发,把全部的或者部分的、本来有可能并不是数的元素看成是一个个的数,得到一个与有理数等价的系统:
加法单位就是0,乘法单位就是1,等于1+1的那个元素就是2,等于2+1的那个元素就是3,2的加法逆元就是-2,2的乘法逆元就是1/2,等等,而且这些元素确实是不同的元素,它们之间的小于等于、加法乘法的运算结果也确实符合有理数之间的运算结果。
正因为这样,我们才说,这16个有序域条件比较完整地描述了算术系统的要素,足以刻画算术系统了。
这里,我们突然有了一个非常激动人心的问题:
一个有序域有没有可能比实数域更大(实数域只和它的某个子有序域同构)?
有理数域已经封闭了,但加进去一系列新的元素之后,我们有可能得到一个封闭的、更大的实数域;那么,能否在实数域里面也加进去一些新的元素,让实数域进一步扩张成某个更大的有序域?
不不不,答案没有“复数域”那么简单——复数域不是有序域,因为它不是有序的。
也就是说,我们无法为所有复数安排≤关系,使得它能满足有序域的全部条件。
在这个比实数域更大的有序域中,我们不但能继续加减乘除,还要能继续做大小比较,每一个新的数和每一个原有的实数之间都有一个确定的大小关系。
直观上,这似乎是不大可能的,因为实数已经把那根“线”填满了。
(三)外星人的数学
对算术结构的形式化,让我想起了一些更折磨人的哲学问题:
我们的数学体系为什么是这样的?
一个文明的数学体系一定是这个样子的吗?
比方说,如果人类没有视觉这种感官,我们还会创立几何这门学科吗?
同时,人类是否会因为缺乏某种独特的感官,而没能建立起一个更加神奇的数学分支?
同样地,我们总会认为,自然数是最自然的概念,是每一种文明都不可避免会遇到的概念。
是这样吗?
会不会有某一种外星文明,他们也有一套自己的算术系统,虽然也有加减,虽然也有乘除,虽然跟我们正在使用的算术系统是同构的,但其直观意义和表示方法都跟我们完全不同。
或许,在我们这里很难表达的数,在他们那里看来几乎是平凡的;或许,在我们这里很直观很自然的数,在他们的体系里却需要异常复杂的记号来表示。
作为一个科幻迷,我甚至马上想到了,这应该是一个绝佳的科幻素材:
数学家发现了地外生命的某种全新的数学系统,并且一步一步尝试去解读它。
为此,数学家们必须抛弃任何已有的假设,忘掉什么是自然数,什么是零,什么是加减,什么是乘除,从一片空白开始,尝试理解外星算术系统,逐渐搭建起外星数学的大厦。
《你一生的故事》的数学版,多么激动人心的一件事情啊!
这样的小说已经有了。
你猜谁写的?
DonaldKnuth!
第一次听说这个时,第一反应除了膜拜还是膜拜:
Knuth简直是太牛了,他竟然写过一本小说!
这本100多页的小说叫做SurrealNumbers(中译《研究之美》,电子工业出版社2012年1月出版,顺便吐槽中译名),中文意思大致就是“超现实的数”。
我打算直接把它叫做“超实数”——正如“实数”就是“现实的数”一样,“超实数”也就是“超现实的数”了(其实,不得不说的是,“超实数”这个译名有一个很大的弊端:
它可能会与另一个叫做hyperrealnumbers的概念发生混淆)。
小说的副标题则是HowTwoEx-StudentsTurnedontoPureMathematicsandFoundTotalHappiness。
小说讲述了Alice和Bill,一对年轻男女,逃到一个漂亮的孤岛上“寻找自我”。
他们在岛上发现了一块古老的石板,石板上用希伯来语写着一些数学公理。
然后,我们将跟随Alice和Bill的思路,逐渐探索这些公理的意义,期间会走不少的弯路,历经一些失败的尝试,到最后终于成功恢复出了一个完整的算术系统。
根据Wikipedia的描述,一个全新的数学概念竟然首先出自于一本小说,这是极罕见的例子。
在下面的讨论中,时刻记住:
我们在学习外星数学。
我们不能有任何先入为主的概念。
请忘记“数”的概念,忘记“小于等于”的概念。
下面所说的“数”是某种全新的物体,它可能与我们熟知的数有某种对应的关系,也可能与我们熟知的数没有任何关系。
“小于等于”也是一种全新的概念,这四个字整个儿是一个新词,它不是由“小于”和“等于”合成的。
它的意思有可能和我们的小于等于相吻合,也有可能和我们的小于等于不吻合,甚至有可能根本就没有什么合理的“意思”。
“大于等于”只是一个与“小于等于”对称的说法。
如果x小于等于y,我们就说y大于等于x。
偶尔我们会用≤代替“小于等于”,用≥代替“大于等于”,不过也请假装这些符号对你来说是完全陌生的。
石板上的公理只有两个。
1.每个数都是用两个(由已有的数构成的)集合表示的,其中左边集合里不存在这样的数,它大于等于右边集合里的某个数。
假如a、b、c、d、e都是已经构造出来的数,并且从a、b里任取一个数,从c、d、e里任取一个数,前者都不会大于等于后者,那么把a、b放入左边的集合,把c、d、e放入右边的集合,我们就能得到一个新的数,比如f。
我们把它记作f={a,b|c,d,e}。
2.一个数小于等于另一个数,当且仅当前者的左集合里不存在大于等于后者的数,并且后者的右集合里不存在小于等于前者的数。
比如,如果x={a,b|c},y={d|e},那么x小于等于y,当且仅当a、b都不大于等于y,并且e不小于等于x。
可以看出,所有的数,包括它们之间的≤、≥关系,都是递归地表达出来的。
不过,我们每次都需要用已有的数来定义新的数,那我们从什么地方开始呢?
答案是,我们从空集开始。
左集合和右集合都为空,记作{|},这是我们能够得到的第一个数。
再次提醒,这个数或许能被等价地理解为我们世界中的某个数,或许不能。
我们暂时不做这些假设。
我们把这个数记作α。
也就是说,α={|}。
容易看出,α≤α,因为α的左集合里确实没有哪个数大于等于α,并且α的右集合里确实没有哪个数小于等于α(事实上α的左集合里和右集合里根本就没有数)。
既然α≤α,反过来看,也可以说成是α≥α了。
在接下来的过程中时刻记住,α既小于等于自己,又大于等于自己。
接下来,我们可以构造两个新的数{|α}和{α|},不妨把它们俩分别叫做β和γ。
注意,{α|α}是不合法的,它违反了公理1:
左集合里的数不能大于等于右集合里的数。
可以验证,β≤α,而α≤γ。
另外,β也是小于等于γ的,不过请注意,这并不是根据“小于等于”的传递性推出的,而是根据“小于等于”的定义直接验证的。
我们还不知道“小于等于”满足传递性。
事实上,我们还不知道“小于等于”有什么直观意义。
x小于等于y当且仅当x的左集合里不存在大于等于y的数,并且y的右集合里不存在小于等于x的数
β={|α},α={|}⇒β小于等于α,或者说α大于等于β
α={|},γ={α|}⇒α小于等于γ,或者说γ大于等于α
β={|α},γ={α|}⇒β小于等于γ,或者说γ大于等于β
接下来,我们完全不理会≤背后有何直观意义,而是纯粹利用刚才的两个公理来证明,刚才看到的传递现象其实并不是巧合。
换句话说,在这个神秘的算术系统中,如果x≤y,并且y≤z,那么x≤z。
证明的基本方法是数学归纳法。
我们对三元组(x,y,z)施加归纳。
假设传递性对于更早产生的三元组都是成立的。
根据定义,如果x≤y,那么对于x的左集合中的任意一个元素xL 来说,y≤xL 都不成立。
这立即表明,z≤xL 是绝对不可能发生的,因为我们已经有了y≤z,如果还有z≤xL 的话,根据归纳假设,就会有y≤xL ,矛盾。
于是我们知道了,x的左集合里不存在大于等于z的元素。
用类似的方法可以推出,不可能出现zR ≤x的情况,其中zR 是z的右集合中的任意一个元素。
理由和刚才相仿:
如果x≤y和zR ≤x同时成立,由归纳假设就会得到zR ≤y,这与y≤z相矛盾。
于是我们知道了,z的右集合里不可能出现小于等于x的数。
综合上述两条便有x≤z。
由于超实数所具有的递归本质,在研究超实数的性质时,最基本的方法就是数学归纳法。
为了证明某个结论对任意一个数x都成立,我们通常会假设这个结论对所有可能的xL 和xR 都已经成立了;类似地,为了证明某个结论对任意一个二元组(x,y)都成立,我们通常会假设这个结论对所有可能的(xL,y)、(xR,y)、(x,yL)、(x,yR)都已经成立了。
让我们来做几个练习吧。
首先,让我们试着用数学归纳法来证明,对于任意一个数x都有:
1.x≰xL ,其中xL 是x的左集合中的任意一个元素
2.x≱xR ,其中xR 是x的右集合中的任意一个元素
3.x≤x
证明过程并不复杂。
假设这几条性质对于更早产生的数都成立。
为了证明对于任意xL 都有x≰xL ,我们只需要说明,在x的左集合中存在一个大于等于这个xL 的数即可。
这样的数是显然存在的,因为由归纳假设,xL ≤xL 或者说xL ≥xL 始终成立。
证明对于任意xR 都有x≱xR 的方法也是类似的。
好了,既然xL 都不大于等于x,并且xR 都不小于等于x,就说明x≤x了。
我们不妨把这三个结论分别叫做补充性质1、补充性质2和补充性质3。
我们今后会反复用到这三个补充性质。
有人或许会说:
x≰xL,岂不意味着x≥xL 吗?
为什么要说得那么麻烦呢?
别急,别急,我们目前还不知道x≰y能否推出x≥y呢。
不过,不管怎么说,x≥xL 还真是成立的。
我们可以证明这一点,基本思路仍然是数学归纳法。
为了证明对于任意xL 都有x≥xL ,我们只需要说明,这个xL 的左集合里不存在大于等于x的数,并且x的右集合里不存在小于等于这个xL 的数。
根据公理1的规定,后者显然是成立的。
前者的正确性则不太容易看出来:
根据归纳假设,这个xL 大于等于它的左集合里的所有元素,如果这个xL 的左集合里存在大于等于x的数,由传递性便可推出xL ≥x,与刚才的补充性质1矛盾。
类似地,补充性质2也有一个推论,即对于任意xR 都有x≤xR 。
证明方法几乎完全相同:
x≤xR 的意思就是x的左集合里不存在大于等于xR 的数,并且xR 的右集合里不存在小于等于x的数,两者可以分别由公理1和归纳假设推出。
补充性质1和补充性质2拥有这样的推论,这使我们开始猜测:
会不会在任何情况下,由x≰y都能推出x≥y呢?
的确是这样,而且证明过程很简单。
x≰y意味着某个xL 大于等于y,或者某个yR 小于等于x。
如果有某个xL 大于等于y,但刚才我们证明了x大于等于一切xL ,两者结合便有了x≥y;如果有某个yR 小于等于x,但刚才我们证明了y小于等于一切yR ,两者结合也能推出x≥y。
所以,不管是哪种情况,x≥y都是成立的。