方法論與演算法
① 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階段所規定的各個對象所應完成的任務。