朱夢琪 胡典順
摘 要:玩Nim型游戲沒有運(yùn)氣的成分,學(xué)生可以通過不斷的試驗(yàn)來找到獲勝的策略.利用數(shù)學(xué)游戲進(jìn)行教學(xué),不僅可以提高學(xué)生的學(xué)習(xí)興趣,激發(fā)學(xué)生的創(chuàng)造靈感,感受數(shù)學(xué)的奇妙之處,更有助于學(xué)生提高觀察和思考的能力,讓學(xué)生學(xué)會從已知的現(xiàn)象探索未知的部分,提升學(xué)生的邏輯思維和運(yùn)算能力,培養(yǎng)學(xué)生的數(shù)學(xué)核心素養(yǎng).
關(guān)鍵詞:Nim型游戲;Fibonacci數(shù);數(shù)學(xué)核心素養(yǎng)
一、引言
提高一個人的數(shù)學(xué)水平,就是提高一個人的邏輯判斷能力.數(shù)學(xué)學(xué)習(xí)能使人發(fā)現(xiàn)事物的內(nèi)在規(guī)律和本質(zhì).在數(shù)學(xué)教學(xué)中,教師應(yīng)該盡量不讓學(xué)生去刻意地死記硬背,而是要找出它們背后所蘊(yùn)含的原理.
弗賴登塔爾認(rèn)為存在兩種數(shù)學(xué),一種是現(xiàn)成的或已完成的數(shù)學(xué),另一種是活動的或者創(chuàng)新的數(shù)學(xué).完成的數(shù)學(xué)在人們面前以形式演繹的面目出現(xiàn),它完全顛倒了數(shù)學(xué)的思維過程和實(shí)際創(chuàng)造過程,給予人們的是思維的結(jié)果;活動的數(shù)學(xué)則是數(shù)學(xué)家發(fā)現(xiàn)和創(chuàng)造數(shù)學(xué)的過程的真實(shí)體現(xiàn),它表明了數(shù)學(xué)是一種艱難曲折又生動有趣的活動過程[1].
《普通高中數(shù)學(xué)課程標(biāo)準(zhǔn)》征求意見稿中提出了六大數(shù)學(xué)核心素養(yǎng):數(shù)學(xué)抽象、邏輯推理、數(shù)學(xué)建模、直觀想象、數(shù)學(xué)運(yùn)算和數(shù)據(jù)分析.今天,我們大力提倡提升學(xué)生的數(shù)學(xué)核心素養(yǎng),數(shù)學(xué)教育工作者對此展開了許多討論.那么,在數(shù)學(xué)教學(xué)中,數(shù)學(xué)核心素養(yǎng)的教學(xué)如何落地?這是我們每個一線教師和廣大的數(shù)學(xué)教育工作者必須思考的問題.本文通過一個數(shù)學(xué)游戲闡述在數(shù)學(xué)教學(xué)中如何發(fā)展學(xué)生的數(shù)學(xué)核心素養(yǎng),僅當(dāng)拋磚引玉.
二、一個Nim型游戲
Nim游戲具有悠久的歷史,它是博弈論中最經(jīng)典的模型之一.在所有的二人數(shù)學(xué)游戲中,最有魅力的就是Nim游戲.它的規(guī)則十分簡單,但是結(jié)論卻無比優(yōu)美.本文探討的Nim型游戲的定義是有一堆個數(shù)為[n]的棋子,游戲雙方輪流取棋子,滿足:
(1)先手不能在第一次把所有的棋子取完;
(2)每次至少取走1顆棋子;
(3)每次取的棋子數(shù)不能超過對手剛?cè)〉钠遄訑?shù)的2倍;
(4)取走最后一顆棋子的人為贏家.
三、猜測及證明
我們先從簡單的情形入手,看能否從中發(fā)現(xiàn)某種規(guī)律.表1中,我們只列出了對玩游戲的人有利的情形,即玩游戲的人都足夠聰明以致在做出選擇時不會犯錯,比如一次取的棋子數(shù)盡量不會等于或大于當(dāng)前棋子數(shù)的[13],因?yàn)檫@樣顯然對手會一次取完剩下的棋子,從而獲得勝利.
由表1,我們可以猜測:當(dāng)[n]為Fibonacci數(shù)(即2,3,5,8,13,…)時,先手必?cái)?;?dāng)[n]為非Fibonacci數(shù)時,先手必勝.
我們將從兩個方面對上面的結(jié)論進(jìn)行證明.首先證明當(dāng)[n]為Fibonacci數(shù)時,先手必?cái)?;其次證明當(dāng)[n]為非Fibonacci數(shù)時,根據(jù)“Zeckendorf定理”,可以對[n]進(jìn)行分解,從而先手可以將問題轉(zhuǎn)化為Fibonacci數(shù)時后手先取的情況,故后手必?cái)?
首先設(shè)數(shù)列[an],其中a1=2,a2=3,an+1=an+an-1(n≥2).顯然,數(shù)列[an]中的元素都是Fibonacci數(shù).
下面我們用數(shù)學(xué)歸納法證明當(dāng)棋子數(shù)量為an時,先手必?cái)?
證明過程如下:
(1)當(dāng)n=1時,a1=2,先手只能取1顆,顯然必?cái)?,結(jié)論成立.
(2)假設(shè)當(dāng)n≤k時,結(jié)論成立.下面證明當(dāng)n=k+1時,結(jié)論也成立.
已知當(dāng)n=k+1時,ak+1=ak+ak-1.
假如先手第一次取的棋子數(shù)a≥ak-1,因?yàn)閍k=ak-1+ak-2<2ak-1,則后手可以直接取完ak.所以我們可以把[ak+1]顆棋子看成兩堆,簡稱為[k]堆(棋子數(shù)為[ak])和[k-1]堆(棋子數(shù)為[ak-1]).
對于[k-1]堆,由假設(shè)可知,先手必?cái)?,即后手總能取到最后一顆.
接著我們來分析后手最后取到的棋子數(shù)x的情況.
如果先手第一次取的棋子數(shù)y≥[13][ak-1],則后手可以一次取完[k-1]這小堆所剩的棋子數(shù),即x=[ak-1]-y≤[23ak-1],此時先手是否能一次取完[k]堆所有的棋子呢?我們不妨比較[23ak-1]與[12ak]的大小.
根據(jù)[12ak-23ak-1=16(3ak-4ak-1)][=16[3(ak-1+ak-2)-4ak-1]=16(3ak-2-ak-1)][=16(3ak-2-ak-2-ak-3)=16(2ak-2-ak-3)>0 ,]
所以我們得到x≤[23ak-1]<[12ak],即后手取完[k-1]堆后,先手不能一次取完[k]堆,所以現(xiàn)在游戲變?yōu)橹皇O缕遄訑?shù)為[ak]的[k]堆,先手開始取,即游戲規(guī)則沒有改變.由假設(shè)可知,對于[k]堆,后手仍能取到最后一顆,故后手必勝.
如果先手第一次取的棋子數(shù)[y<13ak-1],顯然后手不能一次取完[k-1]堆,但后手總能取到最后一顆,而且一定有[x<23ak-1],同理后手必勝.
即對于n=k+1,結(jié)論依然成立.
所以我們證明了當(dāng)棋子數(shù)為Fibonacci數(shù)時,先手必?cái)?
接著來看看如果棋子數(shù)為非Fibonacci數(shù),會有什么情況發(fā)生.這需要借助“Zeckendorf定理”:任何正整數(shù)可以表示為若干個不連續(xù)的Fibonacci數(shù)之和.
若棋子數(shù)為n,且[n?an],那么可以把[n]分解為[n=ai1+ai2+…+aipi1>i2>…>ip],且[i1,i2,…,ip]都是兩兩不連續(xù)的正整數(shù).我們令先手先取完[aip],即棋子數(shù)最小的一堆.由于各個[aiξ(ξ=1,2,…,p)]之間不連續(xù),則有[ip-1>ip+1],則有[aip-1>2aip]故后手只能取[aip-1]這一堆,而且一次取不完,此時先手可以取到這一堆的最后一顆棋子.同樣的道理,對于后面的每一堆[aiξ(ξ=1,2,…,p-2)],先手都可以取到這一堆的最后一顆棋子,從而獲得游戲的勝利.endprint
不妨舉例進(jìn)行說明,當(dāng)[n=83]時,可以分解為[83=55+21+5+2].此時先手先取2顆,后手可以在5顆這一堆中取[m1(1≤m1≤4, m1∈N+)]顆,無法一次取完全部.由于5是Fibonacci數(shù),所以先取的必?cái)。ㄏ仁忠呀?jīng)取走開始的2顆,對5顆這一堆而言,輪到后手先取,即后手此時變?yōu)閷?shí)際意義上的先手),即后手必?cái)。氏仁挚梢匀〉?顆這堆中的最后一顆.同理后手開始取21顆這一堆,且無法一次取完全部,由于21也是Fibonacci數(shù),即先取的后手必?cái)?,所以先手可以取?1顆這一堆的最后一顆.顯而易見,先手最后同樣可以取到55顆這堆中的最后一顆,從而獲得游戲的勝利.
下面表2表示當(dāng)[n=83]時先手為了最快取得勝利的策略(假設(shè)后手同樣希望在最短時間內(nèi)結(jié)束游戲),此時第一次取走的棋子數(shù)[m]要滿足以上兩個條件,顯然只能是[5+2=7]顆:當(dāng)棋子只剩下最后一堆,即棋子數(shù)為Fibonacci數(shù)55時,先手需要保證在遵守游戲規(guī)則的前提下使得每次取完后的棋子數(shù)仍然為Fibonacci數(shù),即可取得最終勝利.
四、結(jié)語
一個簡單的Nim型游戲竟然會和Fibonacci數(shù)產(chǎn)生聯(lián)系,多么神奇啊!這不禁讓人聯(lián)想到正多邊形作圖問題與費(fèi)馬數(shù)的結(jié)合,費(fèi)馬應(yīng)該怎么也不會想到他發(fā)明的費(fèi)馬數(shù)會在100多年后被高斯用來解決2000多年前古希臘時期的正多邊形作圖問題.這也正是數(shù)學(xué)極具魅力的地方:看似完全沒有關(guān)系的問題竟然可以通過出乎意料的方式聯(lián)系在一起.但這種發(fā)現(xiàn)需要的并不僅僅是天馬行空的想象力,同樣需要一定的數(shù)學(xué)核心素養(yǎng),包括邏輯推理、直觀想象和數(shù)學(xué)運(yùn)算等等.
本文探討的Nim型游戲最有趣的地方是不管游戲進(jìn)行到了哪一步,對兩名玩家的其中一個一定存在著一個取勝的策略,玩這個游戲并沒有運(yùn)氣的成分,任何人都希望在游戲中獲得勝利,這也使得游戲的教學(xué)會激發(fā)學(xué)生的好勝心,從而促使他們通過不斷的試驗(yàn)來找到獲勝策略.在教師的引導(dǎo)下,學(xué)生可以利用數(shù)次試驗(yàn)的數(shù)據(jù)來進(jìn)行想象和猜想,接著嘗試用嚴(yán)密的邏輯推理來證明猜想是否正確,顯然這其中需要借助不錯的數(shù)學(xué)運(yùn)算能力.
利用數(shù)學(xué)游戲進(jìn)行教學(xué),不僅可以提高學(xué)生的學(xué)習(xí)興趣,激發(fā)學(xué)生的創(chuàng)造靈感,感受數(shù)學(xué)的奇妙之處;更重要的是,有助于學(xué)生提高觀察和思考的能力,讓學(xué)生學(xué)會從已知的現(xiàn)象探索未知的部分,透過現(xiàn)象看本質(zhì),提升學(xué)生的邏輯思維和運(yùn)算能力,培養(yǎng)學(xué)生的數(shù)學(xué)核心素養(yǎng).
參考文獻(xiàn):
[1]弗賴登塔爾.作為教學(xué)任務(wù)的數(shù)學(xué)[M].陳昌平,唐瑞芬,編譯.上海:上海教育出版社,1995:7.endprint