張萌 崔光佐



[摘要]當前教育的中心越來越圍繞學生展開,對學生解題過程的分析能挖掘出深層次的認知過程,幫助教師更精確地定位學生的問題所在。文章基于卡耐基梅隆大學最新研究成果,利用ACT-R模擬學生的解題過程,通過解題過程分析提出課題教學的四點建議,幫助教師更加有效地實施教學促進學生學習。
[關(guān)鍵詞]算術(shù);解題過程分析;ACT-R模擬;認知診斷
[中圖分類號]G420 [文獻標識碼]A [論文編號]1009-8097(2013)03-0036-05 [DOI]10.3969/j.issn.1009-8097.2013.03.007
引言
算術(shù)是數(shù)學中最基礎(chǔ)的部分,其內(nèi)容包括自然數(shù)及其在各種運算下產(chǎn)生的性質(zhì)、運算法則和實際中的應用。它的發(fā)展與邏輯思維能力、空間觀念的培養(yǎng)是緊密聯(lián)系的。算術(shù)的學習是小學數(shù)學教學的核心,教育家徐特立曾指出:“小學校之算術(shù),使習熟日常計算生活必須之知識,兼以精確其思考為要旨?!币勒掌喗苷J知發(fā)展理論,小學生處于四個階段中的具體運演階段,這個階段的學生出現(xiàn)了邏輯思維和零散的可逆運算,但一般只能對具體事物或形象進行運算。算術(shù)學習中的一個重要任務是學習算理,而算理其實就是對數(shù)字的邏輯操作方法,可想而知算術(shù)對于剛剛出現(xiàn)邏輯思維的小學生來說相當困難。怎樣科學地進行算術(shù)教學,才能幫助學生有效地掌握算理,從而運用算術(shù)解決實際問題?
目前對算術(shù)學習的研究很多,主要集中在教育學、心理學、認知神經(jīng)科學三個領(lǐng)域。自古以來,中國的算術(shù)教學較為關(guān)注學生計算技能的培養(yǎng),教育學探索有效教學的方法和失誤的原因及糾錯的方法。學生要達到熟練掌握計算步驟必須從運算的流暢和對運算所需的數(shù)學思想和法則的理解上著手。20世紀70年代以來,有關(guān)算術(shù)認知的研究受到了心理學家的廣泛關(guān)注。Hitch開創(chuàng)了工作記憶在算術(shù)認知中作用的研究,他認為個體犯錯誤的原因主要是忘記了部分計算結(jié)果和最初的信息:以Siegler等為主要代表的研究者關(guān)注算術(shù)認知策略,從兒童算術(shù)策略提取、選擇和發(fā)現(xiàn)的角度解釋兒童算術(shù)認知的表現(xiàn)。認知神經(jīng)科學認為計算行為可能包含以下幾種認知成分,即數(shù)字識別、數(shù)學符號含義的理解、從長時記憶中提取計算事件、計算方法的選擇、運算規(guī)則和特殊計算程序的執(zhí)行、中間結(jié)果的暫時儲存和再提取以及記憶結(jié)果的表達;張權(quán)等用fMRI技術(shù)對數(shù)字計算相關(guān)腦功能區(qū)進行定位,初步分析各個腦功能區(qū)在數(shù)字計算中的作用,證實工作記憶在計算中發(fā)揮了重要作用。這些領(lǐng)域的廣泛關(guān)注,促使算術(shù)研究越來越科學化,算術(shù)教學越來越有成效,但是仍然存在許多不足。教育學領(lǐng)域?qū)λ阈g(shù)的研究停留在實踐總結(jié)的水平上,對于算術(shù)的認知過程不了解,總結(jié)出來的教學方法缺乏可操作性。而心理學對于算術(shù)的研究大多只著眼于影響算術(shù)過程的某些方面,比如工作記憶、認知策略等,它也沒有清楚地描述出算術(shù)的整個認知過程。認知神經(jīng)科學的研究推動了算術(shù)研究的科學化,但是離教學有一定的距離。
針對以上不足,本文借助卡耐基梅隆大學認知實驗室的最新研究成果ACT-R,對一道有余數(shù)的除法題的解題過程進行仿真,清晰地呈現(xiàn)學生解決有余數(shù)除法題的過程,依據(jù)仿真結(jié)果挖掘出算術(shù)學習的關(guān)鍵點,希望能對小學算術(shù)教學提供有效的參考。
一.基于ACT-R的算術(shù)仿真
1.ACT-R(Adaptive Control Theory-Rational)的簡介
ACT-R是著名認知心理學家安德森(Anderson J.R)組織開發(fā)的一種認知仿真工具,能夠模擬人的一些認知活動。它依據(jù)大量的認知心理學實驗,其仿真結(jié)果得到真人實驗和核磁共振實驗的驗證。目前使用這種認知工具已經(jīng)成功地模擬了多種認知任務,如漢諾塔、模式識別、記憶、數(shù)學的認知過程等。
ACT-R將知識劃分為陳述性知識和程序性知識,從而將認知過程細化到操作層次,可幫助我們了解學生學習的過程及其調(diào)用的知識,通過診斷可反應其知識的完整性。其中陳述性知識是指我們意識到自己知道并且能夠陳述給其他人的知識,例如:地球是圓的,1+1=2等。陳述性知識要先定義類型再編碼具體的知識,ACTOR中的陳述性知識定義模式為(chunk-type名稱屬性1屬性2屬性3…)。圖1為ACT-R對兩條陳述性知識的編碼。
ACT-R中的陳述性知識用知識塊(chunk)來表示。每個知識塊由其名稱、類別、屬性及屬性值來定義。如圖1左邊所示,“Character”是這個知識塊的名稱,“shape”表示該知識塊所屬的類別是形狀,“agent”和“attribute”是屬性,“earth”和“global”是對應的屬性值。每一個知識塊可以由任意多個屬性及其屬性值構(gòu)成,圖1右邊的例子表示一個事實(fact),其類別是加法事實(addition-fact),屬性有三個,被加數(shù)(addendl)值為1,加數(shù)(addend2)值為1,和(sum)值為2。
程序性知識是沒有意識但可以通過行為顯示的知識,就像我們都會說話,但是不能說出說話的規(guī)則一樣。ACT-R中的程序性知識是通過產(chǎn)生式來實現(xiàn)的,產(chǎn)生式用“?!边B接事件產(chǎn)生的條件和條件滿足時將產(chǎn)生的動作,表示如果滿足事件產(chǎn)生的條件就執(zhí)行產(chǎn)生的動作。這種產(chǎn)生式系統(tǒng)是人工智能領(lǐng)域公認的人類解決問題的基本范式。ACT-R中產(chǎn)生式的一般模式如下:
(P名字
事件產(chǎn)生的條件
產(chǎn)生的動作
)。
2.一道有余數(shù)除法題的ACT-R仿真
本文以人教版小學三年級數(shù)學上第51頁的例題23÷5為例,模擬學生解決這道題的過程,分析算術(shù)過程中的關(guān)鍵點。
(1)陳述性知識——前修知識的挖掘
解答上述有余數(shù)的除法題需要用到的前修知識有數(shù)對(count-order)、比較(compare-number)、加法(addition-fact)、乘法(multiplication),目標為除法(division),陳述性知識的定義如圖2所示。
數(shù)對(count-order)是連續(xù)的,有兩個屬性first和second,如(1,2)、(2,3)等。比較(compare-number)指存在大小關(guān)系的數(shù)對,如(10,23)表示10<23。加法(addition-fact)指簡單的加法運算,有三個屬性:數(shù)1(addendl)、數(shù)2(addend2)、和(sum)。乘法(multiplication)指九九乘法口訣,有三個屬性數(shù)1(addendl)、數(shù)2(addend2)、積(result)。除法(division)即為本題的目標一一除法運算,除三個基本屬性數(shù)1(numl)、數(shù)2(num2)、積(result)外,還包括實現(xiàn)解題過程所需的與知識無關(guān)的其他屬性,如time記錄試商過程中產(chǎn)生的臨時商值,stage記錄當前動作的狀態(tài)以便于順序的執(zhí)行產(chǎn)生式。
圖2定義了解答目標題目所需前修知識的框架結(jié)構(gòu),解題過程還需要數(shù)條的知識。圖3是四種前修知識和目標的編碼范例,第一條知識p1,其類別(isa)是數(shù)對(count-order),表示1后面是2,數(shù)對可以幫助我們順序的執(zhí)行一系列連貫的動作,如提取乘法口訣時,順序的提取一五得五,二五一卜-三五十五等。第二條知識cl,其類別(isa)是比較(compare-number),表示第一個數(shù)(first)比第二個數(shù)(second)小,如10比23小,對三年級上的學生來說可以快速的比較兩個數(shù)的大小,于是假設(shè)學生的知識中存在這樣一條陳述性知識供直接調(diào)用。第三條知識fact51,其類別(isa)是乘法(multiplication),表示乘法運算(這里主要指乘法口訣),如一五得五。第四條知識al,其類別(isa)是加法(addition-tact),表示加法運算,如20+3=23。上述有余數(shù)的除法題的目標(goal)是一個除法(division),被除數(shù)為23,除數(shù)為5,商值初始為1,狀態(tài)(stage)沒有賦值即為空。
(2)程序性知識一一算術(shù)解題過程的分析
解答目標題目還需要一系列的程序性知識,來調(diào)用相應的陳述性知識,實現(xiàn)算術(shù)過程,求出結(jié)果。本題的程序性知識由12個產(chǎn)生式組成,這些產(chǎn)生式運行一到多次,按照自然意義,可以將這些產(chǎn)生式歸納為三個組塊:背口訣、試商、求余。這三個組塊的順序執(zhí)行構(gòu)成了完整的解題過程,其執(zhí)行過程如圖4,下面我們具體闡述每個組塊。
背口訣就是直接提取九九乘法口訣。按正常的解題步驟,學生拿到這道題會先看看除數(shù)能否整除被除數(shù),即判斷和5相關(guān)的口訣中是否存在結(jié)果(result)為23,由三個產(chǎn)生式(check-conditonl、fail-aaend2、fail-aaendl)完成以F解題動作。首先,查詢記憶中是否存在一條乘法口訣,其結(jié)果(result)等于23,數(shù)2(attend2)等于5。例如一五得五、二五一十、三五十五、四五二十、五五二十五。其次,查詢記憶中是否存在一條乘法口訣,其結(jié)果(result)等于23,數(shù)l(attendl)等于5。因為和5相關(guān)的口訣還有五六三十、五七三十五、五八四十、五九四十五,提取這些口訣時5是數(shù)1(attendl),所以查詢完記憶中5作為數(shù)2的口訣之后還要查詢5作為數(shù)1的口訣。第三,當檢查完所有與5相關(guān)的口訣沒有找到滿足要求的口訣時,說明目標題目不是表內(nèi)除法,就要為進入試商組塊做準備。試商可以由低向高試,也可以由高向低試,或者從中間比較接近的倍數(shù)開始試,初學者一般從低向高試。我們進行算術(shù)題的ACT-R仿真是為了挖掘算術(shù)解題過程的重要點,對初學者的解題過程進行仿真是最理想的。為了順序的試商需要用到數(shù)對,如5的1倍小于23,那么就試5的2倍,這個2就是由數(shù)對產(chǎn)生的,即提取滿足條件的數(shù)對(count-order)中數(shù)2(second),其數(shù)1(first)為初始商值1。這三個產(chǎn)生式組成的模塊完成判斷是否是表內(nèi)除法,即能直接靠九九乘法口訣解答的除法,如果不能就要進入下一個模塊——試商。
試商即尋找分界數(shù),比它小的數(shù)和除數(shù)的乘積都小于被除數(shù),而大于等于它的數(shù)和除法的乘積都大于被除數(shù),這個分界數(shù)減一即為最終的商值。本題的分界數(shù)是5,因為四5--十、五五二十五,20<23<25,4即是最終的商值。這個組塊由六個產(chǎn)生式(try-quotient、fail-multiplication、check-quotient、prepare-quotient、fail-quotient、find-quotient)實現(xiàn)。首先,從記憶中提取除數(shù)和當前商值的乘積,當前商值是提取到的數(shù)2(second),即(1,2)中的第二個數(shù)。除數(shù)5的口訣中有四五二十也有五六三十,如果除數(shù)為數(shù)1(addendl)的口訣查找完,沒有找到(retrieval error),接著查找除數(shù)為數(shù)2(addend2)的口訣,需要交換一下數(shù)1(addendl)和數(shù)2(addend2)的位置繼續(xù)查找。其次,檢查商值是否滿足分界條件。如果從記憶中提取到除數(shù)(ntan2)和當前商值(time)的乘積(result),則比較乘積(result)與被除數(shù)(numl)的關(guān)系。比較兩個數(shù)的大小通過查詢記憶中是否存在這兩個數(shù)的比較(compare-number)來實現(xiàn)。例如,乘積(result)lO和被除數(shù)23的比較數(shù)對(10,23),說明10小于23。如果記憶中存在這樣的數(shù)對,說明乘積比被除數(shù)小,繼續(xù)試更大的商。如果記憶中不存在這樣的數(shù)對,說明乘積比被除數(shù)大,則找到分界數(shù)。第三,如果當前商值(time)滿足分界條件,減一得最終的商并輸出語句“-the quotient is x”(商是x,X代指所得商)。
求余是試商成功后求出余數(shù),這個組塊由三個產(chǎn)生式(fail-rest、get-rest、finish)實現(xiàn)。求取余數(shù)的過程就是計算被除數(shù)與商和除數(shù)乘積的差值,本題的余數(shù)為23-20=3。首先,從記憶中提取除數(shù)(num2)和商(time)的乘積,為求出余數(shù)做準備。其次,提取一條加法知識中的數(shù)2(addendl),其數(shù)1(addendl)為除數(shù)和商的乘積,結(jié)果(sum)為被除數(shù)。如果找到數(shù)2(addendl)即為余數(shù),輸出語句“-the rest is Y”(余數(shù)是Y,Y代指所得余數(shù))。
組塊的劃分有利于學生有步驟地分解復雜的運算過程,化整為零;同時其他類型除法題的仿真結(jié)果也表明不同類型除法題具有相同的組塊。例如,表內(nèi)除法就是由組塊背口訣單獨實現(xiàn)的,而筆算除法則是由這三個組塊加上一些其他的組塊實現(xiàn)。在學生完成復雜運算和知識遷移過程中,這種組塊式分解可能起到一定的作用。
(3)認知模擬結(jié)果
如果算術(shù)的模擬解題過程在ACT-R上順利地執(zhí)行,就能有效地檢驗仿真的正確性,圖5是ACT-R自動生成的trace圖,也是解題過程的模擬圖。第一列是運行時間,ACT-R系統(tǒng)設(shè)置每0.05秒輸出一條知識調(diào)用記錄;第二列是知識類別,PROCEDURAL指程序性知識,DECLARRAIVE指陳述性知識;第三列是具體的操作,“PRODUCTION-FIRED”表示調(diào)用程序性知識,即產(chǎn)生式,后面是產(chǎn)生式的名稱;“SET-BUF-FER-CHUNK RETRIEVAL”表示調(diào)用陳述性知識,后面是陳述性知識的名稱。圖中清楚地顯示了執(zhí)行產(chǎn)生式的順序,其中試商組塊中有的產(chǎn)生式執(zhí)行了不只一次,因為試商過程中會多次調(diào)用除數(shù)的乘法口訣?!啊猅HE QUOTIENT IS 4”輸出商4,“——THE RESTIS 3”輸出余數(shù)3,即是目標題目的答案。同類型的除法題經(jīng)過編碼后都會得到類似的trace圖,該圖能幫助我們系統(tǒng)地分析解題的認知過程。
二.算術(shù)解題過程分析對教學的啟示
1.前修知識的提取
通過對算術(shù)解題過程的分析可以清楚地提取前修知識,這些知識的完整性對學生解答目標題具有重要的影響。本題中有四個前修知識:數(shù)對、比較、加法、乘法。通過教學實踐發(fā)現(xiàn),有些基礎(chǔ)很差的學生之所以不會做除法題,是因為九九乘法表沒有背熟,更不用說掌握試商的步驟。如果學生缺乏相關(guān)的前修知識,就算掌握解題的步驟也不能正確地解出答案,針對出現(xiàn)這種問題的學生不斷地講解怎么解題也是沒有效果的。因此分析前修知識,確認學生具備這些前修知識是教學的第一步。經(jīng)過系統(tǒng)的解題過程分析能夠得出算術(shù)的知識網(wǎng)絡,同時可以精確地診斷學生知識的缺失,從而進行更有效的干預。
2.程序性知識的歸納
算術(shù)題的解題過程有很強的連續(xù)性,當前什么情況,下一步應該做什么,是每個學生應該掌握的,但是這個過程的復雜性也直接影響學生習得的效果。本題就有12個不同產(chǎn)生式,并且有的產(chǎn)生式執(zhí)行不止一次,這種復雜的操作過程,對學生是一種挑戰(zhàn)。在本題的分析中,根據(jù)產(chǎn)生式的作用將這12個產(chǎn)生式分成三組,實現(xiàn)背口訣、試商、求余操作。解題過程的分析說明將復雜的算術(shù)過程分成若干個基本單元,每個小單元分別歸納掌握,能克服學生初學時策略控制的難度。這種根據(jù)功能的劃分有助于教學分解,先有步驟地訓練再整體運用,幫助學生化整為零。不同類型的算術(shù)題有類似的基礎(chǔ)模塊,模塊化的教學可以相應地減輕學生學習的負擔。
3.豎式計算的作用
工作記憶為復雜認知任務提供暫時的信息存儲空問和加工的信息來源,它在數(shù)學運算中的作用是目前國內(nèi)外研究的熱點課題之一。從上面trace圖中可以看到學生在解題過程中提取記憶的數(shù)量為14條,而工作記憶的容量很難將這些信息全部存儲下來。對于工作記憶容量小的學習者而言,要想解答出上面的題目,最好的辦法是借助豎式,將一些中間信息寫在紙上,以減少占用工作記憶的容量。教學的初期可以讓學生多用豎式,這樣他們受工作記憶容量影響較小,從而加快學生對解題步驟的掌握。上面的模擬過程是未自動化時候的解題過程,當學生熟練了以后,很多過程都可以自動化。例如,試商時可以直接從較大的數(shù)開始試起,從而減少提取記憶的次數(shù),這個時候就可以做到口算簡單的有余數(shù)除法。
4.認知診斷
上面的模擬過程是一種正確的細致的解題過程,我們會對不同的學生進行口述報告,根據(jù)學生的口述報告實現(xiàn)個體的ACT-R模擬。將個體的ACT-R模擬與標準的解題過程對照,能夠精確定位學生的問題所在。ACT-R細化到操作層次,可幫助我們了解學生的學習的流程及其調(diào)用的知識,通過診斷可反應知識的完整性。ACT-R程序模塊化后形成整個運算的脈絡,可對學生的算術(shù)運算能力進行系統(tǒng)診斷,判斷是前修知識的缺乏還是程序性知識不熟,目前已對單一的加減乘除進行了仿真,并且分析出知識網(wǎng)絡圖。在教學實驗中,有的學生口述報告解題過程時只報告除數(shù)是數(shù)2的口訣,而不會繼續(xù)報告除數(shù)是數(shù)1的口訣,在這種情況下,陳述性知識不缺,但是控制執(zhí)行出現(xiàn)問題以致未提取完全,造成解題困難。對學生認知過程的模擬可以幫助我們發(fā)現(xiàn)這種容易忽略的問題所在。
三.總結(jié)與展望
本文使用ACT-R模擬學生解題過程,挖掘出解題需要的前修知識,對解題步驟進行歸納分組,從模擬的結(jié)果說明豎式計算的必要性和重要性,幫助教師系統(tǒng)地診斷學生的問題所在。目前這一套方法的效果已在河北省高陽縣永亮小學的教學實踐中得到初步驗證,進一步的推廣有待研究。另外,教學實踐中也發(fā)現(xiàn)基本算術(shù)模塊的相似性使得學生出現(xiàn)負遷移的情況,對遷移的分析是下一步的研究重點。
編輯:小西