是人的就都进来——挺悲观的一件事情:竟然有“不可数无穷大”个数是人类永远都认识不了的,怎么办?
有多少个C程序?有多少个C++程序?有多少个程序?……答案都是可数无穷大个,既∞0。我是想到了这一点:由有限个字符组成的字符串数目极限于∞0个,(当然这里字符的种类是有限的)。大家知道2^∞0=∞1(还可以有n^∞0=∞1,n为>1的有限值),对于计算机上的程序,其字符种类是有限的,把所有的程序都看成是字符串,就可以知道答案是∞0了。或者干脆把程序源代码都看成是01序列,这个序列的长度是有
有多少个C程序?
有多少个C++程序?
有多少个程序?
……
答案都是可数无穷大个,既∞0。
我是想到了这一点:由有限个字符组成的字符串数目极限于∞0个,(当然这里字符的种类是有限的)。
大家知道2^∞0=∞1(还可以有n^∞0=∞1,n为>1的有限值),对于计算机上的程序,其字符种类是有限的,把所有的程序都看成是字符串,就可以知道答案是∞0了。
或者干脆把程序源代码都看成是01序列,这个序列的长度是有限的。
有多少个有理数呢?
大家要注意考虑有理数的定义,是无限循环小数,而循环节长度必定是有限的,那么根据“由有限个字符组成的字符串数目极限于∞0个”,循环节数目极限于∞0,整数部分也是极限于∞0,而∞0乘∞0=∞0,所以有理数是有∞0个。在数学教材中也都有这个结论。
有多少个代数数呢?
代数方程是有限长的,所以总共有∞0个代数方程——可以理解了吧。
而代数方程的根顶多有∞0个,
∞0乘∞0=∞0,所以代数数是有∞0个。在数学教材中也都有这个结论。
非代数数就是超越数了,超越数有∞1-∞0=∞1个,远远的超过代数数数目。
但是超越数目前人类认识的还是很有限的,比如π、e、欧拉常数……
我们要注意到象π、e、欧拉常数……这一部分超越数都是有规律的,有各种级数展开式、连分数展开式、连根式展开式……等,那么我们现在的问题是:
有多少个有规律的数呢?
要注意这个规律是任意的,只要有规律就行。能想到答案吗?答案是∞0。
因为规律可以用有限长的字符串来描述,而字符元种类是有限的,或者说是只有两个,因为可以编码成01序列。
说白了就是:可以用有限长的字符串来描述的数是有∞0个。
那么无规律的数有多少呢?有∞1-∞0=∞1个,远远的超过有规律的数。
当年开始学高等数学时,看到π的级数展开式,多么美妙啊!我想一切数都可以这样找出规律了,后来才发现——远远不行哪!
有多少个人能描述出的数呢?
∞0个,因为描述必须用有限长的字串。
有多少个人能认识的数呢?
∞0个,因为人能认识的必须是有限长的字串。
现在虽然我还写不出一个“人不能认识的数”,但是我知道,那样的数比人能认识的数多的多,是∞1个,呵呵,无论人认识了多少数。
现在的问题是:怎么办?
更详细的请见
http://blog.csdn.net/universee
超越图灵机系列文章
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)