鄭波盡 鐘凱瑞
摘要:產(chǎn)生式系統(tǒng)是人工智能教學(xué)中的重點和難點。本文進行了七個學(xué)期的教學(xué)實踐,通過設(shè)置對照組,定性地研究了在不同教學(xué)方法下學(xué)生的表現(xiàn)。結(jié)果發(fā)現(xiàn):1)在教學(xué)環(huán)節(jié)中,強調(diào)實踐、要求學(xué)生自行編制出程序是重要的,這能有效地促進學(xué)生理解;2)在開放式教學(xué)情形下,學(xué)生的創(chuàng)造性會得到發(fā)揮;3)激發(fā)學(xué)生的興趣,則能有效地提高學(xué)生參與編程的積極性。通過總結(jié)教學(xué)經(jīng)驗,凝練出在產(chǎn)生式系統(tǒng)教學(xué)中需遵循的“興趣導(dǎo)向、實踐優(yōu)先、開放活潑”的教學(xué)思路。
關(guān)鍵詞:產(chǎn)生式系統(tǒng);人工智能;教學(xué)實踐
中圖分類號:TP3-05 文獻標(biāo)識碼:A DOI:10.3969/j.issn.1003-6970.2015.05.007
0 引言
產(chǎn)生式系統(tǒng)是人工智能中的一個經(jīng)典部分。產(chǎn)生式系統(tǒng)的教學(xué)在人工智能的教學(xué)具有承上啟下的作用。首先,學(xué)生需要理解知識表中的邏輯表示方法之后才能更容易地學(xué)習(xí)該部分,這里,產(chǎn)生式系統(tǒng)表現(xiàn)出承接作用;其次,理解了產(chǎn)生式系統(tǒng),才能更容易地學(xué)習(xí)人工智能中其他相關(guān)知識。正是因為產(chǎn)生式系統(tǒng)具有承上啟下的作用,該部分的教學(xué)對于學(xué)生的融合貫通起著關(guān)鍵作用。此外,編寫產(chǎn)生式系統(tǒng)可以訓(xùn)練學(xué)生的邏輯能力,也可以作為計算機語言教學(xué)的良好實例。
對于產(chǎn)生式系統(tǒng)部分的教學(xué),主要目的在于:讓學(xué)生理解產(chǎn)生式系統(tǒng)的基本構(gòu)造,并能利用產(chǎn)生式系統(tǒng)求解問題。在我們的教學(xué)中,要求學(xué)生能夠使用產(chǎn)生式系統(tǒng)解決一些有趣的智力題,從而真正體現(xiàn)機器求解智力問題的能力。
為了達到該目的,我們在七個學(xué)期的課程上進行了各種探索。本文通過總結(jié)這七個學(xué)期的經(jīng)驗,提出產(chǎn)生式系統(tǒng)教學(xué)中需遵循的“興趣導(dǎo)向,實踐優(yōu)先,開發(fā)活潑”的教學(xué)思路。
1 教學(xué)實踐案例
在本教學(xué)實踐案例中,共選擇了2006—2007學(xué)年兩個學(xué)期、2007—2008學(xué)年第一個學(xué)期、2010—2011學(xué)年兩個學(xué)期,2011—2012學(xué)年兩個學(xué)期作為考察對象。在授課中,分為《人工智能A》和《人工智能B》兩種教學(xué)形式。選擇《人工智能B》的班級不進行上機實驗操作,而選擇《人工智能A》的班級需要在計算機上完成相應(yīng)的實驗。
為了達到形象化教學(xué)的目標(biāo),在產(chǎn)生式系統(tǒng)的教學(xué)中,選擇了一個智力題作為算法求解目標(biāo)。該題目常稱為量水問題,可簡單描述如下:
有兩個無刻度標(biāo)志的空水壺,分別可裝4升和3升的水。設(shè)另有一個10升的水壺裝滿了水。各個水壺之間僅可以相互傾灌。問如何通過倒水或灌水操作,量出2升的水來。
該問題是一個典型的智力問題。對于大學(xué)生來講,該問題并不困難。但是,用計算機來求解確實一個具有挑戰(zhàn)性的問題,因為,學(xué)生們不僅僅是自己會求解該問題,還要讓機器也能做到。
1.1 教學(xué)情況說明
為了考察實踐編程環(huán)境的影響,對于《人工智能B》的班級,僅進行理論教學(xué)。教學(xué)步驟為:1)簡單介紹產(chǎn)生式系統(tǒng)的構(gòu)成:數(shù)據(jù)庫、規(guī)則庫、推理機;2)講授水壺之間傾倒的所有規(guī)則;3)給出程序,將程序中的各條語句與理論一一對應(yīng)說明。
對程序部分,則教授由教師所編寫的程序。具體教學(xué)內(nèi)容如下:
1)首先定義數(shù)據(jù)庫中的變量,即水壺中已存水的數(shù)量。定義了三個變量,并賦予初值。程序用C語言可以寫作如下語句:
1.2 教學(xué)效果說明
對于所有班級的學(xué)生,都組織書面考試??荚嚨念}目就是默寫整個程序。由于選課學(xué)生的專業(yè)不同,因此,卷面成績的波動較大。數(shù)學(xué)專業(yè)的學(xué)生選擇的是《人工智能B》,從卷面上看,小錯漏較多,說明多數(shù)是靠背誦過關(guān)。自動化專業(yè)和計算機科學(xué)與技術(shù)專業(yè)的學(xué)生選擇的是《人工智能A》,多數(shù)情形下表現(xiàn)略好。然而,在前五個學(xué)期的教學(xué)實踐中,教師先行給出了程序,相反地,學(xué)生錯漏的出現(xiàn)率較高,說明學(xué)生的依賴心理較重,靠背誦過關(guān);在后兩個學(xué)期中,教師沒有先行給出程序,卷面成績反而上升,小錯漏減少,說明學(xué)生理解的程度較高。這部分的結(jié)果表明:實踐環(huán)節(jié)對教學(xué)效果的影響很大,加入實踐環(huán)節(jié)能顯著提高教學(xué)效果。
除開書面考試成績的比較,當(dāng)沒有先行給出程序時,學(xué)生們最主要的進步是在實驗環(huán)節(jié)。由于沒有程序,學(xué)生們開動腦筋,對于量水問題給出了很多其他的方案。在2010—2011學(xué)年,學(xué)生提出了用寬度優(yōu)先、深度優(yōu)先等搜索策略來改進隨機推理機制,以獲得最簡單的倒水方案,并給出了正確的源程序。在2011—2012學(xué)年第二個學(xué)期,學(xué)生們又提出了一個意想不到的新策略。
學(xué)生提出的策略是:每次將4升壺的水倒入3升壺,3升壺的水倒入10升壺,而10升壺的水倒?jié)M4升壺。由于從數(shù)學(xué)上看,數(shù)字4和3互質(zhì),且相差僅僅為1,因此,這一個循環(huán)傾倒的策略總能獲得2升水。即使是換成要量出5升水等形式,也很容易地能得到。
學(xué)生所提出的策略從編程上看,更為簡單,也能達到以前程序的效果,充分說明了大學(xué)生的創(chuàng)新能力。
從以上兩次學(xué)生提出的創(chuàng)新思路,尤其是后一次的思路來看,教學(xué)效果要遠遠好于以前的固定刻板的教學(xué)模式,說明在開放式情形下,學(xué)生的創(chuàng)造性能夠得到發(fā)揮。
因為實踐環(huán)節(jié)對教學(xué)效果非常重要,在后面兩個學(xué)期的教學(xué)中,我們著重強調(diào)了提升學(xué)生興趣的教學(xué)環(huán)節(jié),增加了學(xué)生編寫程序的積極性。
2 經(jīng)驗總結(jié)
從這個教學(xué)案例中,可以總結(jié)出這么幾方面的經(jīng)驗:
1)在產(chǎn)生式系統(tǒng)的教學(xué)中,切忌只是從理論到理論。從理論到理論的方式會使得學(xué)生失去基本的興趣。當(dāng)失去基本的興趣以后,學(xué)生將不再配合學(xué)習(xí),從而使得后續(xù)的教學(xué)更為艱難。
2)最好采用案例教學(xué)的方式。采用案例教學(xué)的方式會使得學(xué)生更容易理解,更容易接受。對于案例的選擇,可以選擇傳教士過河問題、量水問題、八皇后問題等學(xué)生喜聞樂見的智力題,要求學(xué)生用計算機程序的方式解決。在案例的選擇上,要堅持簡單原則,太復(fù)雜的程序?qū)W生會不太喜歡。從實踐上看,量水問題比傳教士過河問題要簡單,因此,建議多選擇這樣的案例。
3)相信學(xué)生,從而給學(xué)生表現(xiàn)的機會。大學(xué)生處于創(chuàng)造力的高峰時期,如果能夠激發(fā)學(xué)生的興趣,則學(xué)生自然會在興趣的指引下發(fā)揮其創(chuàng)造力,給出更簡單更有效的方案。
4)實踐優(yōu)先。由于長期的應(yīng)試教育的熏陶,大學(xué)生普遍具有“等、靠、要”的思想。如果不給予實踐的機會,多數(shù)大學(xué)生們通常不會去嘗試求解難度較大的問題。在實踐中,要避免將學(xué)生看作機器,不能要求學(xué)生完全按照實驗操作規(guī)程進行操作。這樣的標(biāo)準化、刻板化的實踐的確從表面上看實驗報告更漂亮,但實際上,學(xué)生多數(shù)情況下是知其然,不知其所以然。從教學(xué)的本質(zhì)上講,這樣做是違背教學(xué)規(guī)律的。
5)理論升華。在實踐完成以后,教師一定要抓住機會,將程序中的各個部分與理論中的各個部分對應(yīng)起來。這樣學(xué)生才能夠融會貫通,真正理解產(chǎn)生式系統(tǒng)。
總而言之,對于產(chǎn)生式系統(tǒng)這樣的知識點,在實踐中采用“興趣導(dǎo)向,實踐優(yōu)先,開放活潑”的教學(xué)思路是可行的。
3 結(jié)束語
對于《人工智能》課程中產(chǎn)生式系統(tǒng)這一知識點,本文討論了教學(xué)中的一點心得體會,總結(jié)出“興趣導(dǎo)向,實踐優(yōu)先,開放活潑”的教學(xué)思路。目前,在《人工智能》的教學(xué)中,對于產(chǎn)生式系統(tǒng)這部分的教學(xué),我們堅持使用本文提到的思路,效果良好。從學(xué)生的反應(yīng)來看,加深了對于機器求解問題的理解,加深了對人工智能的理解。