“去粗取精”与“循规蹈矩”

2020-10-30 10:03秦晓兰
关键词:抽象自动化

秦晓兰

摘要:计算思维是一种能够把问题及其解决方案表述成通过计算工具进行信息处理的形式化思维过程。它是每个人在日常生活中都可以运用的一种思考方式,同“阅读、写作、算术”一样,是一种普适思维。计算思维的培养,要让学生体验“去粗取精”的抽象和“循规蹈矩”的自动化。以《机器人沿线走》一课为例具体说明。

关键词:计算思維 抽象 自动化 《机器人沿线走》

计算思维是一种能够把问题及其解决方案表述成通过计算工具进行信息处理的形式化思维过程。它是每个人在日常生活中都可以运用的一种思考方式,同“阅读、写作、算术”一样,是一种普适思维。个人认为,计算思维的培养首先要让学生体验“去粗取精”的抽象和“循规蹈矩”的自动化。下面,以《机器人沿线走》一课为例具体说明。

一、体验“去粗取精”的抽象

抽象是计算思维的本质,也是计算思维教育的重要内容。所谓“去粗取精”的抽象,即去除与问题解决不相关的非本质细节,提取出与问题解决相关的本质属性和关键要素。

从个体心理发生、发展规律的角度看,中学阶段学生的思维方式正由形象思维向抽象思维转变,抽象思维能力尚未达到成熟水平。因此,问题解决中容易受到非本质属性和特征的干扰。面对现实世界中纷繁复杂的真实问题,如何“去粗取精”,提取出“本质属性”和“关键要素”,进而构建计算机可以解决的问题模型?类比、分解、数学表达等方式方法,可以引发高质量的抽象,发展计算思维。

(一)类比

类比是一种推理方法,是由两个对象的某些相同或相似的性质,推断出这两个对象在其他性质上也有可能相同或相似的一种推理形式。在机器人编程教学中,最简单、最直接的类比就是与人的类比。

课始,教师依据机器人行走的现象,提出问题:“在软、硬件条件都近乎相同的情况下,不同的机器人设备行走的路线各不一样,都或多或少发生了偏移。那么,如何解决偏移问题,让机器人沿直线行走呢?”学生陷入沉思。偏移问题的解决需要学生抽象出“添加传感器来获取信息”这一关键要素,即机器人需要借助传感器获得地面路线信息来修正运动偏移。很显然,对缺少问题界定、模型建构等经验的学生来说,这一步抽象难度很大。

对此,教师组织学生开展模拟游戏:邀请两个学生分别扮演机器人,一个学生闭着眼睛向前走,另一个学生睁着眼睛向前走。学生发现,闭着眼睛的同学走着走着就走歪了,而睁着眼睛的同学因为能看到地面直线,可以很轻松地沿直线行走。通过类比,学生恍然大悟:原来机器人缺少“眼睛”,需要加装,使其也能“看到”地上的直线。

这里,通过类比调动学生的形象感知基础,使他们迅速提炼出问题的本质属性和特征,推进问题建模的进程。至于“机器人的眼睛——循迹传感器”的相关陈述性知识,包括循迹传感器的外观、功能、原理、位置等,则可以在接下来的教学中组织学生自主探究解决。

(二)分解

分解即分离、拆解。分解可以是把一件事情分解为起因、经过、结果等要素,也可以是将一个物品的整体分解为各个组成部分,如将计算机的硬件分解为输入/输出设备、存储器和CPU等。学生在抽象问题模型的过程中,为便于后续的形式化表达,可以将研究对象分解为彼此区别但又相互关联的多个状态,各个击破。

学生通过上述类比过程,认识到“循迹传感器可以帮助机器人获取路面信息从而修正行走方向”。那么,是怎样“修正”的呢?学生再次陷入沉思,然后提出了“往哪边修正?”“什么时候往左边修正,什么时候往右边修正?”等一连串问题,但却找不到出路,抽象不出关键要素。

这时,教师引导学生画图——画出某一时刻机器人与地面路线的位置关系图。学生大致画出了如图1所示的五种位置关系,即五种状态。

学生进一步分析:若在状态2及时修正方向,则状态4将不会出现;同理,若在状态3及时修正方向,那么状态5也将不会出现。因此,删除两种冗余状态,剩下三种有效状态。至此,学生通过分解,抽象出机器人在某一时刻有且仅有三种状态——居中(即状态1)、左倾(即状态2)、右倾(即状态3)。在这三种状态下,对机器人行走路线的修正方法都是唯一的、没有二义性(在一种环境下会出现两种或两种以上的含义)的,即状态1不修正,状态2要用“右转”命令来修正,状态3要用“左转”命令来修正。由此,得到状态判断与修正流程图(如图2)。

将现实世界中的真实问题交由计算机解决,最重要的就是解决二义性问题——计算机是自动执行人类指令的机器,人类给予计算机的指令必须是指向清晰、没有二义性的,这样,计算机才能根据指令无差错地自动化执行。机器人沿线走,从中可以分解出很多属性,如速率、方向、时间、位置、加速度等。教师通过引导学生画图,忽略速率、方向、时间、加速度等与问题解决无关的要素,而保留“机器人相对于地面路线的位置”这一关键要素。而由这一关键要素分解出来的三种状态正好解决了修正方向的二义性问题。

(三)数学表达

数学表达表现为由数字、运算符号、括号、变量等组成的式子,包括算术表达式、关系表达式、逻辑表达式等。其中,算术表达式是由算术运算符号(+、-、×、÷等)连接起来的式子,关系表达式是由关系运算符号(>、<、=、≥、≤、≠等)连接起来的式子,逻辑表达式是由逻辑运算符号(或者、非、并且等)连接起来的式子。数学表达式具有唯一的值。通过数学表达来抽象,就是通过对研究对象的“数量关系”进行特征抽取,使得问题简约化、明确化。

在抽象分解出三种状态之后,接下来的关键问题是“状态如何判定(表示)”,即要怎样表示才能区分当前机器人是处在状态1、状态2还是状态3。对此,教师提示学生在状态图上标注出每个机器人的3个循迹传感器的位置(如图3),引导学生观察并用自然语言描述“三种状态下,各机器人3个循迹传感器的返回值”。很快,学生发现,可以用不同的逻辑表达式唯一地表示三种不同的状态:状态1,“循迹传感器1等于0”并且“循迹传感器2等于1”并且“循迹传感器3等于0”;状态2,“循迹传感器1等于0”并且“循迹传感器2等于0”并且“循迹传感器3等于1”;状态3,“循迹传感器1等于1”并且“循迹传感器2等于0”并且“循迹传感器3等于0”。这样,就将生活中的真实问题转化为可以被“计算”的问题。

二、体验“循规蹈矩”的自动化

在问题建模过程中,所有的抽象都是为自动化服务的。“循规蹈矩”的自动化中的“规”“矩”即“规则”。“循规蹈矩”的自动化,就是指一旦为计算机预设了规则,计算机就会按照既定的规则自动化执行;如果没有人为干预修改规则,计算机就只会按部就班地执行原先的规则。换句话说,计算机的自动化是以遵循规则为前提的,如果要求计算机完成更优的任务,则必须人为干预,去修改完善原先的规则。

在“机器人沿线走”的建模过程中,从机器人自动行走,到加入“循迹传感器”模块使其沿轨迹线行走,再到加入“超声波传感器”模块使其主动避障,又到加入“舵机和扫把”模块使其边扫地边沿线走……模型越来越复杂,功能越来越完善,学生在不断迭代加深的优化处理中深切体验到计算机“循规蹈矩”的自动化。

曾有学生问及“机器人可以超越人类吗?”的问题,我想,当学生深切体验了计算机“循规蹈矩”的自动化原理,明白了机器人的自动化是以遵循规则为前提的时候,他们自然会得出否定的答案。

参考文献:

[1] 王荣良.中小学计算思维教育实践[M].上海:上海科技教育出版社,2019.

[2] 王荣良.计算思维究竟是什么[J].中国信息技术教育,2015(23).

[3] Jeannette M. Wing. Computational Thinking[J]. Communication of the ACM, 2006(3).

猜你喜欢
抽象自动化
小学数学概念形成三部曲
由“抽象”变“具体”
对数学有效教学的思考
浅谈门格尔与罗雪尔关于方法论的对比及启示
AGV小车在白酒行业自动化立体仓库中的应用
配电室无人职守集控站在京博石化的运用
配电线路运行资料管理自动化的探讨