返回信息流举个脑残例子:
我这里有三角形ABC,D是BC边上一点。
1:过AB边上一点X,作AC的平行线,与BC相交于Y。这样,AB上的每个点X于BC上的每个点Y有一一映射关系。我可以说,AB上的点和BC上的点是“一样多”的。
2:过AB边上一点X,作AD的平行线,与BD相交于Y。这样,AB上的每个点X于BD上的每个点Y有一一映射关系。我可以说,AB上的点和BD上的点是“一样多”的。
既然AB和BC和BD都能建立一一映射关系,那么,BC和BD上的点一样多吗?显然BD是BC的一部分,怎么可能一样多呢?
-------我是脑残的分割线---------
C语言可以表达的程序,和机器语言可以表达的程序,哪个多呢?
每个C程序都对应一个机器语言程序;但是,如果机器语言里有ROL指令(旋转左移,比如ROL x,3相当于x = (x<<3) | (x>>29),如果是32位的话),那么这个指令不对应C语言里的任何表达式,除非编译器帮助优化,否则不对应任何C程序。所以我说机器语言的程序比C程序多。
Java语言和Java虚拟机呢?Java语言有泛型,由于type erasure,泛型的类型不会保留到bytecode中。而我有不知道有没有Java虚拟机上能实现的bytecode不能用Java语言表达。所以我认为Java程序比Java虚拟机上的bytecode多。
.net呢?主要是有没有能在CLR上跑的bytecode不能被任何.net语言表达呢?
这是一条镜像帖。来源:北邮人论坛 / dot-net / #2119同步于 2010/7/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
dotNET机器人发帖
[非脑残者慎入]哪个多?
wks
2010/7/10镜像同步14 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
这个问题我很早以前也想过,被老师骂过,有同学告诉我说这问题相当于两个变量a=n,b=n+1,n取极限时a=b
所以只要是直线,上面的点都一样多,曲线上点要多些,因为曲线至少是二次的
这个问题不是很有意义啊~
三角形的问题~几何里面明确定义了:线段是点的运动轨迹。但是这个轨迹没有给出运动的任何时间参数,于是我们可以给出任意的参数,例如运动时间为无穷大,并且速度为无穷小,这样我们可以得知线段的点分辨率是无穷,也就是说一条线段上有无穷个点,自然可以引出无穷条平行线~
无穷和无穷比大小是没有意义的~
无穷之间之能去比较阶~但是很显然,三角形的中的两族平行线的数量是同价无穷大~
【 在 TimNew 的大作中提到: 】
: 这个问题不是很有意义啊~
: 三角形的问题~几何里面明确定义了:线段是点的运动轨迹。但是这个轨迹没有给出运动的任何时间参数,于是我们可以给出任意的参数,例如运动时间为无穷大,并且速度为无穷小,这样我们可以得知线段的点分辨率是无穷,也就是说一条线段上有无穷个点,自然可以引出无穷条平行线~
: 无穷和无穷比大小是没有意义的~
: ...................
继续分析 Java、.net、C和Assemble的关系~
如果我们把每一个基本指令认为是一个基的话,每种语言都可以张开一个语言空间。当然,这些基并不一定都一定是无关的~举个简单的例子,+、-运算是线性相关的,而且相关系数为-1~
由于von Neumann体系的计算机存在字长效应,因此无法做到无穷~因此Von氏计算机下的语言空间必然是有限维的~
接下来wks的问题就可以转换为,C、.net、Java和Assemble几种语言张开的空间之间的关系?
由于C、.net、Java几种预言从平常来说一定会回归到Assemble预言的层面上来~所以,它们的空间应该包含Assemble的语言空间~
虽然几种语言之间的基的个数并不相等,但是由于基之间并不独立,因此独立归一化以后,基的个数会大幅减小~
个人认为,各个Compiler为了让代码效率最有,优化要做的第一件事情就是让自己的语言形成的语言空间尽可能的去接近汇编或者机器语言的空间~因此这种差别应该不会太大~
所谓程序,就是这个空间内的一些曲线,但是不一定所有的曲线都是有意义的~也就是说不是所有的机器码组合都是有意义的~所以高级语言可能会有意识的遗漏掉一些组合~
因此高级语言的空间应该略小于机器语言的空间~
【 在 TimNew 的大作中提到: 】
: : 这个问题不是很有意义啊~
: : 三角形的问题~几何里面明确定义了:线段是点的运动轨迹。但是这个轨迹没有给出运动的任何时间参数,于是我们可以给出任意的参数,例如运动时间为无穷大,并且速度为无穷小,这样我们可以得知线段的点分辨率是无穷,也就是说一条线段上有无穷个点,自然可以引出无穷条平行线~
: : 无穷和无穷比大小是没有意义的~
: ...................
继续进一步分析这个问题:
如果我们把视角放的更宽一些~
因为无论汇编也好、C也好、Java或者.net也好~都是图灵预言~
如果我们考虑上Lambda系的FP语言~我指的是给予Lambda模型的真正的FP预言,而不是利用Turing模型“模拟”出来的伪FP~
那么这个时候,我们会发现,这个基应该就和汇编的基就完全不相同了~而且撑开的空间有交集,但是绝对不重合~
而且感觉可能这个空间要更高阶一些~
虽然有人证明过Turing语言和Lambda语言等价,但是那是在无穷子长度的情况下证明的,如果考虑上字长效应,Lambda的空间应该会比Turing空间高阶~
也就是说Lambda语言会有比Turing语言更好的表达能力~
当然一个比较悲哀的问题是,现在所有的计算机都是基于Von Neumann体系的,属于Turing模型~
现在似乎是还没有真正的Lambda模型计算机出现~似乎是因为Lambda模型不太适合人的大脑结构,人的大脑的思维模式更接近于Turing模型~
而自然界似乎更接近于Lambda模型~
例如:一个有意思的问题,计算机所依赖的电路系统就是一个Lambda体系的东西~无记忆、并发、高阶耦合~
因此,个人认为,Lambda模型的计算机是有希望被实现的~
届时,相信整个IT产业又会掀起一场风暴~
FP 预言的魅力其实现在已经初露头角,Lisp,OCaml,Haskell,F#,Erlang无数的FP预言已经出现,虽然都是基于Turing模型的计算机去模拟~但是其中的方便已经非常明显~
【 在 TimNew 的大作中提到: 】
: : 这个问题不是很有意义啊~
: : 三角形的问题~几何里面明确定义了:线段是点的运动轨迹。但是这个轨迹没有给出运动的任何时间参数,于是我们可以给出任意的参数,例如运动时间为无穷大,并且速度为无穷小,这样我们可以得知线段的点分辨率是无穷,也就是说一条线段上有无穷个点,自然可以引出无穷条平行线~
: : 无穷和无穷比大小是没有意义的~
: ...................
呵呵,很有想法
但这个问题在数学上不是用线性空间相关理论来解释,而是用自动机理论来描述的,线性空间一类结构是“静态”的,而自动机理论是“动态”的,用来描述状态转移相关问题,不存在高阶和低阶的说法。相关理论书籍在图书馆中一大票,顺便也可以看一下刘未鹏对相关问题的一些文章
http://blog.csdn.net/pongba/archive/2006/10/15/1336028.aspx
http://blog.csdn.net/pongba/archive/2006/03/11/621723.aspx
关于第一个问题现在数学上通用的解释是集合论,主要是等势的概念。而说长度,稀疏程度,分辨率等概念,这个在数学上由测度理论来描述。
研究生数学中都有所涉及的,另外也可以看一下近世代数,或者现代数学基础等一类书籍