贴一篇我2012年写的文章。
老虎为什么进化出那么强大的爪子?是为了更好的生存下去。其实e=mc平方,也是基于同样的原因,只不过更加曲折些。
从函数说起
“函数(function)”这个词一直被误解并让人觉得只是数学的一种,其实函数是与生活息息相关的。 简单说,函数表现的是一种映射关系,是一个集合x的每一个元素,到另一个集合y的某种关系f的映射,可以写为y=f(x)。而数学里的y=x+2,只是这种映射在数学上的表示方式。 而集合x和集合y可以是任意的,例如,集合x表示一群人,集合y是食物,关系f是他们的早餐。两者的关系就是f:哪些y是x的早餐。 那么集合x就可以是张三,李四。集合y可以是面包,豆包,包子….
函数与人类生活
集合x和集合y,以及这种映射(函数),几乎可以表现生活中的任意面。
例如x是指公司里的一群人,而y是职位。f为集合x中的人的职位。x是所有公司,y是所有的行业,f是每个公司所属行业等等。
使用哪种产品和服务,也可以表达为某种映射关系。
例如,集合x是所有成年人,集合y是各种手机品牌以及特例“没有手机”,那么f为该成年人有哪个牌子的手机。
如果某一种映射(产品或服务),是绝大多数人都拥有的,我们可以说它很流行,例如信用卡,几乎改变了所有人的消费方式。
例如,手机的出现,是满足了即时通讯的需求,可以说创建了一种新的映射(属性)。乃至于现在基本上公司入职表中,都有“手机号”一栏。
“映射”也可以说成是集合x的某种属性,例如,某人的手机属性是iphone,国籍属性是中国,身高属性是xx等等,都毫无疑问表现了某种映射关系。对于某个个体而言,你属于哪个映射的,选择什么产品或服务,是很重要的个人化选择不会无缘无故。例如,是 使用iphone还是nokia,骑自行车还是开汽车,有很多的区别,不会是无理由的。 任何一个公司,都致力于在某种映射关系f中,获得更多数量的人(集合x)的选择(nokia还是iphone?),或者致力于创建一种新的映射(例如崭新的服务)。
在这个过程中,公司会不断努力,发现需求,创造产品或服务(新的映射关系)并尽量求精,在降低成本和提供高质量服务之间达到平衡(iPhone成本数年未大涨),在提供产品和服务的同时不断改进。 竞争是无情的,而且优化的可能性是无限的。微软离破产永远只有18个月时间(比尔.盖兹语),iphone几年就把手机老店nokia打得落花流水,取代了它的霸主地位。
任何一个有雄心壮志的公司,都希望成为百年老店,打造与时间无关的高品质产品和服务,以使和一代代顾客的映射关系长期保持下去。这并不容易。在这个连性别都可以随便改来改去的时代,人们的需求是那么多变啊。 社会制度也是一种映射关系,各种社会制度在彼此竞争,争夺更多的拥护者。每一种制度的存在都是有其目的,有长期存在下去的理由,例如产权保护制度。
大自然里的函数(数学公式)
在社会科学和商业里,我们会探究每一种制度,每一种产品存在的理由,从而能够不断优化它们。但我们在研究自然界时,却采取了不同的方式。
在自然科学的研究里,以物理学为代表,有一种习惯性的研究范式,就是通过实验,验证和推导出数学公式来描述物理的行为规律,满足于对自然现象以纯数学的解释,而不追究为何这个公式是如此的。例如,f=ma为什么成立?e=mc平方为什么成立? 这种研究范式,从伽里略时就已经确立了,伽里略指出,他要研究和证明的是一些运动的性质而不考虑为什么会这样,不要研究为什么会这样,而要讨论怎样定量描述。
这种思想在牛顿的著作中发扬光大,一直到爱因斯坦霍金也未曾改变。至今仍是如此。物理学里,那么多的数学公式,为什么存在?参数的大小是由什么确定的?甚至宇宙物理中为什么可以用大量的数学公式去精确描述宇宙现象?物理学里没有或者极少回答这些问题。
就像费曼在《物理定律的本性》里说的,“我要告诉你自然的行为象什么,假如你简单的接受我的说法而相信她的确可能如此,你会觉得很愉快,很使人着迷的。千万不要问‘为什么会这样’,那样你就走进了死路一条。到现在为止,还没有人能逃出来,因为没有人知道自然为什么会有这样的行为。”
这些公式(函数)无非是一种映射关系罢了,但为什么映射关系是目前这个样子?当你看到周围所有人都用iphone,难道只会去统计数据,而不去追问这种现象存在的理由吗?
我的一个猜想:粒子运动遵循严格的数学公式,可以有效缓解或解决彼此之间资源相互依赖和资源多线程并发争夺关系。就象运用函数式编程(functional programming),来解决多核时代的并发问题一样。宇宙中存在大量分形,以至于连叶子的形状都可以用递归公式推导出来,而递归是functional programming的重要特征,任何一个人类的组织形式其实也是递归的。
为什么我们地球上几十亿人都要遵纪守法(这也是一种人类的活动规律,运动函数)?以及遵守基本的道德底线?也无非是为了更好的解决资源的争夺问题,在最小的限制的前提下更好的彼此相处下去。古罗马《民法大全》:“法律的准则是:诚实地生活,不损害他人,各得其所。”
物质的运动性质遵守某种特定的映射关系,必有其缘由。就像法律制度和产权制度等的存在一样,肯定有其重要的原因。而对其原因缺乏了解,又怎样去更好的运用?更谈不上优化它了。
科学发展到现在,超级计算机都可以花几千美金在自己的小屋子里组装出来,人类的各种复杂行为,小到讨价还价,大到政治经济制度,乃至法律也都有了阐明其原因的数学模型,大自然难道真的比多变的人类复杂到哪里去吗?应该是深入追问物理中数学描述背后原因的时候了。
宇宙象个软件项目
我是搞编程的,编程人员如果接管一个已经做好的软件项目,一般有以下几个步骤,
1,了解整个软件的运行,各个功能模块的作用。
2,了解源代码里每一个函数的作用,输入和输出关系(这其实也是映射)。
3,理解每一个函数在整个项目中为什么存在,彼此之间的关联又如何。
4,在充分理解的基础上,根据需求,在源代码提供的基本框架下进行编程,包括扩充新功能,以及修改bug。
5,在充分理解的基础上,优化甚至取代源代码中的一些函数,重构后达到更加好的执行效率和更小的内存占用。
如果对该项目中的函数,只理解其输入输出,但不知道为什么有这个函数以及不知道它们之间的关系是什么,就去改动该项目,添加新功能维护bug等,简直就是找死,你就等着软件时不时崩溃吧。
宇宙,可以比喻为一个运转了亿万年,经过无数代优胜劣汰优化的一个软件项目,其中的每一个特性,每一个映射关系,都必有其存在的理由。我们人类在对这个软件项目的理解层次上,只是近似处于以上第二阶段,但却已经迫不及待地调用这个项目里的函数,来满足自己的需求了。
不了解其原因而去运用,有点象原始人进入了一个充满了按钮的现代化武库,原始人也许可以知道按某个按钮会产生什么,但是却不知道为什么按了按钮就会产生那个结果。而这不是相当的危险吗?
这样的科学越发展,人类发现的规律越深入,其实人类就越危险,这就是可持续发展问题的本质。
函数(function)”这个词一直被误解并让人觉得只是数学的一种,其实函数是与生活息息相关的。 简单说,函数表现的是一种映射关系,是一个集合x的每一个元素,到另一个集合y的某种关系f的映射,可以写为y=f(x)。而数学里的y=x+2,只是这种映射在数学上的表示方式。 而集合x和集合y可以是任意的,例如,集合x表示一群人,集合y是食物,关系f是他们的早餐。两者的关系就是f:哪些y是x的早餐。 那么集合x就可以是张三,李四。集合y可以是面包,豆包,包子….
这就是数学啊!广义化的 y = f(x) ,其中 y 和 x 不仅仅就只是数字呀。还可以是广义化的两个范畴 Y , X 。其中 f(x) 则是 X 范畴 到 Y 范畴的 态射……只是初等数学到高等数学没讲而已。
范畴里面包含一组对象,这个对象可以是任何东西 甚至是 另一个范畴,或者一组函数 ……
请参考抽象代数的分支,范畴论。
最后,再次安利大 Haskell ……这种问题在 Haskell 里就是基础而已。haskell和范畴论
关于方法论有几个经典文章:
张五常经济解释第一卷第一章第三节:《特殊理论与套套逻辑》http://book.jrj.com.cn/book/book/detail_40140.shtml
哈耶克:《知识在社会中的利用》 http://www.gongfa.com/knowledgehayek.htm