方法论与算法
① DAC方法论是什么
从复杂系统的特点出发,基于分而治之的思想,以经验模态分解算法为分解工具,以计量经济技术为影响因素分析方法,集成信号处理方法、时间序列模型和人工智能模型,提出了一个复杂系统分析和预测方法论一一DAC方法论。
② 通过程序设计求解两个整数的最大公约数,属于计算机方法论的三个过程中的
1.程序风格良好(使用自定义注释模板),两种以上算法解决最大公约数问题,提供友好的输入输出。二、提高要求:1.三种以上算法解决两个正整数最大公约数问题。2.求3个正整数的最大公约数和最小公倍数。三、 算法的计算过程如下:1.辗转相除法辗转相除法基于如下原理:两个整数的最大公约数等于其中较小的数和两数的差的最大公约数。
③ 如何评价吴伯凡认知方法论
链接:http://pan..com/s/1krAWHoVZv4XtRgkwI9i_-A
吴伯凡 认知方法论。奋斗和挣扎有什么区别?“你说很多的奋斗其实是挣扎,那挣扎和奋斗的区别到底是什么?”——《伯凡日知录》有一个同学这样问我。我的回答是,所谓“挣扎”,就是有目标、无方法,自然也是无结果的努力。
课程目录:
意义炼金术(共44讲)
算法与第一性原理(共71讲)
认知治理(共65讲)
认知的“源代码”(共54讲)
.....
④ “一生二,二生三,三生万物”和“太极生两仪,两仪生四象”有什么区别
《道德经》四十二章和《易经》中的这段系辞极其类似,就是说“太极生两仪,两仪生四象,四象生八卦”,实际上这两者之间在起初的实质上是具有巨大的区别的,含义都是彻底不一样。
如同我以前常说《道德经》四十二章是对宇宙空间源头的研究。道教针对“源头”都是怎样而成没有实际的叙述,并且只说转变的方式,却非常少提到真实的促发缘故,有些人它是道教的不完善的地方,我倒不那么感觉,由于终究直到现在也没人对这世界的源头作出令人相信的表述。距今数千年的道教就早已有这类哲学的、抽象性的定义,它是十分杰出的事儿。
⑤ 对亚里士多德和牛顿的科学方法论思想进行比较
牛顿(Isaac Newton,1643~1727)伟大的物理学家、天文学家和数学家,经典力学体系的奠基人。
牛顿1643年1月4日(儒略历1642年12月25日)诞生于英格兰东部小镇乌尔斯索普一个自耕农家庭。出生前八九个月父死于肺炎。自小瘦弱,孤僻而倔强。3岁时母亲改嫁,由外祖母抚养。11岁时继父去世,母亲又带3个弟妹回家务农。在不幸的家庭生活中,牛顿小学时成绩较差,“除设计机械外没显出才华”。
牛顿自小热爱自然,喜欢动脑动手。8岁时积攒零钱买了锤、锯来做手工,他特别喜欢刻制日晷,利用圆盘上小棍的投影显示时刻。传说他家里墙角、窗台上到处都有他刻划的日晷,他还做了一个日晷放在村中央,被人称为“牛顿钟”,一直用到牛顿死后好几年。他还做过带踏板的自行车;用小木桶做过滴漏水钟;放过自做的带小灯笼的风筝(人们以为是彗星出现);用小老鼠当动力做了一架磨坊的模型,等等。他观察自然最生动的例子是15岁时做的第一次实验:为了计算风力和风速,他选择狂风时做顺风跳跃和逆风跳跃,再量出两次跳跃的距离差。牛顿在格兰瑟姆中学读书时,曾寄住在格兰瑟姆镇克拉克药店,这里更培养了他的科学实验习惯,因为当时的药店就是一所化学实验室。牛顿在自己的笔记中,将自然现象分类整理,包括颜色调配、时钟、天文、几何问题等等。这些灵活的学习方法,都为他后来的创造打下了良好基础。
牛顿曾因家贫停学务农,在这段时间里,他利用一切时间自学。放羊、购物、农闲时,他都手不释卷,甚至羊吃了别人庄稼,他也不知道。他舅父是一个神父,有一次发现牛顿看的是数学,便支持他继续上学。1661年6月考入剑桥大学三一学院。作为领取补助金的“减费生”,他必须担负侍候某些富家子弟的任务。三一学院的巴罗(Isaac Barrow,1630~1677)教授是当时改革教育方式主持自然科学新讲座(卢卡斯讲座)的第一任教授,被称为“欧洲最优秀的学者”,对牛顿特别垂青,引导他读了许多前人的优秀着作。1664年牛顿经考试被选为巴罗的助手,1665年大学毕业。
在1665~1666年,伦敦流行鼠疫的两年间,牛顿回到家乡。这两年牛顿才华横溢,作出了多项发明。1667年重返剑桥大学,1668年7月获硕士学位。1669年巴罗推荐26岁的牛顿继任卢卡斯讲座教授,1672年成为皇家学会会员,1703年成为皇家学会终身会长。1699年就任造币局局长,1701年他辞去剑桥大学工作,因改革币制有功,1705年被封为爵士。1727年牛顿逝世于肯辛顿,遗体葬于威斯敏斯特教堂。
牛顿的伟大成就与他的刻苦和勤奋是分不开的。他的助手H.牛顿说过,“他很少在两、三点前睡觉,有时一直工作到五、六点。春天和秋天经常五、六个星期住在实验室,直到完成实验。”他有一种长期坚持不懈集中精力透彻解决某一问题的习惯。他回答人们关于他洞察事物有何诀窍时说:“不断地沉思”。这正是他的主要特点。对此有许多故事流传:他年幼时,曾一面牵牛上山,一面看书,到家后才发觉手里只有一根绳;看书时定时煮鸡蛋结果将表和鸡蛋一齐煮在锅里;有一次,他请朋友到家中吃饭,自己却在实验室废寝忘食地工作,再三催促仍不出来,当朋友把一只鸡吃完,留下一堆骨头在盘中走了以后,牛顿才想起这事,可他看到盘中的骨头后又恍然大悟地说:“我还以为没有吃饭,原来我早已吃过了”。
牛顿的成就,恩格斯在《英国状况十八世纪》中概括得最为完整:“牛顿由于发明了万有引力定律而创立了科学的天文学,由于进行了光的分解而创立了科学的光学,由于创立了二项式定理和无限理论而创立了科学的数学,由于认识了力的本性而创立了科学的力学”。(牛顿在建立万有引力定律及经典力学方面的成就详见本手册相关条目),这里着重从数学、光学、哲学(方法论)等方面的成就作一些介绍。
(1)牛顿的数学成就
17世纪以来,原有的几何和代数已难以解决当时生产和自然科学所提出的许多新问题,例如:如何求出物体的瞬时速度与加速度?如何求曲线的切线及曲线长度(行星路程)、矢径扫过的面积、极大极小值(如近日点、远日点、最大射程等)、体积、重心、引力等等;尽管牛顿以前已有对数、解析几何、无穷级数等成就,但还不能圆满或普遍地解决这些问题。当时笛卡儿的《几何学》和瓦里斯的《无穷算术》对牛顿的影响最大。牛顿将古希腊以来求解无穷小问题的种种特殊方法统一为两类算法:正流数术(微分)和反流数术(积分),反映在1669年的《运用无限多项方程》、1671年的《流数术与无穷级数》、1676年的《曲线求积术》三篇论文和《原理》一书中,以及被保存下来的1666年10月他写的在朋友们中间传阅的一篇手稿《论流数》中。所谓“流量”就是随时间而变化的自变量如x、y、s、u等,“流数”就是流量的改变速度即变化率,写作等。他说的“差率”“变率”就是微分。与此同时,他还在1676年首次公布了他发明的二项式展开定理。牛顿利甩它还发现了其他无穷级数,并用来计算面积、积分、解方程等等。1684年莱布尼兹从对曲线的切线研究中引入了和拉长的S作为微积分符号,从此牛顿创立的微积分学在大陆各国迅速推广。
微积分的出现,成了数学发展中除几何与代数以外的另一重要分支——数学分析(牛顿称之为“借助于无限多项方程的分析”),并进一步进进发展为微分几何、微分方程、变分法等等,这些又反过来促进了理论物理学的发展。例如瑞士J.伯努利曾征求最速降落曲线的解答,这是变分法的最初始问题,半年内全欧数学家无人能解答。1697年,一天牛顿偶然听说此事,当天晚上一举解出,并匿名刊登在《哲学学报》上。伯努利惊异地说:“从这锋利的爪中我认出了雄狮”。
(2)牛顿在光学上的成就
牛顿的《光学》是他的另一本科学经典着作(1704年)。该书用标副标题是“关于光的反射、折射、拐折和颜色的论文”,集中反映了他的光学成就。
第一篇是几何光学和颜色理论(棱镜光谱实验)。从1663年起,他开始磨制透镜和自制望远镜。在他送交皇家学会的信中报告说:“我在1666年初做了一个三角形的玻璃棱镜,以便试验那着名的颜色现象。为此,我弄暗我的房间……”接着详细叙述了他开小孔、引阳光进行的棱镜色散实验。关于光的颜色理论从亚里士多德到笛卡儿都认为白光纯洁均匀,乃是光的本色。“色光乃是白光的变种。牛顿细致地注意到阳光不是像过去人们所说的五色而是在红、黄、绿、蓝、紫色之间还有橙、靛青等中间色共七色。奇怪的还有棱镜分光后形成的不是圆形而是长条椭圆形,接着他又试验“玻璃的不同厚度部分”、“不同大小的窗孔”、“将棱镜放在外边”再通过孔、“玻璃的不平或偶然不规则”等的影响;用两个棱镜正倒放置以“消除第一棱镜的效应”;取“来自太阳不同部分的光线,看其不同的入射方向会产生什么样的影响”;并“计算各色光线的折射率”,“观察光线经棱镜后会不会沿曲线运动”;最后才做了“判决性试验”:在棱镜所形成的彩色带中通过屏幕上的小孔取出单色光,再投射到第二棱镜后,得出核色光的折射率(当时叫“折射程度”),这样就得出“白光本身是由折射程度不同的各种彩色光所组成的非匀匀的混合体”。这个惊人的结论推翻了前人的学说,是牛顿细致观察和多项反复实验与思考的结果。
在研究这个问题的过程中,牛顿还肯定:不管是伽利略望远镜(凹、凸)还是开普勒望远镜(两个凸透镜),其结构本身都无法避免物镜色散引起起的色差。他发现经过仔细研磨后的金属反射镜面作为物镜可放大30~40倍。1671年他将此镜送皇家学会保存,至今的巨型天文望远镜仍用牛顿式的基本结构。牛顿磨制及抛光精密光学镜面的方法,至今仍是不少工厂光学加工的主要手段。
《光学》第二篇描述了光照射到叠放的凸透镜和平面玻璃上的“牛顿环”现象的各种实验。除产生环的原因他没有涉及外,他作了现代实验所能想到的一切实验,并作了精确测量。他把干涉现象解释为光行进中的“突发”或“切合”,即周期性的时而突然“易于反射”,时而“易于透射”,他甚至测出这种等间隔的大小,如黄橙色之间有一种色光的突发间隔为1/89000英寸(即现今2854×10-10米),正好与现代波长值5710×10-10米相差一半!
《光学》第三篇是“拐折”(他认为光线被吸收)即衍射、双折射实验和他的31个疑问。这些衍射实验包括头发丝、刀片、尖劈形单缝形成的单色窄光束“光带”(今称衍射图样)等10多个实验。牛顿已经走到了重大发现的大门口却失之交臂。他的31个疑问极具启发性,说明牛顿在实验事实和物理思想成熟前并不先作绝对的肯定。牛顿在《光学》一、二篇中视光为物质流,即由光源发出的速度、大小不同的一群粒子,在双折射中他假设这些光粒子有方向性且各向异性。由于当时波动说还解释不了光的直进,他是倾向于粒子说的,但他认为粒子与波都是假定。他甚至认为以太的存在也是没有根据的。
在流体力学方面,牛顿指出流体粘性阻力与剪切率成正比,这种阻力与液体各部分之间的分离速度成正比,符合这种规律的(如、空气与水)称为牛顿流体。
在热学方面,牛顿的冷却定律为:当物体表面与周围形成温差时,单位时间单位面积上散失的热量与这一温差成正比。
在声学方面,他指出声速与大气压强平方根成正比,与密度平方根成反比。他原来把声传播作为等温过程对待,后来P.S.拉普拉斯纠正为绝热过程。
(3)牛顿的哲学思想和科学方法
牛顿在科学上的巨大成就连同他的朴素的唯物主义哲学观点和一套初具规模的物理学方法论体系,给物理学及整个自然科学的发展,给18世纪的工业革命、社会经济变革及机械唯物论思潮的发展以巨大影响。这里只简略勾画一些轮廓。
牛顿的哲学观点与他在力学上的奠基性成就是分不开的,一切自然现象他都力图力学观点加以解释,这就形成了牛顿哲学上的自发的唯物主义,同时也导致了机械论的盛行。事实上,牛顿把一切化学、热、电等现象都看作“与吸引或排斥力有关的事物”。例如他最早阐述了化学亲和力,把化学置换反应描述为两种吸引作用的相互竞争;认为“通过运动或发酵而发热”;火药爆炸也是硫磺、炭等粒子相互猛烈撞击、分解、放热、膨胀的过程,等等。
这种机械观,即把一切的物质运动形式都归为机械运动的观点,把解释机械运动问题所必需的绝对时空观、原子论、由初始条件可以决定以后任何时刻运动状态的机械决定论、事物发展的因果律等等,作为整个物理学的通用思考模式。可以认为,牛顿是开始比较完整地建立物理因果关系体系的第一人,而因果关系正是经典物理学的基石。
牛顿在科学方法论上的贡献正如他在物理学特别是力学中的贡献一样,不只是创立了某一种或两种新方法,而是形成了一套研究事物的方法论体系,提出了几条方法论原理。在牛顿《原理》一书中集中体现了以下几种科学方法:
①实验——理论——应用的方法。牛顿在《原理》序言中说:“哲学的全部任务看来就在于从各种运动现象来研究各种自然之力,而后用这些方去论证其他的现象。”科学史家I.B.Cohen正确地指出,牛顿“主要是将实际世界与其简化数学表示反复加以比较”。牛顿是从事实验和归纳实际材料的巨匠,也是将其理论应用于天体、流体、引力等实际问题的能手。
②分析——综合方法。分析是从整体到部分(如微分、原子观点),综合是从部分到整体(如积分,也包括天与地的综合、三条运动定律的建立等)。牛顿在《原理》中说过:“在自然科学里,应该像在数学里一样,在研究困难的事物时,总是应当先用分析的方法,然后才用综合的方法……。一般地说,从结果到原因,从特殊原因到普遍原因,一直论证到最普遍的原因为止,这就是分析的方法;而综合的方法则假定原因已找到,并且已经把它们定为原理,再用这些原理去解释由它们发生的现象,并证明这些解释的正确性”。
③归纳——演绎方法。上述分析一综合法与归纳一演绎法是相互结合的。牛顿从观察和实验出发。“用归纳法去从中作出普通的结论”,即得到概念和规律,然后用演绎法推演出种种结论,再通过实验加以检验、解释和预测,这些预言的大部分都在后来得到证实。当时牛顿表述的定律他称为公理,即表明由归纳法得出的普遍结论,又可用演绎法去推演出其他结论。
④物理——数学方法。牛顿将物理学范围中的概念和定律都“尽量用数学演出”。爱因斯坦说:“牛顿才第一个成功地找到了一个用公式清楚表述的基础,从这个基础出发他用数学的思维,逻辑地、定量地演绎出范围很广的现象并且同经验相符合”,“只有微分定律的形式才能完全满足近代物理学家对因果性的要求,微分定律的明晰概念是牛顿最伟大的理智成就之一”。牛顿把他的书称为《自然哲学的数学原理》正好说明这一点。
牛顿的方法论原理集中表述在《原理》第三篇“哲学中的推理法则”中的四条法则中,此处不再转引。概括起来,可以称之为简单性原理(法则1),因果性原理(法则2),普遍性原理(法则3),否证法原理(法则4,无反例证明者即成立)。有人还主张把牛顿在下一段话的思想称之为结构性原理:“自然哲学的目的在于发现自然界的结构的作用,并且尽可能把它们归结为一些普遍的法规和一般的定律——用观察和实验来建立这些法则,从而导出事物的原因和结果”。
牛顿的哲学思想和方法论体系被爱因斯坦赞为“理论物理学领域中每一工作者的纲领”。这是一个指引着一代一代科学工作者前进的开放的纲领。但牛顿的哲学思想和方法论不可避免地有着明显的时代局限性和不彻底性,这是科学处于幼年时代的最高成就。牛顿当时只对物质最简单的机械运动作了初步系统研究,并且把时空、物质绝对化,企图把粒子说外推到一切领域(如连他自己也不能解释他所发现的“牛顿环”),这些都是他的致命伤。牛顿在看到事物的“第一原因”“不一定是机械的”时,提出了“这些事情都是这样地井井有条……是否好像有一位……无所不在的上帝”的问题,(《光学》,疑问29),并长期转到神学的“科学”研究中,费了大量精力。但是,牛顿的历史局限性和他的历史成就一样,都是启迪后人不断前进的教材。
回答
⑥ 贾宪的数学方法论对后世数学研究起到了什么作用
《黄帝九章算经细草》开创的数学研究方法,被后世数学家广为借鉴。清代学术流派“乾嘉学派”在保存和整理数学着作时,就曾对《黄帝九章算经细草》等一批算书或注释或图说。
古代学者着书立说目的之一就是教育世人。在数学知识的普及和教育过程中,贾宪重视对一般性解法的抽象,注重对知识纲要的概括,注重系统化,注重发散性思维的锻炼。从这里我们不难发现他的数学教育思想的闪光之处。
贾宪重视对一般性解法的抽象。他之所以这样做,应该是深受我国古代早已有之的“授人以鱼不如授人以渔”的教育思想影响。
据现在所知,《黄帝九章算经细草》约成书于1050年前后,此书出版后,在社会上流传较广,在一定程度上逐渐代替了《九章算术》。这也是当时社会对其数学教育思想的认可。。
这在古代数学教育史上是难能可贵的。
贾宪注重发散性思维的锻炼。他讨论《九章算术》中诸类问题时,不是固守前人的思路和算法,发现了很多新的计算方法。如“课分法”、“减分法”、“今有术”、“合率术”、“分率术”、“方程术”、“两不足术”、“勾股旁要法”等。
由此可见,贾宪不仅注重概括理论化的研究方法,同时也身体力行地致力于发散性思维的锻炼,这对于知识的创新是大有裨益的。
《九章算术》是11世纪以前我国最着名的数学着作,在其流传过程中,为其作注的人很多。而在数学理论上有突出贡献的主要是3位数学家,即刘徽理论基础的奠定、贾宪理论水平的提高和杨辉理论的基本完善,贾宪起着承前启后的作用。
另一方面,魏晋南北朝兴起的数学研究热潮自唐而中断,贾宪的数学方法论又激发了宋元时期的数学研究热潮,他又起到推波助澜的作用。
⑦ 为什么中国古代数学会形成算法思想它对后世的影响如何
数学的发展包括了两大主要活动:证明定理和创造算法。定理证明是希腊人首倡,后构成数学发展中演绎倾向的脊梁;算法创造昌盛于古代和中世纪的中国、印度,形成了数学发展中强烈的算法倾向。统观数学的历史将会发现,数学的发展并非总是演绎倾向独占鳌头。在数学史上,算法倾向与演绎倾向总是交替地取得主导地位。古代巴比伦和埃及式的原始算法时期,被希腊式的演绎几何所接替,而在中世纪,希腊数学衰落下去,算法倾向在中国、印度等东方国度繁荣起来;东方数学在文艺复兴前夕通过阿拉伯传播到欧洲,对近代数学兴起产生了深刻影响。事实上,作为近代数学诞生标志的解析几何与微积分,从思想方法的渊源看都不能说是演绎倾向而是算法倾向的产物。
从微积分的历史可以知道,微积分的产生是寻找解决一系列实际问题的普遍算法的结果6。这些问题包括:决定物体的瞬时速度、求极大值与极小值、求曲线的切线、求物体的重心及引力、面积与体积计算等。从16世纪中开始的100多年间,许多大数学家都致力于获得解决这些问题的特殊算法。牛顿与莱布尼兹的功绩是在于将这些特殊的算法统一成两类基本运算——微分与积分,并进一步指出了它们的互逆关系。无论是牛顿的先驱者还是牛顿本人,他们所使用的算法都是不严格的,都没有完整的演绎推导。牛顿的流数术在逻辑上的瑕疵更是众所周知。对当时的学者来说,首要的是找到行之有效的算法,而不是算法的证明。这种倾向一直延续到18世纪。18世纪的数学家也往往不管微积分基础的困难而大胆前进。如泰勒公式,欧拉、伯努利甚至19世纪初傅里叶所发现的三角展开等,都是在很长时期内缺乏严格的证明。正如冯·诺伊曼指出的那样:没有一个数学家会把这一时期的发展看作是异端邪道;这个时期产生的数学成果被公认为第一流的。并且反过来,如果当时的数学家一定要在有了严密的演绎证明之后才承认新算法的合理性,那就不会有今天的微积分和整个分析大厦了。
现在再来看一看更早的解析几何的诞生。通常认为,笛卡儿发明解析几何的基本思想,是用代数方法来解几何问题。这同欧氏演绎方法已经大相径庭了。而事实上如果我们去阅读笛卡儿的原着,就会发现贯穿于其中的彻底的算法精神。《几何学》开宗明义就宣称:“我将毫不犹豫地在几何学中引进算术的术语,以便使自己变得更加聪明”。众所周知,笛卡儿的《几何学》是他的哲学着作《方法论》的附录。笛卡儿在他另一部生前未正式发表的哲学着作《指导思维的法则》(简称《法则》)中曾强烈批判了传统的主要是希腊的研究方法,认为古希腊人的演绎推理只能用来证明已经知道的事物,“却不能帮助我们发现未知的事情”。因此他提出“需要一种发现真理的方法”,并称之为“通用数学”(mathesis universakis)。笛卡儿在《法则》中描述了这种通用数学的蓝图,他提出的大胆计划,概而言之就是要将一切科学问题转化为求解代数方程的数学问题:
任何问题→数学问题→代数问题→方程求解而笛卡儿的《几何学》,正是他上述方案的一个具体实施和示范,解析几何在整个方案中扮演着重要的工具作用,它将一切几何问题化为代数问题,这些代数问题则可以用一种简单的、几乎自动的或者毋宁说是机械的方法去解决。这与上面介绍的古代中国数学家解决问题的路线可以说是一脉相承。
因此我们完全有理由说,在从文艺复兴到17世纪近代数学兴起的大潮中,回响着东方数学特别是中国数学的韵律。整个17—18世纪应该看成是寻求无穷小算法的英雄年代,尽管这一时期的无穷小算法与中世纪算法相比有质的飞跃。而从19世纪特别是70年代直到20世纪中,演绎倾向又重新在比希腊几何高得多的水准上占据了优势。因此,数学的发展呈现出算法创造与演绎证明两大主流交替繁荣、螺旋式上升过程:
演绎传统——定理证明活动
算法传统——算法创造活动
中国古代数学家对算法传统的形成与发展做出了毋容置疑的巨大贡献。
我们强调中国古代数学的算法传统,并不意味中国古代数学中没有演绎倾向。事实上,在魏晋南北朝时期一些数学家的工作中,已出现具有相当深度的论证思想。如赵爽勾股定理证明、刘徽“阳马”一种长方锥体体积证明、祖冲之父子对球体积公式的推导等等,均可与古希腊数学家相应的工作媲美。赵爽勾股定理证明示意图“弦图”原型,已被采用作2002年国际数学家大会会标。令人迷惑的是,这种论证倾向随着南北朝的结束,可以说是戛然而止。囿于篇幅和本文重点,对这方面的内容这里不能详述,有兴趣的读者可参阅参考文献3。
3 古为今用,创新发展
到了20世纪,至少从中叶开始,电子计算机的出现对数学的发展带来了深远影响,并孕育出孤立子理论、混沌动力学、四色定理证明等一系列令人瞩目的成就。借助计算机及有效的算法猜测发现新事实、归纳证明新定理乃至进行更一般的自动推理……,这一切可以说已揭开了数学史上一个新的算法繁荣时代的伟大序幕。科学界敏锐的有识之士纷纷预见到数学发展的这一趋势。在我国,早在上世纪50年代,华罗庚教授就亲自领导建立了计算机研制组,为我国计算机科学和数学的发展奠定了基础。吴文俊教授更是从70年代中开始,毅然由原先从事的拓扑学领域转向定理机器证明的研究,并开创了现代数学的崭新领域——数学机械化。被国际上誉为“吴方法”的数学机械化方法已使中国在数学机械化领域处于国际领先地位,而正如吴文俊教授本人所说:“几何定理证明的机械化问题,从思维到方法,至少在宋元时代就有蛛丝马迹可寻,”他的工作“主要是受中国古代数学的启发”。“吴方法”,是中国古代数学算法化、机械化精髓的发扬光大。
计算机影响下算法倾向的增长,自然也引起一些外国学者对中国古代数学中算法传统的兴趣。早在上世纪70年代初,着名的计算机科学家D.E.Knuth就呼吁人们关注古代中国和印度的算法5。多年来这方面的研究取得了一定进展,但总的来说还亟待加强。众所周知,中国古代文化包括数学是通过着名的丝绸之路向西方传播的,而阿拉伯地区是这种文化传播的重要中转站。现存有些阿拉伯数学与天文着作中包含有一定的中国数学与天文学知识,如着名的阿尔·卡西《算术之钥》一书中有相当数量的数学问题显示出直接或间接的中国来源,而根据阿尔·卡西本人记述,他所工作的天文台中就有不少来自中国的学者。
然而长期以来由于“西方中心论”特别是“希腊中心论”的影响以及语言文字方面的障碍,有关资料还远远没有得到发掘。正是为了充分揭示东方数学与欧洲数学复兴的关系,吴文俊教授特意从他荣获的国家最高科学奖中拨出专款成立了“吴文俊数学与天文丝路基金”,鼓励支持年轻学者深入开展这方面的研究,这是具有深远意义之举。
⑧ 软件设计的设计方法论
设计过程中用以促成模块化设计的四个区域:模块(Mole)、数据(Data)、体系(Architectural)和程序(Proceral)设计。
模块设计(Molar design) 降低了复杂性、便于修改、且使得支持
系统不同部分的并行开发实现起来更容易。模块类型提供的操作特性通过结合时间历史、激活机制、和控制模式来表现。在程序结构内部,模块可以被分类为:
1. 顺序(sequential)模块,由应用程序引用和执行,但不能从表观上中断。
2. 增量(incremental)模块,可被应用程序先行中断,而后再从中断点重新开始。
3. 并行(parallel)模块,在多处理器环境下可以与其他模块同时执行。单独的模块更容易开发,因为功能可以被划分出来,而界面只是用来确保功能的独立。功能的独立性可以使用两个定性的标准来衡量:凝聚性 (cohesion)-衡量模块的功能强度的相关性,和耦合性(coupling)-衡量模块间的相互依赖的相关性。
数据设计(Data design)首先并且有些人也坚信,是最重要的设计行为。数据结构的影响和程序上的复杂性导致数据设计对软件质量有着深远的影响。这种质量由以下的原理来实施:
1、适用于功能和行为分析的系统分析原理同样应该适用于数据。
2、所有的数据结构,以及各自所完成的操作都应该被确定。
3、创建数据词典并用来详细说明数据和程序的设计。
4、底层的数据设计决定应该延迟至设计过程的后期。
5、数据结构的陈述(具体说明)应该只被那些直接使用包含在此结构内的数据的模块所知道。
6、有用的数据结构和操作库可以在适当的时候使用。
7、软件设计和编程语言应该支持抽象数据类型的规范和实现。
体系设计(Architectural Design)的主要目标是开发模块化的程序结
构并表达出模块间的控制相关性。另外,体系设计融合了程序结构与数据结构,以及使得数据得以在程序中流动的界面定义。这种方法鼓励设计者关注系统的整体设计而不是系统中单独的组件。选用不同的方法会采用不同的途径来接近体系的原点,但所有这些方法都应该认识到具有软件全局观念的重要性。程序设计(Proceral Design)在数据、程序结构、和陈述详细算法的说明都已使用类似英语的自然语言来呈现后,再确定程序设计。使用自然语言来陈述的原因是当开发小组的绝大多数成员使用自然语言来交流的话,那么小组外的一个新手在不经学习的情况下会更容易理解这些说明。这里有个问题:程序设计必须毫无歧义的来详细说明程序,但我们都知道不含糊的自然语言也就不自然了。
⑨ 面向对象方法的新方法论
OO方法的作用和意义决不只局限于编程技术,它是一种新的程序设计范型--面向对象程序设计范型;是信息系统开发的新方法论--面向对象方法学;是正在兴起的新技术--面向对象技术。
面向对象程序设计范型:程序设计范型(以下简称程设范型)具体指的是程序设计的体裁,正如文学上有小说、诗歌、散文等体裁,程序设计体裁是用程序设计语言表达各种概念和各种结构的一套设施。
目前,程设范型分为:过程式程设范型、函数式程设范型,此外还有进程式程设范型、事件程设范型和类型系统程设范型。每一程设范型都有多种程序设计语言支持(如:FORTRAN、PASCAL、C均体现过程式程设范型,用来进行面向过程的程序设计),而某些语言兼备多种范型(如:Lisp属过程与函数混合范型,C++则是进程与面向对象混合范型的语言)。
过程式程设范型是流行最广泛的程序设计范型(人们平常所使用的程序设计语言大多属于此类型一笔勾销它们为面向过程的语言),这一程设范型的中心点是设计过程,所以程序设计时首先要决定的是问题解所需要的过程,然后设计过程的算法。这类范型的语言必须提供设施给过程(函数)传送变元和返回的值,如何区分不同种类的过程(函数)、如何传送变元是这类程序设计中关心的主要问题。
面向对象程设范型是在以上范型之上发展起来的,它的关键在于加入了类及其继承性,用类表示通用特性,子类继承父类的特性,并可加入新的特性。对象以类为样板被创建。所以在面向对象程设范中,首要的任务是决定所需要的类,每个类应设置足够的操作,并利用继承机制里二地共享共同的特性。
??乏或不具备的特点,极富生命力,能够适应复杂的大型的软件开发。可以肯定地说,这种新的程设范型必将有力地推动软件开发的新的进展。限于篇幅,其它程设范型在此不作细述。
面向对象方法学:OO方法遵循一般的认知方法学的基本概念(即有关演绎--从一般到特殊和归纳--从特殊到一般的完整理论和方法体系)而建立面向对象方法等基础。面向对象方法学要点之一:认为客观世界是由各种对象所组成的,任何事物都是对象,每一个对象都有自已的运动规律和内部状态,每一个对象都属于某个对象类,都是该对象类的一个元素。复杂的对象可以是由相对比较简单的各种对象以某种方式而构成的。不同对象的组合及相互作用就构成了我们要研究、分析和构造的客观系统。面向对象方法学要点之二:是通过类比,发现对象间的相似性,即对象间的共同属性,这就是构成对象类的依据。在?quot;类、父类、子类的概念构成对象类的层次关系时,若不加特殊说明,则处在下一层次上的对象可自然地继承位于上一层次上的对象的属性。面向对象方法学龄前要点之三:认为对已分成类的各个对象,可以通过定义一组方法来说明该对象的功能,即允许作用于该对象上的各种操作。对象间的相互联系是通过传递消息来完成的,消息就是通知对象去完成一个允许作用于该对象的操作,至于该对象将如何完成这个操作的细节,则是封装在相应的对象类的定义中的,细节对于外界是隐蔽的。
可见,OO方法具有很强的类的概念,因此它就能很自然地直观地模拟人类认识客观世界的方式,亦即模拟人类在认知进程中的由一般到特殊的演绎功能或由特殊到一般的归纳功能,类的概念既反映出对象对象的本质属性,又提供了实现对象共享机制的理论根据。
当我们遵照面向对象方法学的思想进行软件系统开发时,首先要进行面向对象的分析(OOA――Object OrientedAnalysis),其任务是了解问题域所涉及的对象、对象间的关系和作用(即操作),然后构造问题的对象模型,力争该模型能真实地反映出所要解决的实质问题。在这一过程中,抽象是最本质、最重要的方法。针对不同的问题性质选择不同的抽象层次,过简或过繁都会影响到对问题的本质属性的了解和解决。
其次就是进行面向对象的设计(OOD――Object Oriented Analysis),即设计软件的对象模型。根据所应用的面向对象软件开发环境的功能强弱不等,在对问题的对象模型的分析基础上,可能要对它进行一定的改造,但应以最少改变原问题域的对象模型为原则。然后就在软件系统内设设计各个对象、对象间的关系(如层次关系、继承关系等)、对象间的通信方式(如消息模式)等,总之是设计各个对?quot;应做些什么。
最后阶段是面向对象的实现(OOI-- Object Oriented Implementation),即指软件功能的编码实现,它包括:每个对象的内部功能的实现;确立对象哪一些处理能力应在哪些类中进行描述;确定并实现系统的界面、输出的形式及其它控制机理等,总之是实现在OOD阶段所规定的各个对象所应完成的任务。