袁利國,聶篤憲,張勝祥
(華南農(nóng)業(yè)大學(xué) 數(shù)學(xué)與信息學(xué)院,廣東 廣州 510642)
分形(Fractal)、混沌與孤立子是非線性動力學(xué)研究的三大主題。分形即分形幾何學(xué),是Benoit B.Mandelbrot在20世紀70年代新提出的數(shù)學(xué)研究分支,分形是由分析自然界中不規(guī)則、不光滑幾何體或一些人為構(gòu)造的“病態(tài)”幾何體而發(fā)展起來的一門學(xué)科。[1]5-30如:英國的海岸線有多長?[2]Peano曲線與Koch曲線有多長?謝爾賓斯基墊片的維數(shù)是多少?這些問題的解決都超出了傳統(tǒng)幾何學(xué)的范疇,從而提出分形(分數(shù))維數(shù)、分形插值、分形圖像壓縮等分形幾何的概念與方法。[3]1-20分形在物理學(xué)、化學(xué)、生物學(xué)、經(jīng)濟學(xué)、圖形學(xué)等學(xué)科都有廣泛應(yīng)用。高中數(shù)學(xué)教材也有涉及分形的簡單介紹。[4]2-20如:芝加哥大學(xué)數(shù)學(xué)課程設(shè)計第四冊高中代數(shù)中第14章“維數(shù)和空間”的內(nèi)容介紹了分形創(chuàng)始人Mandelborot、舉例闡述什么是分形、講解了分維(分數(shù)維數(shù)) 概念等。[5]36-41國外也有文獻闡述分形幾何初步知識融入中學(xué)課堂的必要性,以及“海岸線與分形”列入高中數(shù)學(xué)文化,分析了分形的畫法與制作、分形幾何與中學(xué)數(shù)學(xué)的關(guān)聯(lián)性等內(nèi)容。[6]
混沌(Chaos)概念產(chǎn)生于20世紀初,龐加萊在研究n體問題時發(fā)現(xiàn)了對初始條件敏感的現(xiàn)象,龐加萊指出:由于長期的不可預(yù)測性,隨機性和決定論變得可以互相兼容,在確定性系統(tǒng)中有類隨機性現(xiàn)象。[7]洛倫茲(Lorenz)于1972年參加一場氣象會議時報告了著名的論文:“可預(yù)測性:巴西蝴蝶翅膀的扇動會在德克薩斯州引發(fā)龍卷風(fēng)嗎?”[8]洛倫茲發(fā)現(xiàn)了一個非線性系統(tǒng)的混沌行為,即天氣的混沌行為。數(shù)學(xué)家Li-Yorke在“周期三意味著混沌”論文中才首次提出混沌的概念。[9]混沌的主要特征是初值敏感依賴性、系統(tǒng)的有界性、拓撲傳遞性、遍歷性、周期軌的稠密性、具有奇怪吸引子等。
分形與混沌聯(lián)系緊密,時常同時出現(xiàn),如:一維Logistic映射通過倍周期分岔走向混沌,對混沌區(qū)的軌道進行放大,則仍有倍周期分岔現(xiàn)象,是分岔的無窮嵌套,具有分形的重要特征即自相似性。分形幾何中也可能蘊含混沌,如:Mandelbrot分形集中具有混沌吸引子現(xiàn)象。目前,分形與混沌具有廣泛的應(yīng)用,如:分形圖像壓縮、混沌圖像加密、混沌保密通訊、分形插值擬合振蕩數(shù)據(jù)、分形在植物學(xué)中的應(yīng)用等。[1]5-30
本科院校數(shù)學(xué)專業(yè),有開設(shè)分形與混沌選修課程的必要性。在學(xué)完數(shù)學(xué)分析、實變函數(shù)與泛函分析等課程之后,我校高年級本科生開設(shè)了此專業(yè)選修課。本文將重點闡述分形幾何內(nèi)容的教學(xué)探索,針對混沌相關(guān)的內(nèi)容留給以后再闡述。
“分形與混沌”課程在我校開設(shè)十多年,作為高年級的數(shù)學(xué)拓展選修課程,該課程共分三大部分:理論課、實驗課與課程設(shè)計。[10]這也是響應(yīng)教育部的課程設(shè)置改革要求,提升實踐實驗教學(xué)課的占重比例,實驗課與課程設(shè)計也正當(dāng)其時,切實把理論與實踐相結(jié)合。該課程中理論課32學(xué)時,16學(xué)時/個學(xué)分,合計2個學(xué)分。內(nèi)容大致覆蓋了分形與混沌的歷史起源、分形圖形的生成方法、分形空間與迭代函數(shù)系統(tǒng)、測度與維數(shù)、分形插值、混沌的基本概念與分析方法、分形混沌動力系統(tǒng)、隨機分形與分形圖像壓縮等。同時,配套的實驗課16學(xué)時,計0.5個學(xué)分,共8次實驗,以實驗報告的形式完成。主要基于Matlab軟件與Python軟件,上機完成8個編程實驗。例如:如何編程實現(xiàn)生成各種分形集、如何實現(xiàn)隨機迭代函數(shù)系統(tǒng)、如何計算盒維數(shù)、分形插值、分形圖像壓縮、混沌圖像加密等。要求學(xué)生寫出相應(yīng)的程序代碼及運行結(jié)果。另附加課程設(shè)計1個學(xué)分,分散在整個學(xué)期的平時完成,無須教室或機房,根據(jù)老師給出的課程設(shè)計題目在期末提交一份報告,類似于文獻綜述,提倡創(chuàng)新。通常老師布置一些問題,同學(xué)們?nèi)迦朔纸M合作完成撰寫課程設(shè)計。例如:課程設(shè)計題目:分形插值與傳統(tǒng)插值的比較分析及其應(yīng)用、分形圖像壓縮的Python實現(xiàn)等。課程考核情況,理論課在期末組織閉卷考試,實驗與課程設(shè)計則只需要提交報告,分別給出成績。最后,對這些教學(xué)過程的材料進行歸檔建檔。同時,隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,特別是疫情防控期間,線上課程占了主流。因此,順應(yīng)課程的開放性趨勢,可建設(shè)分形與混沌的網(wǎng)絡(luò)課程,把上課的視頻材料上傳到網(wǎng)站,更多的分享出去,讓更多的同學(xué)了解這門課程,學(xué)習(xí)相關(guān)知識。
高中數(shù)學(xué)已經(jīng)融入了分形的內(nèi)容。[5]36-41教育部制定了《普通高中數(shù)學(xué)課程標準(2017年版2020年修訂)》,其中:D類課程包括美與數(shù)學(xué),共1個學(xué)分。美與數(shù)學(xué)的簡潔指出:“數(shù)學(xué)可以刻畫現(xiàn)實世界中的簡潔美。例如:雪花、云彩、群山、海岸線、某些現(xiàn)代設(shè)計等美的共性與分形相關(guān)?!盵11]這里明確指出了分形幾何與現(xiàn)實生活及自然界緊密相連,分形幾何要融入高中數(shù)學(xué)教學(xué),除了平面與立體幾何,都是非常規(guī)則的幾何體,現(xiàn)實世界的幾何是更復(fù)雜的。如何準確高質(zhì)量地實現(xiàn)高中數(shù)學(xué)課程標準中對分形幾何的教學(xué)要求?對中學(xué)教師提出新的挑戰(zhàn)。因此,要培養(yǎng)具有這方面專業(yè)素養(yǎng)的數(shù)學(xué)教師,大學(xué)的數(shù)學(xué)本科專業(yè)很有必要開設(shè)分形幾何的課程,對大學(xué)生進行分形幾何方面的教學(xué),進行這方面的培養(yǎng)。當(dāng)這些大學(xué)生走進中學(xué)課堂,才有能力勝任新標準下的高中數(shù)學(xué)教學(xué)工作。
圖1 Sierpinski三角形
同時,不少大學(xué)也開設(shè)了分形與混沌的本科生課程。如:北京大學(xué)素質(zhì)教育通選課開設(shè)了自然科學(xué)中的混沌和分形,華中科技大學(xué)物理教學(xué)過程中也有交叉結(jié)合分形理論,對非線性物理教學(xué)進行改革。也有其他學(xué)科融入了分形的內(nèi)容,如:地球科學(xué)、高等教育、經(jīng)濟學(xué)、計算機科學(xué)與化學(xué)等,都有成功地把分形應(yīng)用到這些學(xué)科,促進了交叉學(xué)科的發(fā)展。“分形與混沌”課程需要做相應(yīng)的系列數(shù)值模擬實驗,從而促進程序語言的應(yīng)用,例如:C語言、Matlab語言與Python語言等,相應(yīng)提升大學(xué)生的計算機能力。其中:課程設(shè)計促進學(xué)生的思維能力、文字能力、查找文獻與創(chuàng)新能力,撰寫論文與畢業(yè)設(shè)計的能力等。本科階段開設(shè)“分形與混沌”課程拓展了本科生的視野,也促進其他學(xué)科的發(fā)展。畢業(yè)生也有些會攻讀研究生,從事分形與混沌及非線性動力學(xué)的研究,這也為將來打下一定的研究基礎(chǔ)。由此開設(shè)此選修課十分必要。
缺少合適的與時俱進的新教材,包括理論課教材與實驗課教材,以及配套的習(xí)題集。“分形”是一本經(jīng)典分形幾何本科生教材。[3]1-20但現(xiàn)在已經(jīng)停止發(fā)行,且側(cè)重分形知識的介紹,對混沌的內(nèi)容介紹相對較少。應(yīng)減少分形圖形的生成章節(jié),增加迭代函數(shù)系統(tǒng)、測度與維數(shù)、分形插值與混沌相關(guān)的理論知識,以及分形與混沌的典型應(yīng)用的介紹,如:分形圖像壓縮、混沌圖像加密等,擬做到理論與應(yīng)用相結(jié)合,本科階段突出應(yīng)用,而不是純理論的講解。同時,配套習(xí)題集與詳細解答,以及配套的基于某種程序的實驗教材,如:基于Python或Matlab的分形與混沌實驗教材。這樣才是較完整的一個課程體系。
“分形與混沌”課程教學(xué)的師資力量相對較弱,不像微分方程、復(fù)變函數(shù)或?qū)嵶兒瘮?shù)、概率統(tǒng)計等傳統(tǒng)學(xué)科有較強的師資。在碩士和博士研究生階段做這方面研究的教師并不多,因此,能直接勝任這門課程教學(xué)的老師較少。此課程需要掌握分形幾何與非線性動力學(xué)中的分岔混沌等理論知識,同時需要會寫應(yīng)用程序,如:Matlab或Python等。我們需要引進或培養(yǎng)一些擅長分形與混沌方面的師資??梢越M建三人以上的教學(xué)團隊,以傳幫帶的方式培養(yǎng)我們自己的任課老師,以免出現(xiàn)斷層斷代現(xiàn)象,使得這門課程可持續(xù)發(fā)展,這也是倒逼老師與時俱進,教學(xué)相長,及時更新自己的知識儲備,以適應(yīng)時代的發(fā)展,適應(yīng)學(xué)科的發(fā)展。
課時數(shù)與教學(xué)大綱等需要修訂,此課程是選修課,涉及的教學(xué)內(nèi)容較多,教學(xué)大綱涉及了分形幾何與混沌兩大塊,但理論學(xué)時只有32學(xué)時,對每個知識點的講解只是略作介紹,很少有深入分析,更少有證明與推導(dǎo)過程,因此,有必要增加學(xué)時數(shù)以應(yīng)對教學(xué)內(nèi)容的增加,建議增至48學(xué)時,這樣才基本夠用。
分形與混沌的教學(xué)可設(shè)計大量的實驗,這些實驗可以更好地理解理論知識,也能更好地將理論應(yīng)用到一些具體問題,同時,促進計算機程序語言的學(xué)習(xí),促使同學(xué)們掌握一門新的計算機語言。[14]根據(jù)電腦的操作系統(tǒng)windows版本不同,在以下網(wǎng)站下載相應(yīng)的Python版本https://www.python.org/downloads/,否則無法安裝成功。然后,在Python中打開代碼開發(fā)工具IDLE可以撰寫并運行程序了。
圖2 沙漏花生成元
圖3 沙漏花(4次迭代)
#沙漏花的Python程序
import turtle #導(dǎo)入Python自帶的庫實現(xiàn)海龜運動作圖
def flower(distance,m): #定義函數(shù)flower,括號中為形參,調(diào)用時是實參
if(m==0):
turtle.fd(distance) #向前畫distance個單位像素的距離
else: #與if配套的判斷語句
for angle in[0,60,-120,0,120,-60]: #把序列中的每一個對象分配給angle角度
turtle.left(angle) #更改turtle的方向,左轉(zhuǎn)angle角度
flower(distance/4,m-1) #調(diào)用函數(shù)flower
turtle.shape('turtle')
wn=turtle.Screen() #畫筆形狀與新建作圖窗口
wn.setup(width=100,height=500) #作圖窗口的大小設(shè)置
turtle.pensize(3) #畫筆粗細,數(shù)字越大越粗
turtle.penup() #提起筆
turtle.goto(-300,-100) #移動筆但不畫線
turtle.pendown() #放下筆
turtle.speed(0) #畫圖速度,0代表最快
flower(300,4) #調(diào)用函數(shù)
turtle.hideturtle() #關(guān)閉畫筆
#Python使用縮進表示上下級關(guān)系,注意縮進空格數(shù)規(guī)范,否則會報錯
Fig=turtle.getscreen()
Fig.getcanvas().postscript(file="flower.eps") #輸出eps格式圖形課程設(shè)計方面,也可布置一些問題并用Python實現(xiàn),如:分形插值、經(jīng)典分形集、分形圖像壓縮等的Python程序?qū)崿F(xiàn),通過分形的學(xué)習(xí),促進Python的學(xué)習(xí),反之,通過寫程序代碼也加深分形幾何的概念方法等的理解與應(yīng)用,二者相互促進。
從“分形與混沌”選修課的課程大綱、學(xué)分學(xué)時數(shù)、實驗課設(shè)置、課程設(shè)計等方面進行了闡述,并對開設(shè)此課程的必要性與困難、分形維數(shù)的教學(xué)案例、基于Python語言的分形實驗等進行了分析。開設(shè)“分形與混沌”選修課可拓寬學(xué)生的視野,增加學(xué)生的數(shù)學(xué)知識貯備,無論是繼續(xù)深造數(shù)學(xué)專業(yè)的研究生,還是走上中學(xué)數(shù)學(xué)教師崗位,或升學(xué)轉(zhuǎn)專業(yè)至其他學(xué)科深造,了解并掌握一定的分形與混沌知識是必要且有益的。但目前設(shè)置“分形與混沌”選修課的高校并不多,這是多種原因?qū)е碌默F(xiàn)狀,特別是師資力量的缺失。通過以上分析,對該門課程的建設(shè)與教學(xué)進行了一定探索,希望有更多的高校開設(shè)此課程,并得到更好的發(fā)展,為理工類特別是數(shù)學(xué)系的大學(xué)生提供更多的優(yōu)質(zhì)課程選項。