摘 要:采用自頂向下的方法研究ICAI領(lǐng)域內(nèi)知識的構(gòu)成,給出知識點含義#65380;基本知識組件的定義以及劃分方法,并以具體的學科——“幾何原本”中部分內(nèi)容為研究對象,劃分出基本知識組件,指出它對選擇學習路徑的意義,從而為ICAI系統(tǒng)的開發(fā)提供方法和依據(jù)#65377;
關(guān)鍵詞:知識點;基本知識組件;倒退關(guān)系;學習路徑
中圖分類號:TP18文獻標識碼:A
1 引 言
知識空間理論是由Dietrich Albert等人提出的,該理論提供了一種基于認知科學領(lǐng)域,給出描述指定知識域的結(jié)構(gòu)的方法[1]#65377;知識空間理論的研究目的是能夠在任何學科的學習過程中為人類的知識建模,運用數(shù)學工具,應(yīng)用于交互計算機盡可能快而準確地對學習者的學習狀態(tài)進行評價和反饋,實現(xiàn)對學習者學習路徑的控制,使學習路徑最優(yōu)化[11]#65377;利用這種思想的長處,我們希望能得到一種通用的知識空間理論,也就是用數(shù)學的方法研究知識空間理論,這樣對ICAI的發(fā)展能夠帶來幫助#65377;知識點是ICAI中的一個重要組成部分,也是知識空間理論中一個重要環(huán)節(jié)#65377;本文主要是結(jié)合具體的教材和知識空間理論提出基本知識組件劃分的一般原則,并將該原則應(yīng)用于具體的實例——“幾何原本”中平面幾何部分的三角形知識中的知識點及基本知識組件的劃分,指出其對選擇學習路徑的意義#65377;
2 知識點及知識點之間的關(guān)系
在教學領(lǐng)域中,教學元知識點是指教材中可以作為一個獨立的單元進行傳授的部分#65377;文獻[3-6]對知識點都有描述,我們這里所說的知識點是結(jié)合知識的內(nèi)容和知識之間的內(nèi)在聯(lián)系及其后來為了知識的傳播而組織在一起所形成的關(guān)系(外在聯(lián)系)來定義知識點,它具有相對的獨立性和一定的關(guān)聯(lián)性#65377;
定義1 知識點(Knowledge Point)是指兼顧知識本身的內(nèi)容和它們之間的關(guān)系而劃分出來的,具有局部完整性,且可以作為獨立的教學單元和研究對象#65377;
知識點之間的關(guān)系可以分為兩大類,組織關(guān)系(Buildup Relation)和支撐關(guān)系(Underlay Relation)[7-10]#65377;一方面在知識的保存#65380;傳遞中,知識點集合按照一定的組織原則,被組織在一起,也就建立了一種關(guān)系,這種關(guān)系稱為組織關(guān)系#65377;另一方面,知識是人們對客觀事物的認識,是在不斷增長#65380;不斷深入#65380;不斷擴大的,而且新知識是建立在舊知識的基礎(chǔ)上,這就形成知識點的內(nèi)在關(guān)聯(lián)的根源和實質(zhì)#65377;把這種知識點的內(nèi)在關(guān)聯(lián)的實質(zhì)抽象為“支撐”,就稱這種關(guān)系為支撐關(guān)系#65377;為了便于研究,只考慮組織關(guān)系中的從屬關(guān)系#65377;下面就是這些關(guān)系的定義#65377;
設(shè)P為知識點集合,T為知識點的組織樹,G知識點的支撐圖,表示偏序關(guān)系#65377;
定義2 設(shè)p1,p2∈P且在T中有共同的祖先ɑ∈P,若p1=a,則稱p2和p1之間具有從屬關(guān)系(hypotaxis relation),即p2從屬p1,記為Bh,用符號┨h表示,即p2┨h p1為真#65377;
性質(zhì)1 從屬關(guān)系具有自反性#65380;反對稱性和傳遞性,它是一種偏序關(guān)系#65377;
定義3 設(shè)p1,p2∈P且在G中有一條由p1指向p2的邊,則稱p1和p2之間具有支撐關(guān)系U(underlay relation),用符號表示,即p1p2為真,并稱p1支撐p2,或者說p1是p2的前序(支撐)知識點#65377;
性質(zhì)2 支撐關(guān)系具有自反性#65380;反對稱性和傳遞性,它是一種偏序關(guān)系#65377;
任何一個領(lǐng)域內(nèi)的知識可以按照某種原則或規(guī)則劃分成不同的知識點,各個知識點之間存在從屬關(guān)系和支撐關(guān)系中的一種或兩種#65377;那么,在這個領(lǐng)域內(nèi)的知識點集合中,可以根據(jù)這兩種關(guān)系中的任意一種組織成上一層的結(jié)構(gòu)單元——基本知識組件#65377;由于這兩種關(guān)系具有共性,即都是偏序關(guān)系,于是可以針對具有偏序關(guān)系的集合定義一種新的關(guān)系——倒退關(guān)系#65377;這樣的話,對倒退關(guān)系的研究,能夠應(yīng)用到具有共性的其他兩種關(guān)系上#65377;以下是對倒退關(guān)系的定義#65377;
計算技術(shù)與自動化2007年6月第26卷第2期陸 捷等:ICAI中基本知識組件的劃分定義4 設(shè)集合E具有偏序關(guān)系性質(zhì),定義倒退關(guān)系如下:
設(shè)e∈E,若b∈E,且be為真,則稱b為e的前件
1) 若e在E中只有惟一的前件b,則定義eb成立;
2) 若對e在E中所有的前件b1, b2,…,bk,有∩ki=1(bie)為真,則定義∩ki=1(ebi)為真;
3) 若對e在E中所有的前件b1, b2,…,bk有∪ki=1(bie)為真,則定義∪ki=1(ebi)為真#65377;
對于倒退關(guān)系,有以下性質(zhì)#65377;
性質(zhì)3 設(shè)集合E具有偏序關(guān)系性質(zhì),集合E1是E的某個子集,且具有倒退關(guān)系性質(zhì),則對于元素e∈E1,有:
1)若e在E中只有唯一的前件b,則b∈E1;
2)若對e在E中所有的前件b1,b2,…,bk有∩ki=1(bie)為真,則∩ki=1(bi∈E1)為真;
3)若對e在E中所有的前件b1,b2,…,bk有∪ki=1(bie)為真,則∪ki=1(bi∈E1)為真#65377;
3 基本知識組件
3.1 基本知識組件的來源
知識組件(Knowledge Component)的提出是借鑒了本體論的思想#65377;本體論原本是一個哲學上的概念,是表述哲學理論的一個術(shù)語,西方哲學中的本體論是關(guān)于存在及其本質(zhì)和規(guī)律的學說#65377;后來隨著計算機的發(fā)展可以看出,把現(xiàn)實世界中的某個應(yīng)用領(lǐng)域抽象或概括成一組概念(進程#65380;程序#65380;硬件等)及概念間關(guān)系,構(gòu)造出這個領(lǐng)域的本體,會使計算機對該領(lǐng)域的信息處理大為方便#65377;
在一個知識領(lǐng)域內(nèi),需要描述的事務(wù)都具有一種或多種相似性,可以根據(jù)這些相似性將領(lǐng)域中的知識進行分類#65377;就像房屋的共同組件有窗戶#65380;門#65380;墻壁#65380;天花板和地板一樣,對于知識也可以考慮它們的共性構(gòu)建出知識組件#65377;另外在知識組件的形成過程中,存在一個饒有興趣的問題:給定了若干個知識點,找出支撐這些知識點的最小背景,或找出包含這些知識點的最小組織樹(或森林)#65377;在考慮知識點集合的“最小性”時又要兼顧知識點集合的相對完整性和知識點的冗余性,于是有以下定義和假設(shè)#65377;
3.2 基本知識組件的定義
在知識點的關(guān)系圖G中,從出度為0的結(jié)點開始對同一結(jié)點的存在不同支持路徑,那么有些結(jié)點之間在意義上有平行的含義,在這里稱為平行關(guān)系#65377;以下是對平行關(guān)系的定義#65377;
定義5 假設(shè)知識點集合P滿足關(guān)系r∈{┨h,},若對任意的知識點b1,b2,e∈P,有(eb1)∨(eb2)為真,則稱b1,b2之間具有平行關(guān)系,用符號∥表示 ,即b1∥b2為真,其中是關(guān)系r的倒退關(guān)系#65377;
完整性假設(shè):任意滿足從屬關(guān)系或支撐關(guān)系的知識點集合P都具有倒退關(guān)系性質(zhì)#65377;
基本知識組件是由知識領(lǐng)域內(nèi)知識點形成的一個子集,這些知識點屬于同一個組織或者依據(jù)某種關(guān)系構(gòu)成一個意義上或組織上局部完整的知識塊,即在局部范圍內(nèi),是一個完整的關(guān)系網(wǎng)絡(luò)#65377;以下給出基本知識組件的形式定義#65377;
定義6 設(shè)P是滿足完整性假設(shè)的知識點的有限集合,稱集合c是關(guān)于關(guān)系r∈{┨h,}的基本知識組件,當且僅當滿足:
1) c是空集;或
2) c是非空集,且同時滿足以下三點:
(1)q1(p∈c∧q1∥p),基本知識組件中不存在平行的知識點;
(2)p1,p2∈P,(p2p1)∧(p2∈c)p1∈c,基本知識組件c中任何知識點的r關(guān)系前件(不包括平行知識點)都是c中的知識點;
(3)存在知識點p:q∈(c\\{p})┑(qp)且p′(p′∈c∧p′≠p∧q(q∈c∧qp′)),基本知識組件c中有且僅有一個無r關(guān)系后件的知識點#65377;
其中是關(guān)系r的倒退關(guān)系,知識點的關(guān)系圖是一個有向無環(huán)圖#65377;
性質(zhì)4 在某個領(lǐng)域內(nèi)的基本知識組件集合中,用Cɑ表示知識點a的全部基本知識組件的集合,則有c1,c2∈Cɑ,c1c2#65377;
定義7 在知識點的關(guān)系圖中,若存在關(guān)系p1r′p2,則稱p1是p2的r′關(guān)系前件,p2是p1的r′關(guān)系后件,其中r′∈{┨h,,}#65377;
定義8 若Ci=Cj×{i},則集合的×運算是將元素i加到Cj中每一個集合中,例如:Cj={{k,j},{j,l}},那么Ci=Cj×{i}={{k,j,i},{j,l,i}}#65377;
以上的一些性質(zhì)和定義將在后面有具體的應(yīng)用#65377;
3.3 基本知識組件的引進理由
在ICAI中,引入基本知識組件有以下三個方面的優(yōu)點#65377;一是能夠更好地表達知識空間中的知識點之間的關(guān)系#65377;如果沒有基本知識組件,整個知識空間直接由知識點組成,那么知識點之間的關(guān)系網(wǎng)絡(luò)圖非常復雜,這樣在實際的應(yīng)用中無論是對存儲空間方面還是對程序的性能方面都是相當不利#65377;二是能精簡知識點子集,例如一個由50個知識點組成的領(lǐng)域知識,假如不考慮基本知識組件,那么它的子集有250個,但并不是每一個子集都有實際的意義,有些子集僅是知識點的羅列;考慮基本知識組件后就可以刪除一大部分的沒有意義的知識點子集#65377;第三個優(yōu)點是基本知識組件能夠很好地組織知識點,使它們在相對的一個較大的范圍內(nèi)是完整的,這樣的結(jié)構(gòu)便于知識空間的上層結(jié)構(gòu)的研究,有利于ICAI中知識庫的表示#65377;
基本知識組件在ICAI中的應(yīng)用主要是在測評過程實現(xiàn)的,即基本知識組件可用來描述學生掌握的知識狀態(tài)[2]#65377;測評的過程有:第一步對學生當前的知識水平進行評估,得出學生所掌握知識所處的基本知識組件;第二步作決策,選擇下一個要學習的知識點進行學習,形成新的基本知識組件;若未達到理想的學習狀態(tài),就轉(zhuǎn)到第一步,如此反復,直到到達理想的學習狀態(tài)時終止#65377;由于基本知識組件是精簡并完善后的知識點的集合,能縮短學習步驟而達到相同的學習效果,相應(yīng)的學習過程也即學習路徑比較簡短#65377;
4 基本知識組件的生成算法及其性能分析
4.1 基本知識組件的生成算法
基本知識組件劃分的原則是:根據(jù)完整性假設(shè),采用自底向上的思想形成各個知識點的基本知識組件#65377;下面詳細介紹各個步驟#65377;
為了便于記錄知識點之間的各種關(guān)系,將各個知識點之間的關(guān)系存儲在一個n×n(n為知識點的數(shù)目)的矩陣I中,其中矩陣元素的取值定義如下:
Iij=0表示知識點i與知識點j之間沒有關(guān)系或者為“與”關(guān)系;
Iij=1表示知識點i與知識點j之間存在倒退關(guān)系,即ij;
Iij=2表示知識點i與知識點j之間存在“或”關(guān)系,也就是前面所說的平行關(guān)系,即i∥j#65377;
其中“與”關(guān)系的含義是指:若(eb1)∧(eb2)或者(b1e)∧(b2e),則b1和b2存在“與”關(guān)系;若(eb1)∨(eb2)或者(b1e)∨(b2e),則b1和b2存在“或”關(guān)系#65377;
根據(jù)前面的完整性假設(shè),得出基本知識組件的算法思想,用自然語言描述有以下幾步:
step1:形成單元素(知識點關(guān)系圖中出度為0的結(jié)點)的基本知識組件;
step2:由單元素向上形成上一層結(jié)點的基本知識組件;
step3:依次向上形成各層知識點的知識組件,直到每個結(jié)點所代表的知識點都形成了基本知識組件#65377;
以上算法思想的類程序語言描述如算法1所示#65377;
算法1 基本知識組件生成算法
輸入: E={1,2,3,……,n};∥E是知識點全集
E1=;∥E1中為已經(jīng)得出基本知識組件的知識點集合
I[n][n];∥各個知識點之間的關(guān)系矩陣
輸出:C={Ci|i=1,2,…,n}
過程:int i,j,I[n][n];
4.2 算法正確性的證明
下面證明算法1的正確性,即它與基本知識組件定義是等價的#65377;
證明:對算法與基本知識組件定義(以下簡稱定義)的等價性的證明分成兩部分,第一部分證明算法生成的基本知識組件都符合基本知識組件的定義;反過來,第二部分證明定義得到的基本知識組件都能由算法生成#65377;根據(jù)定義有若ɑb,則在倒退關(guān)系圖中有一條從a到b的有向弧,稱a有出度,b有入度;定義矩陣I中元素值為“1”時,為了方便表示一個基本知識組件中有且僅有一個無關(guān)系前件的知識點#65377;
首先證明第一部分#65377;算法的自底向上的思想蘊含兩層含義:一是若ɑb,則有a屬于基本知識組件c,則b也屬于基本知識組件c;二是每個基本知識組件至少包含一個無關(guān)系后件的知識點#65377;另外,C={}時符合定義要求#65377;下面分別驗證算法中各個部分形成的基本知識組件符合基本知識組件定義的要求#65377;
1) 算法1的第①部分,矩陣中某一行的各元素值都為0,則該行的行序所代表的知識點形成的單元素基本知識組件#65377;在這個基本知識組件中,沒有平行關(guān)系的結(jié)點,也不存在與其他結(jié)點有關(guān)系,所以滿足基本知識組件的定義#65377;
2) 算法1的第②部分生成的基本知識組件,條件j1,j2,……,jk∈E1表示這些結(jié)點已經(jīng)形成基本知識組件,條件Iij1=1 and Iij2 and …… and Iijk=1表示i和jx(x∈{1,2,…,k})之間在關(guān)系圖中存在關(guān)系,能夠形成本知識點的基本知識組件,并根據(jù)已得出基本知識組件的知識點形成本層知識點的基本知識組件;條件Ijxjy=2(x,y∈{1,2,……,k})表示結(jié)點jx和jy結(jié)點是平行關(guān)系的知識點,那么Ci=Cj1×{i}∪Cj2×{i}∪…∪Cjk×{i}表示一個基本知識組件中不存在平行關(guān)系的知識點,同樣滿足基本知識組件的定義#65377;
3) 同理可以證明第③部分和第④部分所生成的基本知識組件滿足定義要求#65377;
由上可得,該算法所形成的基本知識組件都符合基本知識組件的定義#65377;
接著證明第二部分#65377;定義中的第一點,為的基本知識組件,包含在算法中的C中#65377;定義中的第二點,定義中的單元素正好是知識點關(guān)系圖中出度為0的結(jié)點,即是算法中得到的單元素基本知識組件;定義中的每個基本知識組件,在該基本知識組件中有且僅有一個不存在關(guān)系前件的知識點,這一點正好符合算法中自底向上的思想#65377;并且定義得到的基本知識組件中不平行關(guān)系的知識點,算法也排除了包含平行知識點的知識組件#65377;所以定義中生成的基本知識組件就是算法中得到的基本知識組件#65377;
綜上所述,算法1與基本知識組件的定義具有等價性#65377;
因為算法1中的輸入包含矩陣I,所以下面給出矩陣的生成算法#65377;根據(jù)矩陣I中元素的定義,可以得到生成矩陣I的算法,如算法2#65377;
算法2 矩陣生成算法
輸入:知識點之間的關(guān)系
輸出:矩陣I,Iij∈{0,1,2}
過程:int i,j,I[n][n]; ∥i表示行序,j表示列序,I[n][n]表示矩陣元素的值;
4.3 算法性能分析
算法1的最壞時間復雜度為O(n×n),其中n為知識點數(shù)目#65377;因為矩陣I中有n2個元素,并且關(guān)系圖是有向圖,需要對每一個元素進行賦值,所以算法2的時間復雜度為O(n×n)#65377;生成知識組件的算法由算法1和算法2兩個組成,時間復雜度應(yīng)考慮兩者之和,所以時間復雜度為O(n2)#65377;同樣,考慮空間復雜度時,是用二維數(shù)組存儲矩陣,需要的存儲空間為n2,所以空間復雜度為O(n2)#65377;
5 平面幾何中的部分基本知識組件
學過初等平面幾何的人,都知道歐幾里德,都會驚嘆于歐幾里德平面幾何的完美,整個平面幾何能夠以五條自明的公理即幾條概念點#65380;線#65380;面把平面幾何的所有的規(guī)律用邏輯全部推演出來,而且相互之間沒有任何矛盾#65380;空隙和皺折,一切是那么的光亮#65377;這里選擇歐幾里德的平面幾何領(lǐng)域內(nèi)的知識作為研究對象,也是基于這個優(yōu)點#65377;
根據(jù)前面的算法,對《幾何原本》中三角形部分的內(nèi)容進行知識組件的劃分#65377;在三角形的知識點中,既可以從邊的方面來討論,又可以從角的方面來討論#65377;因此可以把這一部分知識劃分成以下幾個知識點:三角形知識點,邊知識點,角知識點,線知識點,度數(shù)知識點#65377;將這些知識點分別用ɑ,b,c,d,e表示,由他們的形成的過程所存在的支撐關(guān)系有:b≤ɑ,c≤ɑ,d≤b,d≤c,e≤c,b∥c#65377;用支撐關(guān)系圖表示如圖1所示#65377;
根據(jù)倒退關(guān)系的定義,三角形部分得到的倒退關(guān)系有(ɑb)∨(ɑc),bd,(cd)∧(ce),平行關(guān)系有b∥c,其倒退關(guān)系圖如圖2所示#65377;
于是,在三角形的知識中,根據(jù)算法1和算法2形成各個知識點的基本知識組件的有以下幾個步驟#65377;
1)E={1,2,3,4,5};E1=;1,2,3,4,5對應(yīng)知識點ɑ,b,c,d,e,如圖4所示;在矩陣I中元素4,5所對應(yīng)的行的值全部是0,則知識點4,5對應(yīng)的基本知識組件集合分別為{{4}},{{5}},且E1={4,5},E={1,2,3};
2)E≠,與結(jié)點2和結(jié)點3存在關(guān)系的結(jié)點4,5∈E1,所以此次生成結(jié)點2和3的基本知識組件分別為{{2,4}},{{3,4,5}},E={1},E1={2,3,4,5};
3)E≠,與結(jié)點1存在關(guān)系的結(jié)點有2,3∈E1,且2與3是平行關(guān)系,即2∥3,那么C1=C2×{1}∪C3×{1}={{1,2,4},{1,3,4,5}},E=,E1={1,2,3,4,5};
4)E=退出#65377;
最后得到三角形部分各個知識點ɑ,b,c,d,e的基本知識組件分別為
Cɑ={{ɑ,b,d},{ɑ,c,d,e}},Cb={{b,d}},Cc={{c,d,e}},Cd={g0gggggg},Cc={{e}}#65377;
在生成的基本知識組件的過程中,可以看出,如果某個知識點a的Cɑ中有n個基本知識組件時,那么存在n條到達知識點a的學習(授課)路徑#65377;上面例子中要學習三角形知識點時存在這樣兩條學習(授課)路徑:一條是d→b→ɑ,即先學習線知識點,再學習邊知識點,最后學習三角形知識點;另一條是d∧e→c→ɑ,即先學習線知識點和角度知識點,再學習角知識點,最后學習三角形知識點#65377;因為是基本知識組件,所以這樣的學習路徑是最簡捷的#65377;
6 后續(xù)研究的問題
在我們研究的知識空間理論中,得到基本知識組件后,下一步工作是沿用自頂向下的方法繼續(xù)研究知識點的劃分規(guī)則以及知識點之間的關(guān)系#65380;知識組件的類型和知識組件之間的聯(lián)系#65377;
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。