前文得到了4种变精度能力模型可构建相同知识结构族的结论, 本节统称其为变精度能力模型。由于在文献[
23]中的算法2介绍了基于技能函数获取极小技能子集族和知识结构的算法, 而该算法具有较大的时空复杂度, 因此本节基于最大包含度矩阵概念,提出变精度能力模型构建知识结构的矩阵方法, 并设计相应算法, 以期提高算法效率。
一般技能函数可以看作是多个合取技能函数的合成,故对一般技能函数我们要将其分解成多个合取技能函数处理, 以便解决相关问题。
定义6 设三元组(Q,S,μ)为技能函数。问题集Q={q1,…,qi,…,qn}与技能集S={s1,…,sj,…,st}均为非空有限集,则(Q,S,μ1),(Q,S,μ2),…,(Q,S,μρ)是由技能函数(Q,S,μ)通过分解得到的p个合取技能函数。其中p= |μ(q)|,后文一致。
为利用合取技能函数的特点求解一般技能函数通过变精度能力模型构建的知识结构, 下面定义了合取技能函数布尔矩阵表示形式。
定义7 设三元组(Q,S,μ)为技能函数。问题集Q={q1,…,qi,…,qn}与技能集S={s1,…,sj,…,st}均为非空有限集,由(Q,S,μ)分解的合取技能函数(Q,S,μ1),(Q,S,μ2),…,(Q,S,μp)的矩阵为Mh=( )n×t,其中i=1,2,…,n;j=1,2,…,t;h=1,2,…,p,后文一致。
=
=( ,…, ,…, )为问题qi在合取技能函数(Q,S,μh)下关于S的行向量。类似地,也将技能子集Tl表示为布尔列向量。
定义8 设三元组(Q,S,μ)为技能函数。技能集S={s1,…,sj,…,st}为非空有限集,S的幂集P(S)={T1,…,Tl,…, },则Tl的列向量为 =(Tl(s1),…,Tl(sj),…,Tl(st))',其中
Tl(sj)=
则P(S)的矩阵为P=( ,…, ,…, ),后文一致l=1,2,…,2t。
定理9 设三元组(Q,S,μh)是由技能函数(Q,S,μ)分解的合取技能函数。则在合取技能函数μh下,问题qi关于技能集Tl的能力包含度为
= , ∈μh(qi)。
证明 由能力包含度定义知,证明 =| ∩Tl|即可。因 表示问题qi关于S的行向量, 表示技能集Tl的列向量,故 =| ∩Tl|。
推论4 由定理9,对于合取技能函数μh有如下结论:
1)问题qi关于P(S)的能力包含度行向量为 , ∈μh(qi);
2)技能集Tl关于问题集Q=(q1,…,qi,…,qn}的能力包含度列向量为
= Mh ,
Dh=( )= MhP,
= , ∈μh(qi)。
例3 由例2,技能函数(Q,S,μ)可分解为4个合取技能函数,其中
则4个合取技能函数与S幂集的矩阵分别为 M1= ; M2= ; M3= ; M4= ;
P= 。
Dh= MhP。
D1= ;
D2= ;
D3= ;
D4= 。
由定义7与定义8,合取技能函数μh下,Tl关于问题集Q的能力包含度列向量 中的元素依次为问题q1,…,qi,…,qn关于Tl的能力包含度。那么Tl通过变精度能力模型诱导的知识状态可利用 变换获得其列向量 =( ,…, ,…, )'。其中
= (i=1,2,…,n)。
定义9 设三元组(Q,S,μh)为合取技能函数。Dh=( )为μh的能力包含度矩阵,称 =( )为技能函数μh通过γ1-变精度能力模型构建知识结构的余矩阵。其中
= (i=1,…,n;l=1,…,2t)。
推论5 设三元组(Q,S,μh)为合取技能函数。 =( )为技能函数通过γ1-变精度能力模型构建知识结构的余矩阵。若将 =( )中相同的列仅保留其一,其余删去,得到矩阵 ,则 各列互异,且 为技能函数通过γ1-变精度能力模型构建知识结构的矩阵.
然而,大多情形下需得到技能函数μ通过γ1-变精度能力模型构建的知识结构。因此, 下面介绍利用矩阵方法求解变精度能力模型构建知识结构的过程。
设三元组(Q,S,μh)为合取技能函数,∀q∈Q,对于技能子集T(T⊆S)通过变精度能力模型诱导的知识状态中若含有q, 则说明C∈μh(q)使得C与T的能力包含度满足阈值条件。
定理10[24] 设三元组(
Q,
S,
μ)为技能函数,将其分解为
p个合取技能函数(
Q,
S,
μ1),…,(
Q,
S,
μh),…,(
Q,
S,
μp)。∀
T⊆
S在技能函数(
Q,
S,
μ)下,
T通过变精度能力模型诱导的知识状态为
K;在合取技能函数(
Q,
S,
μh)下,
T通过变精度能力模型诱导的知识状态
Kh(
h=1,2,…,
p)。则有
证明 由已知,T⊆S时,T通过变精度能力模型诱导的知识状态有Kh⊆K成立;∀q∈K,总存在一个合取技能函数μh,使得在该合取技能函数下, T通过变精度能力模型诱导的知识状态有q∈Kh成立;故K= Kh得证。
例4(续例3) 取T={s3},γ1=0.4,则技能函数(Q,S,μ)下,技能子集T⊆S通过变精度能力模型诱导的知识状态的特征列向量为(0,1,1),即知识状态为{q2,q3};合取技能函数(Q,S,μh)(h=1,2,3,4)下,技能子集T⊆S通过变精度能力模型诱导的知识状态的列向量分别为(0,1,1),(0,1,0),(0,1,1),(0,1,0),对应知识状态分别为{q2,q3},{q2},{q2,q3},{q2}。故有
{q2,q3}={q2,q3}∪{q2}∪{q2,q3}∪{q2}。
通过例3、例4, 我们能通过矩阵方法得到技能函数(Q,S,μ)通过变精度能力构建知识结构, 利用技能函数(Q,S,μ)分解的所有技能函数的能力包含度矩阵实现。下面给出技能函数的最大能力包含度矩阵的概念,以求得(Q,S,μ)通过变精度能力构建的知识结构。
定义10 设三元组(Q,S,μ)为技能函数。(Q,S,μ1),…,(Q,S,μh),…,(Q,S,μp)是由技能函数(Q,S,μ)通过分解得到的p个合取技能函数。Dh=( )为合取技能函数(Q,S,μh)的能力包含度矩阵。则技能函数(Q,S,μ)的最大能力包含度矩阵为Dmax=(dil),其中dil=max{ |h=1,2,…,p}。
定义11 设三元组(Q,S,μ)为技能函数。Dmax=(dil)为(Q,S,μ)的最大能力包含度矩阵,称 =(bil)为技能函数通过γ1-变精度能力模型构建知识结构的余矩阵,其中
bil=
推论6 设三元组(Q,S,μ)为技能函数。Dmax为技能函数(Q,S,μ)的最大能力包含度矩阵, 则有
1)Tl通过γ1-变精度能力模型诱导的知识状态的列向量 为 的第l列;
2)技能函数(Q,S,μ)的通过γ1-变精度能力模型构建的知识结构的矩阵 ,可通过将 中相同的列仅保留其一, 其余删去而得到。
下面给出通过矩阵方法求得技能函数(Q,S,μ)的通过变精度能力模型构建的知识结构族的算法(以γ1-变精度能力模型为例)。
算法1 基于变精度能力模型获取知识结构族 输入:技能映射(Q,S,μ); 输出:知识结构族R。 ①计算求得Dmax; ②从D(μ)中取值γ1i(i=1,2,…,|D(μ)|); ③根据定义11求得 ,进而求得 ,R{i}= (R{i}储存γ1i时的知识结构); ④遍历D(μ),并重复步骤②、③可获得。 |
例5 例3中技能函数(Q,S,μ)的最大能力包含度矩阵为 Dmax= 。
γ1=0.5时,得到技能函数(Q,S,μ)的通过γ1-变精度能力模型构建的知识结构的余矩阵如下:
B0.5= 。则技能函数(Q,S,μ)的通过γ1-变精度能力模型诱导的知识结构矩阵为
= 。
L ={⌀,{q1},{q2},{q3},{q1,q2},{q1,q3},Q}。
当γ1遍历D(μ)= 时(取1时为空集), 即可得到。
可以看到, 算法1是可行的, 且提高了求解时运算的并行性, 另外由于变精度能力模型构建的知识结构的余矩阵 和知识结构矩阵 均为布尔矩阵, 可以减少算法对存储空间的需求。
在由技能函数通过变精度能力模型构建知识结构的过程中,可以看到不同技能子集Tl(l=1,2,…,2t)诱导的知识状态可能相同,这说明在构建知识结构时不用遍历所有的技能子集。因此, 对于任意的技能函数, 都存在保持其通过变精度能力模型构建知识结构不变的极小技能子集族。
定理11 设三元组(Q,S,μ)为合取技能函数。 为技能函数通过γ1-变精度能力模型构建知识结构的余矩阵。 中相同的列仅保留其一, 其余删去, 同时保留P中对应列, 得到矩阵 即为技能函数通过γ1-变精度能力模型构建知识结构的极小技能子集族矩阵。P (S)为技能函数通过γ1-变精度能力模型构建知识结构的极小技能子集族。
例6 例5中γ1=0.5时, 求得技能函数(Q,S,μ)通过γ1-变精度能力模型构建的知识结构的余矩阵B0.5。保留其第2、6、7、8、9、12、15列, 得到构建知识结构的矩阵
= 。
保留P(S)矩阵P的相应列, 得到极小技能子集族的矩阵
P0.5= 。
则γ1=0.5时,求得技能函数(Q,S,μ)的通过γ1-变精度能力模型构建知识结构的极小技能子集族
P (S)={{s1},{s1,s2},{s1,s3},{s1,s4},{s2,s3},{s1,s2,s3},{s2,s3,s4}}。
注意 1)技能函数(Q,S,μ)的通过γ1-变精度能力模型构建知识结构的矩阵 不唯一, 故构建知识结构的极小技能子集族矩阵 不唯一,且构建知识结构的极小技能子集族P (S)不唯一。
2)γ1取不同的能力包含度值时, 构建知识结构的极小技能子集族矩阵 不相等,亦即构建知识结构的极小技能子集族不同。
= 。
构建知识结构的极小技能子集族P (S)={{s1},{s1,s3},{s2,s3},{s1,s2,s3},{s1,s2,s4},S}与P (S)不相等。
可以看到, 在寻找极小技能子集族时, 涉及技能子集的选择问题。这是由于当用变精度能力模型诱导一个知识状态时, 对应的技能子集可能有多个, 对于具有相同知识状态的不同的个体, 他们能解决的问题一样, 但内在的技能掌握情况还是会有不同, 反映到他们在学习新知识的过程中可能具有不同的接受能力。那么,针对不同个体如何选择技能学习从而改变外在表现是值得进一步研究的。
注 设L 是技能函数(Q,S,μ)通过γ1-变精度能力模型构建的知识结构,对L∈L ,诱导知识状态L的所有技能集矩阵记为 (相应地,集族记为P )。根据例6,我们可以求出知识结构L0.5内所有知识状态对应的技能集矩阵
= ;
= ; = ; = ;
= ; = ;
= 。
通过知识状态对应的技能集矩阵发现, 知识结构L0.5中存在包含关系的知识状态之间, 诱导它们的技能集,可能不存在包含关系。如{q3}⊂{q1,q3},而诱导{q3}的技能集{s1,s3}与诱导{q1,q3}的技能集{s1,s4}或{s1,s2,s4}不存在包含关系。这说明变精度模型构建知识结构时, 知识状态之间若存在包含关系, 会出现个体表现层次跳跃的情形。如先假设某个体的知识状态为{q3}, 个体通过学习技能s4,其状态未经历{q1,q3}而直接表现为Q。下面介绍有效学习路径和有效技能学习路径的定义,并通过例7简单讨论有效学习路径与有效技能学习路径不一定能同步的情况,它们之间的进一步联系有待今后继续研究。
定义12[1] 设三元组(
Q,
S,
μ)为技能函数。技能函数通过变精度模型构建的知识结构L
,其中
L1,
L2∈L
,有
L1⊂
L2且不存在
L3∈L
,使得
L1⊂
L3⊂
L2成立。则称满足从⌀到
Q这样的链为有效学习路径。
定义13[23] 设三元组(
Q,
S,
μ)为技能函数
. 技能函数通过变精度模型构建的知识结构L
,其中
L1,
L2∈L
,有
L1⊂
L2,∀P
,P
,取
T'∈P
,
T″∈P
且
T'⊂
T″,则称…⊂
T'⊂
T″⊂…为有效技能学习路径。P
表示诱导知识状态
L的技能子集族。
以下根据有效学习路径和有效技能学习路径的定义举出例子说明它们的差别。
例7 例6中的知识结构L
={⌀,{
q1},{
q2},{
q3},{
q1,
q2},{
q1,
q3},
Q}。根据定义12、13规划出个体的技能学习路径如
图1。在图中, 知识状态和技能记为向量形式。如{
q3}记为(0,0,1),{
s1,
s3}记为(1,0,1,0)。
图1 基于 的有效学习路径与有效技能学习路径Fig.1 path based on effective learning and skills |
图1中左图为基于L
的有效学习路径图, 其中箭头表示知识状态之间的包含关系; 右图为左图对应的有效技能学习路径图之一, 其中箭头表示技能子集之间的包含关系。图中从⌀到
Q的学习路径,不一定有对应的有效技能学习路径, 如⌀→{
q3}→{
q1,
q3}→
Q,没有对应有效技能学习路径, 即图中虚线链⌀→{
s1,
s3}→
S。即个体处于状态{
q3}时, 不存在技能使得个体学习该技能后状态前进为{
q1,
q3}。可以发现, 同一知识结构存在多条学习路径, 但与这些学习路径对应的有效技能学习路径不一定都存在。故已知个体知识状态时, 其可根据相应的有效技能学习链, 选择合适的技能进行学习。如图中虚线的路径是不被推荐的。