obtuseSword
unread,Aug 27, 2008, 3:15:15 AM8/27/08Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message as abuse
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to TopLanguage
楼主的问题已经被大家圆满解决了,我只多嘴一下james lee的强大构造是怎么想到的:
[0,1] 和 (0,1) 只相差两个元素 { 0, 1 },但它们有相同的基数,所以现在我们想构造一个一一对应的函数。
显然这个函数不容易用1/x,sin(x),exp(x)之类的初等函数表示,所以不像构造[0,1]和[0,2]的一一对应那样明朗,
应该换个思路。
由于两个集合只相差两个元素,所以它们应该很接近,我们不妨让这个映射保持大多数的元素不动,
仅对部分元素作变动。对哪些元素作变动呢?肯定要把0和1这两个元素映射到(0,1)中,但是0和1映射后,又“抠去”了(0,1)中的两个元素,这不
好办了。 仔细想想为何[0,1]和(0,1)有相同的基数,是因为它们有无穷个元素,这在有限个元素中是不可能发生的,所以我们应该从[0,1]和
(0,1)中分别取出一个子集S1,S2,使得S1和S2能够一一对应,而[0,1]-S1和(0,1)-S2一模一样,同时在S1和S2之间建立一一
对应要比原先简单得多。 这使你想到了什么呢? 对,取S1,S2为一个可数集,这样我们就能逐个元素地确定对应关系。 不妨取 S1 =
{1,0,1/2,1/3,1/4...},取S2={1/2,1/3,1/4,...},这样,很快可以构造出一个映射来: f(0) =
1/2, f(1) = 1/3, f(1/2) = 1/4, f(1/3) = 1/5,...
总而言之,这里的构造思路是“去繁就简,降低复杂度”。实数集太繁杂了,不妨抽离出其中的可数集,使问题大大化简。
在可数集之间建立一一对应具有先天的简单性和机械性,因为一旦列出了可数集的元素,也就建立了与自然数集的一一对应,两个可数集都与自然数集一一对应
了,即 an=f(n),bn=g(n), 那么 n=g'(bn), an=f(n)=f(g'(n)) ,很容易得出 an 和 bn 的一一对
应。