張浩





摘 ?要:2019年高考數學北京卷理科第20題是一道突出數學本質、關注學生會學數學能力的創新題. 數學試驗和猜想是數學研究的基本方式,也是積累數學活動經驗的重要途徑. 通過詳細分析此題,兼談數學試驗與猜想在數學探究中的具體應用.
關鍵詞:數學試驗;數學猜想;北京高考;壓軸題
眾所周知,近幾年的高考數學試題以立德樹人為立足點,著力于數學知識和思想方法,試題內容突出數學學科的本質,富有新穎的背景和呈現方式. 分析歷年高考數學北京卷理科壓軸題時還會發現,許多題目具有較深刻的高等數學背景(包括但不限于微積分、線性代數、編碼理論、組合數學等),設問新穎,區分度較高,有利于高等院校的招生和選拔.
《普通高中數學課程標準(2017年版)》(以下簡稱《標準》)明確提出,在命題中,應特別關注數學學習過程中思維品質的形成,關注學生會學數學的能力. 對于此點要求,北京卷的壓軸題常以數列、集合、數表為背景,給出新定義或新概念,分層設問,借助實例逐步引導學生將抽象概念具象化,并證明相關結論或給出符合題目要求的答案,考查學生接受和理解新知識的能力. 研究該類型題目能幫助教師和學生感受“做”數學的魅力,激發他們對數學的興趣.
2019年高考數學北京卷理科第20題是一道壓軸題,注重對關鍵能力和核心素養的考查,避免繁復冗長的運算,將重點放在對以邏輯思維能力為基礎的對學生提出問題、發現問題、分析問題和解決問題能力的考查上,體現了中學數學教育的功能. 盡管解答此類試題沒有固定的“套路”,但仍有一些基本的探究方法. 本文借評析此題,談談數學試驗與數學猜想在數學探究中的具體應用.
一、數學試驗與數學猜想
著名數學家、教育家波利亞的《數學與猜想》中蘊涵了數學教育教學的重要思想,那就是合情推理,而數學猜想就是合情推理中最普遍、最重要的一種. 無論是歸納還是類比都包含了猜想的成分. 數學通常被看作嚴謹的論證科學,在壓軸題中通常會出現求證結論、需要論證推理這樣可靠的、無疑義的推理,但發現問題或發現新事物卻總是需要“猜想”. 從而從發現“證明思路”的意義上講,猜想盡管是有風險的嘗試,但它無疑是創造性思維產生的源泉. 正如波利亞所說,我們應該學習證明法,但我們也要學習猜測法.
歸納法就是一種猜想的方法,而數學歸納法是在歸納猜想的基礎上,運用嚴謹的邏輯推理進行證明. 歸納法是科學家處理經驗的方法,需要從觀察開始,從中獲得有益或有趣的事實. 對于數學來說,就是需要觀察數學對象,而最具體的對象就是例子. 本文所指的數學試驗是指包含構造數學例子或反例、發現或猜測例子表現出來的一般性質或規律,以及驗證例子或性質、推廣例子等的數學活動經驗. 數學試驗是數學猜想和證明的基礎,數學的發展同樣離不開這些基本的數學活動. 數學家哈爾莫斯在其自傳中說過,數學并非一門演繹科學——那已是老生常談了. 當你試圖去證明一個定理時,你不只是羅列假設,然后開始推理,你所要做的工作應是反復試驗,不斷摸索、猜測. 你要想弄清楚事實真相,在這點上你做的就像實驗室里的技師,只是在其精確性和信息量上有些區別罷了. 偉大的數學家高斯對素數的例子做了大量的計算之后提出了素數定理的猜想,數學家庫默爾推廣了很多高斯的研究工作,庫默爾的發現并不是依賴抽象的思索,而正是依賴于特殊計算實例的不斷積累. 數學猜想也一直影響著現代數學的進步和發展,20世紀有希爾伯特提出的23個問題,21世紀有克雷數學研究所提出的7個千禧年大獎難題. 著名數學家麥克萊恩也曾提出應當把“直覺—探試—出錯—思索—猜想—證明”作為理解數學的過程. 因此,數學試驗與數學猜想不只用于數學解題,對數學探究及真正的數學研究也是至關重要的.
二、試題呈現
2019年高考數學北京卷理科第20題如下.
已知數列[an],從中選取第[i1]項,第[i2]項,[…],第[im]項([i1<i2<…<im]),若[ai1<ai2<…<aim],則稱新數列[ai1,ai2,…,aim]為[an]的長度為[m]的遞增子列. 規定:數列[an]的任意一項都是[an]的長度為[1]的遞增子列.
(1)寫出數列1,8,3,7,5,6,9的一個長度為[4]的遞增子列;
(2)已知數列[an]的長度為[p]的遞增子列的末項的最小值為[am0],長度為[q]的遞增子列的末項的最小值為[an0]. 若[p<q],求證:[am0<an0];
(3)設無窮數列[an]的各項均為正整數,且任意兩項均不相等. 若[an]的長度為[s]的遞增子列末項的最小值為[2s-1],且長度為[s]末項為[2s-1]的遞增子列恰有[2s-1]個([s=1,2,…]),求數列[an]的通項公式.
題干給出的是形式化的定義,需要充分利用富有啟發性的例子來理解題目中的新定義,將新定義與已有的知識建立聯系,利用數學試驗和猜想來幫助求解或求證:通過多舉例子或討論特殊情況,觀察例子中產生的現象,發現規律,提出合理的猜想,再進行邏輯推理,最后梳理并簡化討論,用數學符號語言和邏輯語言進行陳述,整理成嚴謹的證明.
三、第(1)小題的數學試驗
該題共有三道小題,第(1)小題給出一個例子將題干中的抽象概念具體化,讓學生自行做數學試驗. 核心概念是長度為[m]的遞增子列,長度相當于數列的項數,而遞增數列也是容易理解的,唯獨子列的概念需要學生注意. 學生需要把題目中的形式化敘述翻譯成自然語言或者更易理解的數學語言. 子列相當于從原數列中取出一部分項后按照原來的相對位置排列形成的數列. 實際上,這是分析學中的基本概念.
數學試驗:不單為求解第(1)小題,也為了深入理解新概念,可以對數列1,8,3,7,5,6,9分別給出長度為1,2,3,4,5的遞增子列,這里給出所有長度為4和5的遞增子列.
長度為4的遞增子列:1,3,5,6;1,3,5,9;1,3,6,9;1,5,6,9;3,5,6,9;1,3,7,9;
長度為5的遞增子列:1,3,5,6,9.
可以看出不存在長度大于5的遞增子列.
從這一試驗中能發現哪些有益的事實呢?從長度為5的遞增子列中任選4項組成一個長度為4的遞增子列,共有[C45=5]種情況. 這是因為原數列的遞增子列的遞增子列還是原數列的遞增子列,同時是原數列中恰好長度為4的遞增子列.
還可以通過思考下列幾個問題進一步理解遞增子列的概念.
(1)如何構造一個數列,使其存在長度為[m]的遞增子列?(先構造共[m]項的遞增數列,在該數列中任意位置插入其他數均可.)
(2)是否任何數列都有長度為[m m≥2]的遞增子列?(未必,遞減數列則無.)
(3)嘗試給出長度為[m]的遞減子列的定義,并對這個定義討論上述問題.(從數列[an]中選取第[i1]項,第[i2]項,[…],第[im]項([i1<i2<…<im]),若[ai1>][ai2>…>aim],則稱新數列[ai1,ai2,…,aim]為[an]的長度為[m]的遞減子列. 實際上,遞增子列和遞減子列是單調子列的兩種情況.)
四、第(2)小題的數學試驗與求解
第(1)小題的例子是一個啟發性例子,在求證第(2)小題時,可以先進行這樣的數學試驗——驗證第(1)小題中的例子是否符合結論.
數學試驗:容易看出,結論對[p=1],[q>1]的特殊情況成立. 下面對長度為4,5的遞增子列進行驗證,其余情況類似:當[p=4]時,[am0=6],當[q=5]時,[an0=9],顯然[am0<an0],結論成立. 這個例子還可以進一步挖掘,長度為3的末項最小的遞增子列是1,3,5,長度為4的末項最小的遞增子列是1,3,5,6,長度為5的遞增子列只有一個1,3,5,6,9. 從第(1)小題的數學試驗中得到,從長度為5的遞增子列中任取3項,得到長度為[3]的遞增子列,其末項大于等于[5],任取4項得到長度為4的遞增子列,其末項大于等于[6]. 而長度為5的遞增子列的末項9一定大于前三項組成的子列的末項5,而5是不小于長度為3的遞增子列的末項的最小值的,于是結論成立.
現在把上面的4,5替換為[p,q],就可以得到一般的結論. 其思路是:從長度為[q]的末項最小的遞增子列中選前[p]項得到一個長度為[p]的遞增子列,得到長度為[q]的遞增子列的末項一定大于等于長度為[p]的遞增子列的末項的最小值,用數學符號語言表述如下.
設長度為[q]末項為[an0]的一個遞增子列為[aj1,][aj2,…,ajp,…,ajq=an0.]
由[p<q],得[ajp<an0]. 因為[an]的長度為[p]的遞增子列末項的最小值為[am0],[aj1,aj2,…,ajp]是[an]的長度為[p]的遞增子列,所以[am0≤ajp]. 所以[am0<an0]. 證畢.
該題還可以用反證法進行證明:當[p<q]時,假設[am0≥an0]. 設長度為[q]且末項的最小值為[an0]的遞增子列為[aj1<aj2<…<ajp<…<ajq=an0.] 如果[am0≥an0],那么[aj1<aj2<…<ajp<…<ajq=an0≤][am0],于是可以得到一個長度為[p]的遞增子列[aj1<][aj2<…<ajp],并且[ajp<am0]. 這樣就找到了一個長度為[p]的遞增子列,且末項比[am0]小,與長度為[p]的遞增子列的末項的最小值為[am0]矛盾. 因此若[p<q],則[am0<an0]. 證畢.
五、第(3)小題的數學試驗與猜想
對于復雜的問題,直接進行推理論證是困難的,可以把目標進行分解,以避免同時應付太多的邏輯推理. 這一小題做歸納的數學試驗.
數學試驗:從具體例子入手,討論[s=1,2,3]的情況,提出猜想,并提出分解的證明目標.
[s=1]時的條件說明該數列中最小值為1,且只有1個,這也與數列中任意兩項不相等相容.
[s=2]時,長度為2的遞增子列末項的最小值為3,且長度為2末項為3的遞增子列恰有[22-1=2]個. 比3小的正整數只有1,2,遞增子列只能為1,3或2,3. 注意不能出現1,2,否則長度為2的遞增子列末項的最小值為2,因此1,2,3的相對順序為2,1,3.
[s=3]時,長度為3的遞增子列末項的最小值為5,且長度為3末項為5的遞增子列恰有[23-1=4]個. 有了前面的鋪墊,已知1,3,5和2,3,5是這樣的兩個遞增子列,要想再出現兩個,中間必須出現4. 如果出現2,1,3,4,5,那么可以找到2,3,4這樣的長度為3的遞增子列,末項最小值比5小,不符合題意,因此4不能在3之后,因此1,2,3,4,5在數列中相對順序應該為2,1,4,3,5.
類似地,還可以考慮[s=4,5,…],可以得到所有的正奇數都在數列中,得到下表.
數學猜想:此時,已經能發現一些規律,如2要在1前,4要在3前,可以猜測6在5前,8在7前,等等;3要在1后,5要在3后,可以猜測7在5后,9在7后,等等.
注意,這里根據幾個特例進行猜測的方法是科學研究中普遍采用的歸納法,不是數學歸納法,這是進行研究的一般思維方法. 從特例中總結出來的命題可能是正確的,也可能是錯誤的,因此這種方法通常稱為不完全歸納法. 這種由不完全歸納法提出的猜測也稱為似然猜測. 得出猜想之后,想知道它是正確還是錯誤,可以進一步做數學試驗.
考察其他特例,如果一個猜想的命題在新的例子中得到證實,那么該猜想就變得更可信了,我們對它的信心也就增強了. 經過驗證,[s=4]時,相對順序為2,1,4,3,6,5,7,[s=5]時,相對順序為2,1,4,3,6,5,8,7,9,這使得之前得出的猜想更可信了. 于是可以猜想出這個數列為[2,1,4,3,6,5,8,7,][10,9,…],通項公式為[an=n-1 n為偶數,且n≥2,n+1 n為奇數,且n≥1.]
觀察猜想出的這個數列,所有的正整數都在數列中,將數列的項每兩項一組進行分組:[2,1;4,3;][6,5;8,7;….]
每組中的偶數在奇數之前,并且組間的順序是[2m,2m-1]在[2m-1,2m-1-1]之后.
現在將猜想整理成欲證的斷言.
斷言1:[an]包含所有的正偶數,從而包含所有的正整數.
斷言2:若[2m]是[an]中的項,則[2m]排在[2m-1]之前([m∈N*]).
斷言3:[2m,2m-1]在[2m-1,2m-1-1]之后,[m≥2],且[m]為整數.
如果這些斷言成立,根據斷言1和斷言2,所有的正整數成對出現,每對的前后順序為2,1;4,3;6,5;8,7;[2m,2m-1];[…].
再按照斷言3,如果這樣的數列存在,則數列[an]只能為[2,1,4,3,…,2m-2,2m-3,2m,2m-1,…].
這個數列到底是否符合題意,還需要進行數學試驗——驗證.
數學試驗:很明顯,這個數列是無窮數列,各項均為正整數且任意兩項均不相等. 從首項開始,每兩項分組,前[s-1]組每組選一項,按照順序排列,第[s]組取[2s-1]可以得到長度為[s]的遞增子列末項的最小值為[2s-1]. 如果不用這種取法,長度為[s]的遞增子列末項的最小值將會超過[2s-1];前[s-1]組每組任意選一項,每組有兩種取法,因此這樣的取法共[2s-1]種,即長度為[s]末項為[2s-1]的遞增子列恰有[2s-1]個,于是驗證可知這個數列是所求數列.
若這3個斷言得到證明,則可以得出結論. 剩下的就是分步證明3個斷言. 在證明之前,先看看該如何選取證明的先后順序.
數學猜想:通過前面的試驗發現,根據長度為[s]的遞增數列末項最小值為[2s-1]“應該”能知道相鄰的奇數和偶數的相對位置,偶數“應該”是用來補足[2s-1]個子列的,而另外成組的順序如果變了,也“應該”會影響子列的個數. 于是猜想:證明斷言2時會用到“長度為[s]的遞增數列末項最小值為[2s-1]”這個較簡單的條件,證明斷言1和斷言3可能需要用到關于子列個數的條件. 根據經驗,與計數有關的條件涉及排列組合,也更復雜一些. 因此,接下來按照“斷言2—斷言1[—]斷言3”的順序進行證明.
斷言2的證明:
數學試驗與猜想:重溫剛才的數學試驗,討論4的位置時用的方法是試錯法:若出現2,1,3,4,存在長度為2末項為3的遞增子列,如1,3,后面添加4得到1,3,4,與長度為3的遞增子列的末項最小值為5矛盾. 試錯法,用數學語言表述就是反證法,這啟發我們繼續使用反證法進行證明.
證明:反證法. 假設[2m]排在[2m-1]之后. 根據已知,存在一個長度為[m]末項為[2m-1]的遞增子列. 設為[ai1<ai2<…<aim-1<aim=2m-1].
根據假設,[2m]在[2m-1]之后,
于是[2m]自然地可以添加到上面的不等式鏈,得到[ai1<ai2<…<aim-1<aim=2m-1<2m].
于是得到了一個長度為[m+1]而末項為[2m]的遞增子列,但長度為[m+1]的遞增子列的末項的最小值為[2m+1],矛盾.
因此[2m]排在[2m-1]之前.
斷言1的證明:
數學試驗與猜想:在剛才的數學試驗中,[s=3]時,在已知相對順序為2,1,3,5的情況下必須引入4才使得子列個數與題意相符. 可以想象,如果缺少偶數,那么子列個數不夠,就會與已知產生矛盾. 如果正偶數[2,4,6,8,…]中的2不在數列中,那么在討論[s=2]時就可以得到矛盾;如果2在數列中,4不在,那么在討論[s=3]時就得到矛盾;可以猜想如果[2m]之前的偶數都在數列中,而[2m]不在,那么在討論[s=m+1]時會出現矛盾. 將這些猜想轉化為數學語言并證明如下.
證明:反證法. 假設存在正偶數不在[an]中.
設[S]是所有不在[an]中的偶數,則[S?N*].
根據假設,[S≠?].
因此[S]中存在最小數,記最小數為[2m].
根據題意,[an]中包含所有奇數,其中不超過[2m+1]的數為 [1,2,3,…,2m-2,2m-1,2m+1.]
根據斷言2,[2k]排在[2k-1]之前,所以[2k]和[2k-1]不能同時出現在[an]的同一個遞增子列中. 所以長度為[m+1]且末項為[2m+1]的遞增子列的個數至多為[2×2×2×…×2m-1個2×1×1=2m-1<2m]. 與已知矛盾. 注意個數最多的情況為[2,1,4,3,6,5,…,2k,2k-1,…,][2m-2,2m-3,2m-1,2m+1.]
數學試驗:在這里可以再做一次試驗,用具體的例子驗證形式化的證明過程. 若[8=2×4]不在數列中,則不超過9的數為1,2,3,4,5,6,7,9. 前面知道,每一對數中相對順序是2,1;4,3;6,5;7;9. 長度為5且末項為9的遞增子列個數至多只有8個:1,3,5,7,9;2,3,5,7,9;1,4,5,7,9;2,4,5,7,9;1,3,6,7,9;2,3,6,7,9;1,4,6,7,9;2,4,6,7,9. 與[24=16]相比還少8個,這8個就是第4項為8的那些:1,3,5,8,9;2,3,5,8,9;1,4,5,8,9;2,4,5,8,9;1,3,6,8,9;2,3,6,8,9;1,4,6,8,9;2,4,6,8,9.
斷言3的證明:
數學試驗與猜想:先舉一例來啟發證明過程. 若6,5在4,3之前:[2,1,6,5,4,3,…],則長度為3末項為5的遞增子列不存在. 注意長度為2末項為3的遞增子列是存在的:1,3;2,3,且確實是[22-1=2]個.
證明:反證法. 假設存在[m m≥2]使得[2m,2m-1]在[2m-1,2m-1-1]之前,且[m]是所有滿足這種條件的最小數,即[2,1,4,3,6,5,…,2m-4,2m-5,][2m,2m-1,…,2m-2,2m-3,….]
考慮[an]的長度為[m]且末項為[2m-1]的遞增子列:要想得到這樣的子列,需要從[2,1,4,3,6,][5,…,2m-4,2m-5]得到長度為[m-1]的遞增子列,同前面取法一樣,兩兩一組,每組任取一個,取到[2m-4,2m-5]時只能取[m-2]項,從[2,1,4,3,][6,5,…,2m-4,2m-5]中得到的長度最長的遞增子列只有[m-2]項,因此不存在長度為[m]且末項為[2m-1]的遞增子列,與題意矛盾.
或者還可以這樣導出矛盾:由假設可知[an]的長度為[m+1]且末項為[2m+1]的遞增子列的個數小于[2m],因為只有當這些數排成[2,1,4,3,6,5,…,2m-4,][2m-5,2m-2,2m-3,2m,2m-1,…]時,長度為[m+1]且末項為[2m+1]的遞增子列的個數才能為[2m].
三個斷言證畢,綜上可得結論:符合條件的數列[an]是唯一的,[an=n-1 n為偶數,且n≥2,n+1 n為奇數,且n≥1.] 該數列是由兩個遞增數列[1,3,5,7,9,…]和[2,4,6,8,][10,…]穿插得到的.
六、評述
需要指出的是,當猜想出數列的通項后,如果使用數學歸納法,說清歸納的起始步驟[a1=2,a2=1]是不容易的. 根據題中[s=2]的條件,只能知道2在1之前,但不清楚是否有其他數在[2]之前,也不清楚[2]和[1]之間是否有其他數. 要想說明[2]是首項必須說清楚其他數不能在[2]之前,想當然地認為[a1=2,a2=1]成立是不正確的.
在參考答案中,關于驗證只有一句話:“經驗證,數列[2,1,4,3,…,2m-3,2m,2m-1,…]符合條件.”盡管只有一句話,但驗證的過程是必要的. 一般地,根據題意求出的是必要條件,需要通過驗證來得到這是充分條件. 用邏輯化的方式表達:設所有滿足題意的數列的集合為[S],從已知求得的數列的集合為[T],由題意得到[T=an],已知[S?T],要想使[S=T],還要證明[T?S],也就是驗證數列滿足題意即可,并且這也說明了符合題意的數列是唯一的.
下面用一個更淺顯的例子來說明這一現象. 由[a2=4,a>0]可推出[a>1]. [a>1]是[a2=4,a>0]的必要條件,但[a>1]無法推出[a2=4],即[a>1]不是[a2=4,a>0]的充分條件. 若問題是“已知[a2=4,a>0],求[a]的范圍”. 顯然答案應該不是[a2=4,a>0]的這個必要條件[a>1],而是一個充分必要條件[a=2].
如果將這道壓軸題第(3)小題的設問改為“給出一個符合條件的數列并說明理由”,實際上不需要證明前面所述的斷言1、斷言2、斷言3,提出猜想之后只需驗證滿足條件即可,這樣會降低試題的難度. 因為這相當于給出充分條件即可,而該題要求的答案為“充分必要條件”.
在壓軸題中出現數列的子列這一概念,也是命題評價在高中與大學銜接方面的嘗試. 數列的子列這一概念非常基本,在數學分析中討論無窮數列的斂散性和函數極限時起了關鍵作用,并且與數列的上、下極限密切相關,是分析學中的基本工具. 這里列舉幾條與無窮數列的子列有關的結論:收斂數列的每一個子列都收斂于同一極限;存在發散子列的數列一定發散;若存在兩個收斂于不同極限的子列,則該數列發散;單調數列收斂的充分必要條件是存在一個收斂子列;數列收斂的充分必要條件是奇數項子列和偶數項子列收斂到同一極限;數列有界則一定存在收斂子列;數列有界的充分必要條件是它的每一個子列都有收斂子列;數列無界則存在子列為無窮大量;每個數列都有單調子列等.
根據筆者的了解,北京卷壓軸題在中學課堂上進行講授的情況還不多,希望本文的數學試驗與猜想能在更多的課堂教學中看到,希望更多的學生自主進行數學試驗與猜想,掌握基本而重要的學習新數學知識的能力. 畢竟作為教師,需要教給學生如何學習未知的知識.
最后,將數學家哈爾莫斯的一段話送給廣大教師:我們給未來的工程師、物理學家、生物學家、心理學家、經濟學家,還有數學家教數學. 如果我們只教會他們解課本中的習題,那不等他們畢業,他們受到的教育便過時了. 即使從粗糙而世俗的工商業觀點來看,我們的學生也得準備回答未來的問題,甚至在我們課堂上從未問過的問題. 只教他們已為人們所知的一切東西是不夠的——他們也必須知道如何去發現尚未被發現的東西.
參考文獻:
[1]王雅琪,綦春霞. 突出新時代特色打造綠色數學高考新形態:2019年高考數學北京卷特點分析[J]. 數學通報,2019,58(10):44-46,49.
[2]中華人民共和國教育部制定. 普通高中數學課程標準(2017年版)[M]. 北京:人民教育出版社,2018.
[3]波利亞. 數學與猜想:數學中的歸納和類比[M]. 李心燦,譯. 北京:科學出版社,2001.
[4]保羅·哈爾莫斯. 我要作數學家[M]. 馬元德,沈永歡,胡作玄,等譯. 南昌:江西教育出版社,1999.
[5]SAUNDERS MACLANE. Responses to Theoretical Mathematics[J]. Bulletin of the American Mathematics Society,1994(2):178-207.
[6]謝惠民. 數學分析習題課講義(上冊)[M]. 北京:高等教育出版社,2003.
3708500338257