歷史
直覺數學階段
直覺派的先驅者是19世紀末德國的克隆尼克,他明確提出並強調了能行性,主張沒有能行性就不得承認它的存在性。
他認為“定義應當包括由有限步驟所定義對象的計算方法,而存在性的證明對於要確立其存在的那個量,應當許可計算到任意的精確度。”他曾計畫要把數學算術化並在數學領域中清除一切非構造性的成分及其根源。第二個強有力的倡導者是彭加勒,他主張自然數是最基本的直觀,無需再作進一步的分析就可以認為是可信的,“與克隆尼克一樣,他堅持所有的定義和證明都必須是構造性的。”近代構造法的系統創立者是布勞威,他完整而徹底地從哲學和數學兩方面貫徹和發展了“存在必須被構造”的觀點。這一學派中的主要人物還有海丁和魏爾。
他們在數學工作中的基本立場是:第一,認為數學的出發點不是集合論,而是自然數論。這就是海丁所說的:“數學開始於自然數及自然數相等概念形成之後。”所以他們不允許一般集合論概念進入數學,而將全部數學都歸約為自然數算術和一種利用“展形”建造起來的構造性連續統概念的假定。第二,否認傳統邏輯的普遍有效性而重建直覺派邏輯。第三,批判傳統數學缺乏構造性,創立具有構造性的“直覺數學”。這就開始了構造法的第一階段——直覺數學時期。
算法數學階段
“發現集合論悖論以後,有些數學家認定了解決這些悖論引起的問題的唯一徹底的方法就是把所有的一般集合論概念都從數學中排除掉,只限於研究那些可以能行地定義或構造的對象”這就是布勞威創立直覺數學的想法。為此,他拋棄了許多通常的數學術語,引進了各種超數學原理,從而使得直覺數學難以為人讀懂。同時直覺數學絕對排斥非構造性數學和傳統邏輯的錯誤做法,無法解釋後者在一定範圍內的套用上的有效性。在這一點上,遭到了絕大多數數學家的反對。所以“對數學家來說,布勞威理論一直是稀奇的古董,而主要為邏輯家們感興趣”。因而產生了另外幾種構造性傾向,不象直覺數學那么走極端,它們的方案是把可容許數學對象的範圍限制到某個多少是任意選定的類,而不象直覺數學那樣去向傳統的證明規則挑戰。其中以馬爾科夫及其合作者創立的“算法數學”,尤為引人注目。算法數學是一種把數學的一切概念都歸約為一個基本概念——算法的構造性方法。它以遞歸函式理論為基礎,因此,它的概念有非常嚴格的定義:每個函式都用它的哥德爾數的辦法來處理,每個實數是一個特定的遞歸函式等等。它所用的方法是標準構造性的,所採納的邏輯是直覺派邏輯。可見,馬爾科夫的理論是一種不僅限制對象的類,而且限制可容許證明方法的類的“嚴格有窮主義”的理論,沙寧繼續了馬爾科夫的工作,研究了各種古典理論在馬爾科夫算法數學中的模擬物。他甚至能夠展述分析中象希爾伯特空間和勒貝格積分的構造性理論。由於馬爾科夫的工作,使構造性方法進入了“算法數學”階段。但是,因為這種構造法依賴於遞歸函式理論的術語,所以使這種算法數學外行人讀起來十分困難,加之馬爾科夫的後繼者們似乎對於複雜理論及其在計算機科學上的套用比對於算法數學實踐本身更有興趣,使之算法數學由於缺乏合適的框架來進行數學實踐,而處於一種冬眠的狀態。
現代構造數學階段
1967年,比肖泊的書出版以後,宣告了構造法進入“現代構造數學”階段。比肖泊通過重建現代分析的一個重要部分,重新激發了構造法的活力。他研究的課題廣及測度論、對偶理論、泛函微積。尤其是他和欽基於丹尼爾積分所創立的新的構造性的測度理論,輕易地消除了對於在實直線上構造可數可加測度的可能性的種種憂慮,並且還證明了構造的連續統在一種強的意義下是不可數的。雖然比肖泊的工作植根於布勞威的工作,但是他能從直覺數學的自我禁錮的概念中解脫出來,他避免使用直覺派的超數學原理,擺脫了算法數學對遞歸函式——理論方法的不必要的依賴,超脫了對於形式體系的任何束縛,從而保留了進一步創新的餘地。同時比肖泊採用數學上大家熟悉的習慣術語和符號,所以為一般數學家容易看懂。
構造法的一般步驟:
(1)分析題意,找出題目中所涉及的問題是什麼。
(2)根據題中所涉及的問題來尋找其所涉及的數學中關鍵知識點。
(3)將相關知識點融入題意中,找到構造這個知識點所必備的基本形式。
(4)利用所構造的形式,結合這個知識點對問題進行探究,找到解題思路。
(5)作出詳細的正確解答。
套用
大致說來,數學構造法有兩類用途:
1.用於對經典數學的概念、定理尋找構造性解釋。在大多數情況下,猜測經典定理所對應的構造性內容,即使構造性內容確實存在的話也絕非易事。還是讓我們舉例來說明。
例1 如何在可構造性意義下來定義實數概念?
直覺數學者的具體做法是:首先引進所謂“屬種”的概念以取代康托爾意義下的集合概念。進而布勞威又引進了“選擇序列”的概念,並以“有理數選擇序列”取代古典分析中的有理數柯西序列概念,稱之為“實數生成子”。相應於古典分析中把實數定義為有理數柯西序列等價類,可構造意義下的單個實數被定義為實數生成子的一個等價屬種。如上所見,建立可構造性實數概念沒有實質性困難,其原因就在於柯西—魏爾斯特拉斯的整個極限論建基於潛無限觀念。因而在實質上,直覺數學者在此不過是在能行性的要求下重新陳述柯西序列而已。
現代構造數學者的作法是:為了構造一個實數,我們必須給出一個有限的方法,將每一個正整數n轉化為一個有理數xn′,並且使得x1′,x2′,…是一個柯西序列,它收斂於所要構造的實數。我們還必須對這一序列收斂速度給出明確估計。可見,現代構造數學已經從那些似乎把直覺數學者扼殺的概念(諸如選擇序列、屬種概念)中超脫出來。
例2 關於代數基本定理的構造性證明。
代數基本定理的經典說法為:任何復係數的非常數多項式f至少有一個復根。(1)
對於(1)最著名的傳統證明是,假定f不取零值,把劉維爾定理用於f的倒數,得出結論1/f是常數,因此f是常數,這一矛盾便完成了證明。
但是構造數學者會爭議說,這樣做所證明的並不是基本定理,而是如下較弱的論斷:
不取零值的複數上多項式是常數。(2)
同時上述證明,也沒有提示替多項式找根的方法。
代數基本定理的構造性說法是布勞威給出的:
有一個適用於任何復係數的非常數多項式f的有限方法,我們能夠用以計算f的根。(3)
現在給出布勞威對於首項係數為1的多項式的代數基本定理的證明:他首先證明了f可以假定為高斯數域Q〔i〕上的正數階多項式,然後,再選擇半徑R足夠大,使得f(x)被它的首項所支配,接著利用f圍著以O為心,R為半徑的圓周所繞的圈數等於f的階數這一事實,他構造了一個高斯數z,使f(z)極小,而f′(z)相對地大。最後利用牛頓—拉夫森疊代,構造出f的復根。
比較構造性證明與傳統證明,可以看出,雖然布勞威的證明確實是比使用劉維爾定理的證明更長,但構造性證明比傳統證明給出的“信息量”要多得多。比如布勞威的方法能求出複數上任何給定的正次數的首項係數為1的多項式的根。特別地,用他的證明辦法,你可以為100階多項式找到根,而傳統證明根本沒有涉及找根的方法。
比肖泊在書中寫道:每個經典的定理都提出了一個挑戰:找出一個構造性的說法,並給它以一個構造性的證明。但事實上,許多經典的定理,看來不象會有任何構造性的說法與證明,例如波爾查諾—魏爾斯特拉斯定理,zorn引理等就是這樣。
2.用於開發構造性數學的新領域,組合數學、計算機科學中所涉及的數學,都是構造性數學的新領域,尤其是圖論更是構造數學發展的典型領域之一。因為圖的定義就是構造性的,同時圖的許多套用問題,如計算機網路,程式的框圖,分式的表達式等,也都是構造性很強的問題。
例3 給出樹、最小樹、樹形圖的構造性定義。
樹,就是一個無向圖,它的任何兩個頂點間,可以由唯一的(即沒有圈)的連結方法,通過一串兩兩有公共頂點的邊的序列(即鏈)連結起來。圖中每一條邊有一個長度,使總長度最小的樹,稱為最小樹。樹形圖,就是定向圖上的這樣一個構造:如果不考慮線段的方向,則它是一棵樹;如果考慮線段的方向,則有一個頂點v0沒有任何有向線段指向它,而其餘各點vi有唯一的一個有向線段指向它。我們稱有向線段為弧,頂點v0為樹形圖的根。可見它們的定義具有直觀性與能行性,所以是構造性定義。
例4 1965年國內發表了朱永津、劉振宏“關於求定向圖上的最小樹形圖”的文章。他們提出關於最小樹形圖的算法簡述如下:
(1)除v0外,對每一點vi,在指向vi的弧中選取一個最短的ai,若選取的這些弧恰好構成一個樹形圖,則它就是最短的樹形圖。否則,被選取的弧構成某些互不相交的迴路ci。
(2)設c是一條迴路,v為c上的一個點,則c上有唯一一條弧指向v,記它為a(v),它的長度記為l〔a(v)〕,設w為c處之頂點,且l(w,v)是圖的一條弧,其長度為l(w,v)。現在把l(w,v)的長度進行修改,定義為l(w,v)=l(w,v)-l〔a(v)〕。對c上每一點v進行完這一步,將c收縮之後,這樣就得到一個新的圖。
重複(1)、(2)兩步,最後就得到收縮圖上的樹形圖。
(3)把這個樹形圖中的收縮點依次重新撐開為迴路,這時撐開的圖上,有些點有兩個弧指向它,那么去掉迴路上的那一條弧後,就成為樹形圖。重複這個步驟,直到沒有收縮點為止。這時得到的樹形圖,就是最小樹形圖。可見這個算法是按固定方式經有限個步驟能夠實現的方法,所以是構造性方法。
套用構造性方法獲益匪淺的另一個數學分支是數值分析。
例5 給數值逼近理論中居核心地位的定理:
令X是實賦范空間E中的有窮維線性空間,那么,對E中每一點a,對應X中的一點b,使得a與b的距離等於a到X的距離。(4)
找一個適當的構造性的替代命題。為此,引入如下概念:
定義1 令E為距離空間,X為E的非空子集,a是E中的元素。如果對X中每一對不同的元素x,y,在X中有z,使得max{d(a,x),d(a,y)}>d(a,z),則稱a在X中至多有一個最優逼近。
定義2 如果對X中所有的x,d(a,x)≥d(a,b)成立,則稱X中的一個元素b是a的在X中的最優逼近。
於是,我們就找到一個適當的構造性替代命題:
令X是實賦范空間E中的一個有窮維線性子空間,a為E中的元素,它在X中至多有一個最優逼近。那么,我們可以計算出a在X中的最優逼近。(5)
按照經典數學的看法(4)與(5)是等價的。但是(5)的構造性證明包含了一個套用性極為廣泛的算法。①
此外,拓撲學,特別是維數理論,也是可以為構造法的洞察力提供實例的數學分支,所以也是構造數學有待開發的新領域。
構造數學
為了充分認識構造性數學與非構造性數學之間的差別,我們有兩條工作原理為準。第一條是在非構造性數學中成立而構造性數學中不能接受的原理——排中律;第二條是比肖泊稱之為全能的極限原理(簡稱LPO);如果(an)是{0,1}上的序列,那么,或者對所有的n,an=0,或者存在N,使得,aN=1。
LPO的構造性解釋是:我們有一個有限的方法,它適用於任何一個{0,1}上的序列(an),或者證明對每一個n,an是零,或者構造一個N,使之滿足aN=1。如果真是這樣一種方法,那么,我們就有了統一的辦法來解決(諸如:費爾馬最後定理,黎曼猜想以及哥德巴赫猜想)一大批懸而未決的問題,可以斷言套用如此廣泛的統一解決的方法是絕對不會找到的,所以LPO不是構造數學的工作原理。故凡是經典定理在被構造性證明時需要用到LPO,或者雖不需要用到LPO,但需要用到另一些與LPO構造方式相似的原理,則它們實質上是非構造性的。
構造數學與非構造數學之間的聯繫表現在“共生性”與“分岔性”上。至今,數學的構造性方法的進展始終是直接因襲標準的非構造數學想法而得到的。因此人們往往產生一種錯覺,以為構造數學“寄生”於非構造數學而發展。其實不然,往往構造數學比非構造數學能為某些定理提供更加自然、更加簡單的證明,甚至可能得出一些新的非構造數學的定理。所以,這兩種類型的數學之間的關係是相輔相成的共生性關係。
另一方面,一個經典定理在承認排中律的前提下,會有幾個經典等價的說法,其中有些可以構造性地加以證明,這樣就經常發生一個經典的定理有好幾種極為不同的構造性解釋。比如複分析中皮卡德大定理就是如此。這就是解釋的“分岔性”。這種分岔性是構造數學的最有趣、最有成效的方面。
美籍中國數學家王浩認為“構造性數學是做的數學,非構造性數學是在的數學”。數學的在是信息模式和結構的在,數學的做是信息加工。我國數學家胡世華先生認為構造性數學的傾向是用數學取得結果把結果構造出來,側重於思維的構造實踐,有限制地使用排中律;非構造性數學的傾向是數學地理解問題和規律,建立數學模型形成數學理論體系。追求科學理想,可以自由地使用排中律。
構造性與非構造性數學既有上述的區別,又有一定的聯繫,它們是相輔相成的。數學的構造性方法的進展自覺不自覺地直接因襲非構造性數學想法而得到的;非構造性數學中又總包含有構造性數學的因素,純粹的非構造性數學是不存在的。
數列構造
高中數學主要學習了等差數列和等比數列,但在平時的習題中,往往碰到的不是這兩類數列,所以有時需要用構造法將其轉化為等差數列或等比數列。
等比數列的構造
遇到a=M×a+C(C為常數)時,可構造等比數列。
如:a=1,a=2a+1
可以左右同時加一得:(a+1)=2(a+1) 變成等比數列
得 a+1=2
從而a=2 -1
例如,求525,231的最大公約數。
525=231×2+63,
231=63×3+42,
63=42×1+21,
42=21×2。
最後的餘數為21,所以,525,231的最大公約數為21。
求上述兩個數的最大公約數是經過有限個步驟而得到,因此,這是構造性的方法。
再如,求一元二次方程ax +bx+c=0的根,可用求根公式在有限步驟內求出來。這也是構造性的方法。
現在考慮連續函式的最值定理:閉區間上連續函式有最大(小)值。在數學分析中證明這個定理時,只談這個最值的存在,並沒有給出一能行的過程在有限步驟內把這個最值計算出來,這是非構造性的方法。
圖是一些頂點和一些線段的組合,在圖論中給出了確切的定義,這個定義是屬於構造性的。
通過以上幾個例子,可以明顯地看出構造法具有如下兩個基本特徵:
1.對所討論的對象能進行較為直觀的描述;
2.實現的具體性,就是不只是判明某種解的存在性,而且要實現具體求解。
等差數列的構造
對於a=M×a+f(n)的形式(f(n)不為常數),可構造等差數列。
已知b=3×2 ,b(n)=a-2a,求a通項公式
整理得a=2×a+3×2
兩邊同除2 得
所以為等差數列
所以
從而表示出a