基于ACT—R对小学算术解题过程的分析研究

2013-04-29 00:44:03张萌崔光佐
现代教育技术 2013年3期
关键词:算术

张萌 崔光佐

[摘要]当前教育的中心越来越围绕学生展开,对学生解题过程的分析能挖掘出深层次的认知过程,帮助教师更精确地定位学生的问题所在。文章基于卡耐基梅隆大学最新研究成果,利用ACT-R模拟学生的解题过程,通过解题过程分析提出课题教学的四点建议,帮助教师更加有效地实施教学促进学生学习。

[关键词]算术;解题过程分析;ACT-R模拟;认知诊断

[中图分类号]G420 [文献标识码]A [论文编号]1009-8097(2013)03-0036-05 [DOI]10.3969/j.issn.1009-8097.2013.03.007

引言

算术是数学中最基础的部分,其内容包括自然数及其在各种运算下产生的性质、运算法则和实际中的应用。它的发展与逻辑思维能力、空间观念的培养是紧密联系的。算术的学习是小学数学教学的核心,教育家徐特立曾指出:“小学校之算术,使习熟日常计算生活必须之知识,兼以精确其思考为要旨。”依照皮亚杰认知发展理论,小学生处于四个阶段中的具体运演阶段,这个阶段的学生出现了逻辑思维和零散的可逆运算,但一般只能对具体事物或形象进行运算。算术学习中的一个重要任务是学习算理,而算理其实就是对数字的逻辑操作方法,可想而知算术对于刚刚出现逻辑思维的小学生来说相当困难。怎样科学地进行算术教学,才能帮助学生有效地掌握算理,从而运用算术解决实际问题?

目前对算术学习的研究很多,主要集中在教育学、心理学、认知神经科学三个领域。自古以来,中国的算术教学较为关注学生计算技能的培养,教育学探索有效教学的方法和失误的原因及纠错的方法。学生要达到熟练掌握计算步骤必须从运算的流畅和对运算所需的数学思想和法则的理解上着手。20世纪70年代以来,有关算术认知的研究受到了心理学家的广泛关注。Hitch开创了工作记忆在算术认知中作用的研究,他认为个体犯错误的原因主要是忘记了部分计算结果和最初的信息:以Siegler等为主要代表的研究者关注算术认知策略,从儿童算术策略提取、选择和发现的角度解释儿童算术认知的表现。认知神经科学认为计算行为可能包含以下几种认知成分,即数字识别、数学符号含义的理解、从长时记忆中提取计算事件、计算方法的选择、运算规则和特殊计算程序的执行、中间结果的暂时储存和再提取以及记忆结果的表达;张权等用fMRI技术对数字计算相关脑功能区进行定位,初步分析各个脑功能区在数字计算中的作用,证实工作记忆在计算中发挥了重要作用。这些领域的广泛关注,促使算术研究越来越科学化,算术教学越来越有成效,但是仍然存在许多不足。教育学领域对算术的研究停留在实践总结的水平上,对于算术的认知过程不了解,总结出来的教学方法缺乏可操作性。而心理学对于算术的研究大多只着眼于影响算术过程的某些方面,比如工作记忆、认知策略等,它也没有清楚地描述出算术的整个认知过程。认知神经科学的研究推动了算术研究的科学化,但是离教学有一定的距离。

针对以上不足,本文借助卡耐基梅隆大学认知实验室的最新研究成果ACT-R,对一道有余数的除法题的解题过程进行仿真,清晰地呈现学生解决有余数除法题的过程,依据仿真结果挖掘出算术学习的关键点,希望能对小学算术教学提供有效的参考。

一.基于ACT-R的算术仿真

1.ACT-R(Adaptive Control Theory-Rational)的简介

ACT-R是著名认知心理学家安德森(Anderson J.R)组织开发的一种认知仿真工具,能够模拟人的一些认知活动。它依据大量的认知心理学实验,其仿真结果得到真人实验和核磁共振实验的验证。目前使用这种认知工具已经成功地模拟了多种认知任务,如汉诺塔、模式识别、记忆、数学的认知过程等。

ACT-R将知识划分为陈述性知识和程序性知识,从而将认知过程细化到操作层次,可帮助我们了解学生学习的过程及其调用的知识,通过诊断可反应其知识的完整性。其中陈述性知识是指我们意识到自己知道并且能够陈述给其他人的知识,例如:地球是圆的,1+1=2等。陈述性知识要先定义类型再编码具体的知识,ACTOR中的陈述性知识定义模式为(chunk-type名称属性1属性2属性3…)。图1为ACT-R对两条陈述性知识的编码。

ACT-R中的陈述性知识用知识块(chunk)来表示。每个知识块由其名称、类别、属性及属性值来定义。如图1左边所示,“Character”是这个知识块的名称,“shape”表示该知识块所属的类别是形状,“agent”和“attribute”是属性,“earth”和“global”是对应的属性值。每一个知识块可以由任意多个属性及其属性值构成,图1右边的例子表示一个事实(fact),其类别是加法事实(addition-fact),属性有三个,被加数(addendl)值为1,加数(addend2)值为1,和(sum)值为2。

程序性知识是没有意识但可以通过行为显示的知识,就像我们都会说话,但是不能说出说话的规则一样。ACT-R中的程序性知识是通过产生式来实现的,产生式用“矗”连接事件产生的条件和条件满足时将产生的动作,表示如果满足事件产生的条件就执行产生的动作。这种产生式系统是人工智能领域公认的人类解决问题的基本范式。ACT-R中产生式的一般模式如下:

(P名字

事件产生的条件

产生的动作

)。

2.一道有余数除法题的ACT-R仿真

本文以人教版小学三年级数学上第51页的例题23÷5为例,模拟学生解决这道题的过程,分析算术过程中的关键点。

(1)陈述性知识——前修知识的挖掘

解答上述有余数的除法题需要用到的前修知识有数对(count-order)、比较(compare-number)、加法(addition-fact)、乘法(multiplication),目标为除法(division),陈述性知识的定义如图2所示。

数对(count-order)是连续的,有两个属性first和second,如(1,2)、(2,3)等。比较(compare-number)指存在大小关系的数对,如(10,23)表示10<23。加法(addition-fact)指简单的加法运算,有三个属性:数1(addendl)、数2(addend2)、和(sum)。乘法(multiplication)指九九乘法口诀,有三个属性数1(addendl)、数2(addend2)、积(result)。除法(division)即为本题的目标一一除法运算,除三个基本属性数1(numl)、数2(num2)、积(result)外,还包括实现解题过程所需的与知识无关的其他属性,如time记录试商过程中产生的临时商值,stage记录当前动作的状态以便于顺序的执行产生式。

图2定义了解答目标题目所需前修知识的框架结构,解题过程还需要数条的知识。图3是四种前修知识和目标的编码范例,第一条知识p1,其类别(isa)是数对(count-order),表示1后面是2,数对可以帮助我们顺序的执行一系列连贯的动作,如提取乘法口诀时,顺序的提取一五得五,二五一卜-三五十五等。第二条知识cl,其类别(isa)是比较(compare-number),表示第一个数(first)比第二个数(second)小,如10比23小,对三年级上的学生来说可以快速的比较两个数的大小,于是假设学生的知识中存在这样一条陈述性知识供直接调用。第三条知识fact51,其类别(isa)是乘法(multiplication),表示乘法运算(这里主要指乘法口诀),如一五得五。第四条知识al,其类别(isa)是加法(addition-tact),表示加法运算,如20+3=23。上述有余数的除法题的目标(goal)是一个除法(division),被除数为23,除数为5,商值初始为1,状态(stage)没有赋值即为空。

(2)程序性知识一一算术解题过程的分析

解答目标题目还需要一系列的程序性知识,来调用相应的陈述性知识,实现算术过程,求出结果。本题的程序性知识由12个产生式组成,这些产生式运行一到多次,按照自然意义,可以将这些产生式归纳为三个组块:背口诀、试商、求余。这三个组块的顺序执行构成了完整的解题过程,其执行过程如图4,下面我们具体阐述每个组块。

背口诀就是直接提取九九乘法口诀。按正常的解题步骤,学生拿到这道题会先看看除数能否整除被除数,即判断和5相关的口诀中是否存在结果(result)为23,由三个产生式(check-conditonl、fail-aaend2、fail-aaendl)完成以F解题动作。首先,查询记忆中是否存在一条乘法口诀,其结果(result)等于23,数2(attend2)等于5。例如一五得五、二五一十、三五十五、四五二十、五五二十五。其次,查询记忆中是否存在一条乘法口诀,其结果(result)等于23,数l(attendl)等于5。因为和5相关的口诀还有五六三十、五七三十五、五八四十、五九四十五,提取这些口诀时5是数1(attendl),所以查询完记忆中5作为数2的口诀之后还要查询5作为数1的口诀。第三,当检查完所有与5相关的口诀没有找到满足要求的口诀时,说明目标题目不是表内除法,就要为进入试商组块做准备。试商可以由低向高试,也可以由高向低试,或者从中间比较接近的倍数开始试,初学者一般从低向高试。我们进行算术题的ACT-R仿真是为了挖掘算术解题过程的重要点,对初学者的解题过程进行仿真是最理想的。为了顺序的试商需要用到数对,如5的1倍小于23,那么就试5的2倍,这个2就是由数对产生的,即提取满足条件的数对(count-order)中数2(second),其数1(first)为初始商值1。这三个产生式组成的模块完成判断是否是表内除法,即能直接靠九九乘法口诀解答的除法,如果不能就要进入下一个模块——试商。

试商即寻找分界数,比它小的数和除数的乘积都小于被除数,而大于等于它的数和除法的乘积都大于被除数,这个分界数减一即为最终的商值。本题的分界数是5,因为四5--十、五五二十五,20<23<25,4即是最终的商值。这个组块由六个产生式(try-quotient、fail-multiplication、check-quotient、prepare-quotient、fail-quotient、find-quotient)实现。首先,从记忆中提取除数和当前商值的乘积,当前商值是提取到的数2(second),即(1,2)中的第二个数。除数5的口诀中有四五二十也有五六三十,如果除数为数1(addendl)的口诀查找完,没有找到(retrieval error),接着查找除数为数2(addend2)的口诀,需要交换一下数1(addendl)和数2(addend2)的位置继续查找。其次,检查商值是否满足分界条件。如果从记忆中提取到除数(ntan2)和当前商值(time)的乘积(result),则比较乘积(result)与被除数(numl)的关系。比较两个数的大小通过查询记忆中是否存在这两个数的比较(compare-number)来实现。例如,乘积(result)lO和被除数23的比较数对(10,23),说明10小于23。如果记忆中存在这样的数对,说明乘积比被除数小,继续试更大的商。如果记忆中不存在这样的数对,说明乘积比被除数大,则找到分界数。第三,如果当前商值(time)满足分界条件,减一得最终的商并输出语句“-the quotient is x”(商是x,X代指所得商)。

求余是试商成功后求出余数,这个组块由三个产生式(fail-rest、get-rest、finish)实现。求取余数的过程就是计算被除数与商和除数乘积的差值,本题的余数为23-20=3。首先,从记忆中提取除数(num2)和商(time)的乘积,为求出余数做准备。其次,提取一条加法知识中的数2(addendl),其数1(addendl)为除数和商的乘积,结果(sum)为被除数。如果找到数2(addendl)即为余数,输出语句“-the rest is Y”(余数是Y,Y代指所得余数)。

组块的划分有利于学生有步骤地分解复杂的运算过程,化整为零;同时其他类型除法题的仿真结果也表明不同类型除法题具有相同的组块。例如,表内除法就是由组块背口诀单独实现的,而笔算除法则是由这三个组块加上一些其他的组块实现。在学生完成复杂运算和知识迁移过程中,这种组块式分解可能起到一定的作用。

(3)认知模拟结果

如果算术的模拟解题过程在ACT-R上顺利地执行,就能有效地检验仿真的正确性,图5是ACT-R自动生成的trace图,也是解题过程的模拟图。第一列是运行时间,ACT-R系统设置每0.05秒输出一条知识调用记录;第二列是知识类别,PROCEDURAL指程序性知识,DECLARRAIVE指陈述性知识;第三列是具体的操作,“PRODUCTION-FIRED”表示调用程序性知识,即产生式,后面是产生式的名称;“SET-BUF-FER-CHUNK RETRIEVAL”表示调用陈述性知识,后面是陈述性知识的名称。图中清楚地显示了执行产生式的顺序,其中试商组块中有的产生式执行了不只一次,因为试商过程中会多次调用除数的乘法口诀。“——THE QUOTIENT IS 4”输出商4,“——THE RESTIS 3”输出余数3,即是目标题目的答案。同类型的除法题经过编码后都会得到类似的trace图,该图能帮助我们系统地分析解题的认知过程。

二.算术解题过程分析对教学的启示

1.前修知识的提取

通过对算术解题过程的分析可以清楚地提取前修知识,这些知识的完整性对学生解答目标题具有重要的影响。本题中有四个前修知识:数对、比较、加法、乘法。通过教学实践发现,有些基础很差的学生之所以不会做除法题,是因为九九乘法表没有背熟,更不用说掌握试商的步骤。如果学生缺乏相关的前修知识,就算掌握解题的步骤也不能正确地解出答案,针对出现这种问题的学生不断地讲解怎么解题也是没有效果的。因此分析前修知识,确认学生具备这些前修知识是教学的第一步。经过系统的解题过程分析能够得出算术的知识网络,同时可以精确地诊断学生知识的缺失,从而进行更有效的干预。

2.程序性知识的归纳

算术题的解题过程有很强的连续性,当前什么情况,下一步应该做什么,是每个学生应该掌握的,但是这个过程的复杂性也直接影响学生习得的效果。本题就有12个不同产生式,并且有的产生式执行不止一次,这种复杂的操作过程,对学生是一种挑战。在本题的分析中,根据产生式的作用将这12个产生式分成三组,实现背口诀、试商、求余操作。解题过程的分析说明将复杂的算术过程分成若干个基本单元,每个小单元分别归纳掌握,能克服学生初学时策略控制的难度。这种根据功能的划分有助于教学分解,先有步骤地训练再整体运用,帮助学生化整为零。不同类型的算术题有类似的基础模块,模块化的教学可以相应地减轻学生学习的负担。

3.竖式计算的作用

工作记忆为复杂认知任务提供暂时的信息存储空问和加工的信息来源,它在数学运算中的作用是目前国内外研究的热点课题之一。从上面trace图中可以看到学生在解题过程中提取记忆的数量为14条,而工作记忆的容量很难将这些信息全部存储下来。对于工作记忆容量小的学习者而言,要想解答出上面的题目,最好的办法是借助竖式,将一些中间信息写在纸上,以减少占用工作记忆的容量。教学的初期可以让学生多用竖式,这样他们受工作记忆容量影响较小,从而加快学生对解题步骤的掌握。上面的模拟过程是未自动化时候的解题过程,当学生熟练了以后,很多过程都可以自动化。例如,试商时可以直接从较大的数开始试起,从而减少提取记忆的次数,这个时候就可以做到口算简单的有余数除法。

4.认知诊断

上面的模拟过程是一种正确的细致的解题过程,我们会对不同的学生进行口述报告,根据学生的口述报告实现个体的ACT-R模拟。将个体的ACT-R模拟与标准的解题过程对照,能够精确定位学生的问题所在。ACT-R细化到操作层次,可帮助我们了解学生的学习的流程及其调用的知识,通过诊断可反应知识的完整性。ACT-R程序模块化后形成整个运算的脉络,可对学生的算术运算能力进行系统诊断,判断是前修知识的缺乏还是程序性知识不熟,目前已对单一的加减乘除进行了仿真,并且分析出知识网络图。在教学实验中,有的学生口述报告解题过程时只报告除数是数2的口诀,而不会继续报告除数是数1的口诀,在这种情况下,陈述性知识不缺,但是控制执行出现问题以致未提取完全,造成解题困难。对学生认知过程的模拟可以帮助我们发现这种容易忽略的问题所在。

三.总结与展望

本文使用ACT-R模拟学生解题过程,挖掘出解题需要的前修知识,对解题步骤进行归纳分组,从模拟的结果说明竖式计算的必要性和重要性,帮助教师系统地诊断学生的问题所在。目前这一套方法的效果已在河北省高阳县永亮小学的教学实践中得到初步验证,进一步的推广有待研究。另外,教学实践中也发现基本算术模块的相似性使得学生出现负迁移的情况,对迁移的分析是下一步的研究重点。

编辑:小西

猜你喜欢
算术
别让恐龙做算术
担心等
汉字这样记
算算术
算术游戏
学算术
小狗算算术
基于算术编码的低冗余LT码及其在安全通信中的应用
做算术(外一则)
读写算(中)(2015年12期)2015-11-07 07:25:01
“平方根”检测题