离散数学是计算机专业的一门重要基础课,它主要讨论计算机相关数学领域各分支所涉及的“离散量”的结构及其对应关系。由于客观世界中,对于涉及离散对象的问题,必须首先被正确地抽象为一个离散数据结构及其关系的模型,即建立离散数学模型,然后才能用离散数学这个工具加以解决,所以,培养学生离散数学建模能力是教学离散数学课程的一项重要任务。
离散数学建模是离散数学作为工具与计算机技术的接口点,其建模过程是对客观世界事物的数学抽象,不仅是培养学生抽象思维能力的有效方法,而且对模型的求解更是对学生抽象思维与逻辑思维能力的综合训练。
1、离散数学建模能力的内涵
我们考察欧拉研究哥尼斯堡七桥的问题:河中有两个岛,通过七座桥彼此相连。试问游人从四块陆地中任一块出发,按怎样的路线才能做到每座桥通过一次而最后返回原地?
欧拉在研究这个问题时,抓住了桥梁的连接地点这个关键而抛弃了两个岛和两岸陆地的大小等具体情况,把四块陆地缩小成四个点,而把七座桥表示成七条线,这样并不改变问题的本质。于是七桥问题就变成图的问题,也就是要研究,从图中任一点出发,通过每条边一次而返回原点的回路是否存在?欧拉仔细考察这类图,发现存在这种回路的图中至多只能有两个点(起点和终点)有可能通过奇数条线,现在图中有四个点通过奇数条线,所以此图不可能存在这种回路。再回到七桥问题验证,确实如此。欧拉据此断言七桥问题要求的游人路线是不存在的。事实上,欧拉在研究过程中采用的图就是七桥问题的数学模型。
上述建立七桥问题离散数学模型的过程实际上包含了建模的一般步骤:
第一步,摸清实际问题的背景,明确建模的目的,分析对象及其相依关系。上述问题中对象为陆地、桥和游人。桥连接陆地,游人行走。
第二步,透过表象抓本质,选择具有关键性作用的对象进行考察。上述问题中要求考虑游人的行走路线,与游人本身及陆地大小、桥梁长短无关。所以,关键是陆地和桥的连接情况,特别是每块陆地与几座桥连接。
第三步,进行数学抽象,尽可能选择恰当的离散数学概念、符号和表达式表现对象及其相依关系。上述问题中分别用点和线表示陆地和桥,于是原问题简化为一张图,得到原问题的一个初始离散数学图模型。
第四步,利用离散数学工具对模型进行分析求解,将结果拿到实际问题中检验,判断模型的合理性及适用范围,必要时进行修改直至符合要求为止。上述问题中建立的初始模型,经分析求解并检验后符合问题要求。所以,该初始模型是七桥问题的合适离散数学模型。
当然,并不是所有离散数学建模都是按上述步骤进行的,然而,由此可以看出,一个人的离散数学建模能力至少应当包括四个方面,一是理解实际问题的能力;二是抽象分析能力;三是运用离散数学工具的能力;四是通过实际加以检验的能力。下面,我们针对这几种能力探讨相应的教学策略。
2、教学中培养学生建模能力的策略
2.1从激发学习积极性的角度选择实例引入课题,初识离散数学建模方法
教育心理学研究表明,当学生明确了学习的具体目的和意义之后就会产生一种强烈的学习愿望,推动他积极主动地学习。
离散数学主要由集合论、数理逻辑、代数结构、图论等多个彼此独立的分支组成。这些内容自成体系,并且概念多,理论性强,很容易让学生觉得各部分内容联系不大,进而使学生觉得杂乱无序,影响学习积极性.因此,在相应课题引入时应当让学生知道这些内容与计算机技术的联系,使他们认识到各部分看似联系不大,但学习目的是统一的,都是要提高抽象思维能力和逻辑推理能力,培养运用离散数学知识构建实际问题的抽象模型,并在此基础上构造算法解决实际问题的能力,为计算机各专业的后续课程,如数据结构、数据库原理等提供重要基础。为此,选择现实世界中可以用计算机处理的实例引入课题,不仅可以让学生认识到离散数学的重要性,而且可以让学生得到利用离散数学建模方法,借助计算机解决实际问题的初步认识,是比较合适的。
2.2重视概念、符号等的实际背景,培养抽象分析能力
离散数学中的各种概念、符号、图形等都是人脑活动的最高产物,是事物对象或对象关系在人脑中的反映。人们在利用离散数学这个工具去解决实际问题时,必需首先明确相应概念所代表的事物原像(对象或关系)是什么。所以,在讲解离散数学的概念、符号和图形时要重视它们的的实际背景,重现相应的事物原像,让学生体会抽象分析的思维过程,这对培养学生离散数学建模能力是十分重要的。
众所周知,群的概念是代数结构理论中最重要的概念之一,群结构观点已渗透到一切数学部门中,在计算机科学里,形式语言、编码理论和密码学等都和群结构有关。群是个完全抽象的概念,它之所以有如此威力,原因就在于有大量群的实例存在。比如,正有理数按乘法构成群;向量按加法构成群;晶体分子排列中有置换群;旋转运动中有转动群等。用群结构观点考察集合时,不是注意具体集合中的对象,而是注意对象之间所表现的内在关系结构,这就是说,群的概念从实际问题中抽象出来,其抽象过程是抓共性,抓本质。这种将客观事实归纳抽象成离散数学概念的抽象思维能力对离散数学建模是极为重要的。
2.3通过应用题教学,掌握离散数学建模的初级技能
离散数学课程中的应用题是教师为了使学生掌握相应知识而人为设置的,真正的实际问题通常要复杂得多。但是解这些应用题的过程,实际上已经包含了离散数学建模的基本内容。比如在数理逻辑中,常会遇到这样的应用题;设计一个符合如下要求的报警系统;(1)仅当系统的总电源开关闭合时,系统才能报警;(2)当总电源开关闭合时,以任何方式打开通向受监控区的主通道时,主通道门上的传感器动作并使报警系统工作;(3)为便于保卫人员的巡视所设的一个专用休闲开关未合上时,监控区的门户就被打开,这时门户上的传感器动作并报警。
解此题时,首先要摸清问题的背景,分析事物对象及对象之间的关系并用字母表示问题中有关的一些语句。比如,用A表示“报警系统工作”;用M表示“总电源开关闭合”;用G表示“主通道被入侵”;用W表示“监控区的门户打开”;用S表示“休眠开关闭合”.于是,利用物理知识,以A作为输出便可列出表达式A圳M∧(G∨(W∧-S))。利用数理逻辑符号很容易画出相应的框图。这个表达式实际上就是相应问题的一个离散数学模型。不过,是否符合要求还需要回到原问题进行检验。如果需要减少门延迟时间,则对模型修改,上述表达式可写成A圳M∧G∨M∧W-S))这就得到相应问题修改后的离散数学模型。
对于大学生来说,针对实际问题建立离散数学模型的能力是一种智力技能。教育心理学认为技能有初级和高级之分,当初级技能经过反复的练习和实践达到迅速、精确、自动化的阶段才能达到高级技能的水平。应当说,解应用题的能力对离散数学建模来说是一种初级技能,但这种技能对培养学生的离散数学建模能力来说,具有基础作用,是十分重要的。因此,教师要精选应用题讲解,学生要多加练习。
2.4强调参与,实践中探究离散数学建模的全过程
学生在学习和理解相应离散数学知识后,应当明白何处用、怎样用这些知识。而要做到这一点,必须亲身实践,探究建模的全过程。教师要切合学生的知识基础,由浅入深,由简入繁地选择具有典型性和启发性的范例,引导学生进行探究式的学习,首先弄清实际问题的含义,学会从复杂的背景中找出问题的关键所在,根据问题的特点,选择恰当的离散数学知识建立模型,把实际问题转化为清晰的离散数学问题。
要让学生能从实际问题的复杂背景中找出关键所在,就是要培养学生能透过表面现象而抓住它的本质,这是至关重要的。只有抓住本质的东西才能正确地作出假设,选择恰当的离散数学知识建立模型。我们在教学中以计算机操作系统经常出现死锁现象为例,和学生一起探究建立相应的离散数学模型。通过分析可知,定时检测可以为这种现象的出现提供实时报警信号。为此,首先要弄清死锁现象的本质。仔细分析可以发现,这是由于进程甲占有资源A,同时又申请资源B,与此同时,进程乙占有资源B,同时又申请资源A,此时两进程都无法申请到所需资源,因而只能等待,而等待是无限期的,这就产生了死锁现象。抓住了这个本质就知道应把进程和资源作为研究对象,在确定出对象的集合以后,可以发现对死锁检测主要应研究资源间的关系,而对此选择图论知识建立离散数学模型是恰当的。最后,师生共同努力建立了相应的离散数学模型。在整个过程中,教师起引导作用,引导学生探究建模全过程的每一步骤,学生在亲身实践中锻炼离散数学建模能力,体会了离散数学应用于实际问题作用,从而进一步提高了学习积极性。
3、结语
离散数学作为计算机专业的一门重要基础课,是相关领域应用和研究的一个工具,因此需要将它与相关领域相结合以构成离散数学模型。
然而,面对实际问题建立一个恰当的离散数学模型并不是一件容易的事,所以,在教学中大力培养学生的离散数学建模能力以适应当下学习和未来工作的需要是非常重要的。
参考文献:
[1]徐洁磐.应用型计算机本科中离散数学课程目标定位与课程改革的探讨[J].计算机教育,2010,(5)。
[2]常亮等.离散数学教学中的计算思维培养[J].计算机教育,2011,(14)。
[3]马叔良主编.离散数学[M].北京:电子工业出版社,2009.
[4]徐全智,杨晋浩编著.数学建模[M].北京:高等教育出版社,2004.