高考考试网
当前位置: 首页 高考资讯

数学建模遗传算法的应用(数学建模与编程教学融合的计算思维教育分析)

时间:2023-06-17 作者: 小编 阅读量: 1 栏目名: 高考资讯

案例一项目学习“BMI指数测算”。根据相关规定,BMI指数是用体重千克数除以身高米数的平方得出的数值,WHO规定了偏瘦、正常、偏胖的BMI值范围。要求画出BMI测算的流程图,并编写Python程序,能够根据输入的身高、体重值判断偏瘦、正常还是偏胖。

教学实践中数学建模应用的疑惑

《普通高中信息技术课程标准(2017年版)》(简称《课标》)指出:计算思维是指个体运用计算机科学领域的思想方法,在形成问题解决方案的过程中产生的一系列思维活动。这一系列的思维活动包括界定问题、抽象特征、建立结构模型、合理组织数据等操作。可见,建模是形成解决方案所产生的一系列思维活动中的重要环节之一。

模型是对事物原型进行模拟或抽象后形成的在某些方面不失真的近似反映。模型可分为对真实事物按比例缩放的直观模型、知识或经验存储于人脑中的思维模型、用符号语言抽象描述事物特征及关系的符号模型等,不同学科也会用不同模型来描述并解决学科问题,如数学模型、计算模型、经济模型等。由于《课标》没有对“结构模型”作出具体阐述,在教学实践中,一线教师往往都将数学建模作为计算思维培养的重要环节。

案 例 一

项目学习“BMI 指数测算”。情境描述如下:在国家学生体质健康标准中,不仅测算身高、体重,还会测算体质指数BMI。根据相关规定,BMI指数是用体重千克数除以身高米数的平方得出的数值,WHO规定了偏瘦、正常、偏胖的BMI 值范围。要求画出BMI 测算的流程图,并编写Python程序,能够根据输入的身高、体重值判断偏瘦、正常还是偏胖。教师设计的教学流程如下:

①抽象与建模,确定BMI的计算公式,即完成BMI=体重值/身高值^2的数学建模;

②设计算法,画出反映分支结构的流程图,并编写程序;

③调试运行,记录运行结果。

根据案例1预设的教学要求,学生以解决身边真实问题为目标,通过数学建模,学习算法的分支结构,实现计算思维的培养。对照《课标》关于计算思维的描述,仍存在一些困惑:其一,①中关于BMI 指数的数学建模,是不是符合《课标》中“建立结构模型”的要求,这涉及“建立结构模型”究竟是什么,及其与数学建模的关系;其二,①中抽象与建模,只是针对WHO有关规定书写了BMI计算公式及判别范围,该过程是否达到了数学建模教学所要求的学习效果,这涉及什么是数学建模教学的问题;其三,②中分支结构的运用,是否也是一种建模,这涉及如何理解程序设计中的建模问题。

数学模型与数学建模概念追溯

数学模型是将某事物系统的主要特征、主要关系经抽象以后用数学语言概括地或近似地表达的一种数学结构。数学模型是实际问题的一种数学刻画,可以是方程、函数乃至图表或图形。例如,BMI的计算公式就是描述人的健康状况的一种数学刻画,结果用分段函数表示人的体型胖瘦是否正常。

以数学模型为工具来解决实际问题的方法称为数学模型方法。数学模型具有概括性,现实世界的一些问题可以归纳为某一成熟的数学模型来解决。植树问题就是小学数学中的一个典型数学模型,通过该模型可以让学生深刻理解并感悟全长与间距、棵数与间隔数之间的关系。生活中许多例子可以归结为植树模型,如剪彩的人数和所得绳子的段数之间的关系、日历中具体的日期和中间间隔的天数之间的关系都符合植树模型。

数学模型方法也包括建立数学模型,即数学建模,就是将某一领域的具体问题,经过抽象、简化,明确变量和参数,依据某种规律建立变量和参数间的数学关系(数学模型),然后求解问题,并对此结果进行解释和验证,必要时还需要修正模型。如在案例1中,BMI模型的建立,就是依据健康医学方面的知识并采集相关数据,运用回归分析等数学方法,提出假设,建立BMI指数与身高、体重的函数关系以及判别健康与否的分段函数,最后对该数学模型进行验证。由此可知,在案例1中,学生并没开展有关BMI的数学建模活动,而是直接引用了BMI的计算公式,教学设计中的数学建模只是一种问题导入的情境素材,其本质上是为了实现分支结构教学目标。

数学建模是数学学科的核心素养要素之一。高中数学课程标准要求:数学建模活动是对现实问题进行数学抽象的一个过程,学生首先要学会用数学语言表达实际问题,再用数学方法构建模型解决问题。学生需要经历以下过程:联系生活实际,以数学的视角发现问题、提出问题、分析问题、形成模型,通过数学的语言对模型进行参数确定、计算求解,对模型进行结果检验、模型改进,解决实际问题。

观点1:数学建模是数学学科的教学内容之一。在数学建模教学活动中,学生从现实世界中获取有价值信息并进行定量分析,运用所学的数学知识、技能以及思想方法表达现实问题,形成通过数量关系认识事物的思维品质,提高用数学思维发现和提出问题、分析和解决问题的能力。

数学建模中的编程应用分析

数学是人类对世界直观感知、高度抽象以及理性认识的产物,数学建模则是应用数学联系现实世界的重要纽带。数学建模的发展从数学学科向计算机、生物、物理等领域渗透,几乎涉及人类所有的知识领域,成为这些学科不可或缺的必备工具。另外,计算机技术的应用,也提高了数学建模的功效,运用计算技术能够更有效、快捷、准确地发现问题、理解问题、解决问题。无论是在模型假设阶段还是在验证阶段,计算机都可以帮助收集基本信息、基本数据,提供多种假设的可能性,快速验证假设的有效性。特别是在模型求解时,通过编制计算机程序,可以高速、准确地求得模型的解,从而提高数学模型的应用效率。开展数学建模教学,融入编程及算法实现的教学内容,既反映了计算机技术支持下数学建模解决问题的真实现状,也有利于通过跨学科学习培养学生解决问题的综合能力。

案 例 二

笔者早期主编的《数学建模与算法实现》一书中收录的一个高中数字建模教学案例“篮球罚球投篮”。问题情境如下:按照标准尺寸,罚球位置与篮框水平距离4.6米,篮框高3.05米,篮球直径0.246米,质量0.6千克,篮框直径0.45米,讨论怎样的出手角度和出手速度可以使罚球投中成功率最高。学习活动设计如下:

①分析问题,简化条件,提炼关键信息,如不考虑篮球在空中运动时的空气阻力和篮球自转产生的影响;

②分析篮球、球架、球框等参数关系,提出反映出手高度、出手速度、出手角度与上述参数之间关系的函数表达以及合理的数值范围,即实现初步的数学建模;

③编制程序,采用循环方法,针对不同的出手高度和出手速度,计算合理的出手角度,记录数据;

④应用数学模型,分析数据,得到若干结论,如随着出手速度的增加,出手高度对出手角度的影响变小。

比较案例1和案例2可以发现,案例2中的学生经历了数学建模的全过程,将身边的一个非纯数学问题转化为数学问题并用数学方法解决。教学过程主要体现了数学思想方法的培养,计算思维支持学生自如地使用编程工具解决数学建模过程中的计算问题。在实际教学实践中,要求学生已经掌握了循环结构的编程技能,能够以编程技术为工具获得投篮命中的出手高度、出手速度、出手角度相关数据供分析。因为如果学生不具备相应的编程技能,就会出现两方面的问题:其一,学生在数学建模的问题解决过程中,难以主动意识到用编程的方法产生数据进行分析;其二,学习编程技能所需要的时间成本开销可能会冲淡数学建模教学的连贯性。

观点2:案例2是以数学思想方法学习为教学主线,编程技术是教学实施环节中的一种支持工具。在这一类教学实践中,学生计算思维的培养主要体现在计算学科思想方法应用的意识建立和熟练应用方面,而应用意识的养成是以掌握学科方法为前提的。

计算学科中的模型与建模

模型方法就是根据研究要求,舍弃次要的、非本质的因素,抓住主要的、本质的因素,建立一个便于研究、能反映研究对象目标要求的新形象。模型方法并不是数学学科所独有的,如知识管理专业就用DIKW模型描述从数据、信息、知识到智慧的进阶关系。由于专业视角不同,模型也有局限性,如DI KW强调从数据中获取信息,而不强调客观世界的本体信息用数据表征的过程。在计算学科,建立模型就是运用模型方法表达出一般化的计算方法或计算过程。计算思维作为一种学科思维,支持计算学科的建模过程。

因此,运用模型方法可以简洁地表示计算学科的基本原理和工作模式。例如,由CPU、存储器、I/O及接口、三种总线等组成的一般化的计算机组织结构,就是反映计算机工作原理的模型。依据该模型,可以解释键盘输入的键值通过I/O接口及总线读入CPU,并根据需要存入内存的工作过程。

模型具有层次性,不同层次需要用不同的模型来表述。在高级语言层次的模型,CPU不再被关注,重点反映的是数据的存储与处理流程。所以,程序设计所涉及的模型通常是一种反映自动执行序列的过程模型,这类模型的关键要素有数据结构、运算公式和流程控制,具体是通过变量定义、赋值语句、控制语句来构造自动化的。

案 例 三

求1 2 …… 100的累加和的编程教学。通常的教学过程如下:①问题分析,确定采用s=s i,i=1、2……100的循环累加方法;②确定循环初值、结束条件以及循环体的操作;③绘制流程图,编写程序。

累加求和是程序设计中的一种基础算法。如在案例3中,变量s作为累加器,与变量i 相加后结果存回累加器s中;随着i 的变化,该操作重复100次。案例3的教学过程,是学习用循环结构实现累加的算法,也是经历建模的过程,该模型由变量s和i、运算公式s=s i和i=i 1、循环控制结构所确定。①完成了累加求和学科方法的初步认识,②完成了累加求和算法的实施细节,③完成了用程序设计语言表述该模型的构造。从某种意义上说,算法就是用于计算的一种过程模型,程序是该模型的一种形式化表达。

学生在掌握了累加求和算法后,遇到相类似的问题,就可以用相同的算法或相似的建模方法来构造程序。例如,对于连续输入100个数,求该100个数之和这样一个问题,学生很容易通过迁移获得解决问题的方法。一般而言,学生面对问题,可以迁移成熟算法的建模思想,或者将该问题转化为成熟算法问题,最终实现计算。以上建模和化归的应用,都是计算思维的体现。

在案例1中,其教学目标是通过BMI指数判别学习分支结构。用建模的观点分析案例1,可以发现,该教学可以使学生经历这样一个建模过程,即建立一个由分支结构、BMI计算公式以及相关参数变量组成的模型。同时,学生也形成这样一种解决问题的意识:凡是具有分段函数特征的问题,都可以转换为分支结构的模型来实现可计算化。

观点3:计算思维重点体现在个体是否具备将问题可计算化的意识与能力,其中算法起到了很明显的作用。算法作为一个成熟的模型,是运用计算学科的思想和建模方法,将问题一般化,经过抽象以及形式化表达,并经历自动化执行验证所形成的。理解并运用成熟算法,或经历算法形成的建模过程,都是良好的计算思维培养渠道。

编程教学与数学建模的融合

由于数学学科和计算学科的天然关联,许多数学学科思想方法支持计算学科的发展。在算法与程序实现中,往往可以直接使用成熟的数学模型,在案例1中,就是直接采用BMI模型作为程序的计算公式。这是因为许多数学模型具有确定性、符号性等特征,恰好与程序设计所需要的可计算要求相吻合。数学建模的思想方法也支持具有自动化属性的程序构造,在案例3中,累加求和本质上就是数学思想的实现,只是在数据结构、程序流程控制等方面有明显的计算机技术特征。

案例3原本就是一个学习循环结构的典型例题。从教学视角分析可以发现,该例题可以清晰地阐述循环结构的关键要素,如执行累加操作的循环体、循环结束的判断条件以及循环初值设定等。在教学过程中,可以清晰地阐述这些关键要素,帮助学生理解循环结构的编程应用。

事实上,案例3 的教学情境并不是一个完全真实的应用场景。作为一名程序员,如果要完成1 2 …… 100这一类等差数列累加操作,一般不会采用累加求和的方法,而只要采用高斯定理s=(1 100)*100/50,仅需要一条赋值语句就可以高效地完成运算。

如果在教学中,采用高斯定理编程实现,将会如何呢?当然其教学目标就不再是循环结构的认识了。将1 2 …… 100的计算,用s=(1 100)*100/50公式表示,这一过程本质上也是数学建模,即用数学模型方法来解决数学问题。在此教学过程中,学生获得的体验是:运用成熟的数学模型结论可以清晰地形式化表达问题,方便程序构造,最后自动化实现。

如果学生没有高斯定理的认知基础,那么,在教学中,教师就需要引导学生完成1 2 …… 100求和的计算推导,即首先需要数学建模s=(1 100)*100/50,然后才程序实现。在此教学过程中,虽然高斯定理的推导是解决数学问题,但数学建模是为程序实现服务的,经历这样的过程,可以使学生体会到数学建模对程序实现的重要性,同时也感受到数学建模的思想方法可以迁移到程序实现的应用中。

案 例 四

递推算法。主要教学过程如下:

①引入课题,分享斐波那契和兔子的故事;②分析兔子问题,推导斐波那契数公式;③提出实际问题:走道上有15块地板,规定每步可以走一块或两块地板,从第一块走到最后一块,共有几种走法?最后得出符合斐波那契数公式的结论;④编写程序并调试运行;⑤归纳总结。

案例4预设的教学目标是:学会运用递推算法来解决实际生活问题,培养计算思维。在实际教学中,因为学生没有斐波那契数的认知基础,故花费了大部分的课时来理解和推导斐波那契数公式,结果学生重点关注的是用数学的方法解决问题,缺乏体验到采用合理的算法构造及程序实现来实现递推的巧妙,同时也淡化了计算思维培养的实际效果。

观点4:数学建模作为将现实问题经抽象以后形式化表达的一种有效方式,在编程实现中有独特的作用。编程教学是中小学计算思维培养的重要渠道,在计算思维教育中,需要正确理解数学建模的作用,合理运用数学建模开展编程教学。

数学建模教学给计算思维教育的启示

计算思维教育不在于宏大叙事,而在于教学细微之处的落实。数学建模的教学实践经验对计算思维教育有启示意义。程序设计的工作是通过问题分析、构造算法,最终形成可以自动执行的指令序列。程序设计与数据建模在方法上很相似。数学建模教学不满足套用现成的数学公式解决问题,而是强调学生在经历分析问题、建立模型、确定参数、计算求解、检验结果、改进模型过程中自觉地用数学的眼光观察世界并发现问题和解决问题。编程及其算法教学可以借鉴数学建模的教学理念,不能仅以学会使用Python语言、冒泡算法或者调用库函数实现人脸识别为目标,而应培养学生形成用计算的观点看待世界,形成将问题可计算化的意识与能力。这也正是计算思维教育的目标。

数学建模教学强调经历问题解决的全过程,计算思维教育也一样。任何理性的思维都是解决问题的思维,在计算思维教育中,问题解决仅是一个基础性目标,不能把所有的问题解决都归为计算思维,关键在于是否采用计算学科的思想方法解决问题。从数学建模与编程教学相融合的教学案例中可以发现,数学建模与程序实现中的建模要求有相同也有不同。就模型类型而言,数学模型有函数模型、概率模型、几何模型等,而程序设计通常是选择合适的数学模型结果,并用程序语言描述的过程模型来实现,该过程模型的建立,是以自动化实现为目标的,是用形式化的方式精确表达的,具有符号性、离散性、确定性等特征,可以实现对象控制和数据交换。

计算思维的培养不可能架空于计算学科知识与方法的学习而存在,个体对计算学科知识与方法的认识深度也影响其计算思维形成的深刻性。计算机应用的广泛性,促使计算思维有更广泛的应用价值,其教学形态往往是在与其他学科知识相结合解决实际问题的场景下完成的,具有跨学科学习特征。

在本文中所列的数学建模与编程教学融合的案例中,数学学科和计算学科的思想方法也是相互交融互为支持的,但不同的案例所侧重的教学目标还是有差别的。以计算思维为培养目标的编程教学,其相关教学需要符合计算学科的问题解决脉络,合理运用计算学科知识与方法获得可计算的形式化表达,设计算法以获得可计算的构造,不能以跨学科学习为理由来掩盖对计算学科认识的模糊。


(本文作者:王荣良,华东师范大学)

文章刊登于《中国信息技术教育》2022年第12期

    推荐阅读
  • 多宝鱼是比目鱼吗(多宝鱼属不属于比目鱼)

    但它们是从属关系,不是等同关系,多宝鱼是世界公认的优质比目鱼之一,但比目鱼不属于多宝鱼。多宝鱼和比目鱼都富含丰富的营养,肉质鲜嫩,经常食用对人体有益。主要产区位于大西洋东侧沿岸,是东北大西洋沿岸的特有名贵低温经济鱼种之一。大菱鲆属于冷温性、底栖杂食性鱼类,可承受1℃~28℃的水温,雄鱼一般1年性成熟,雌鱼2年性成熟。其具有生长速度快、出肉率高、抗病能力强、营养价值高等特点。

  • 趣键盘为什么不能直接发送(趣键盘为什么微信不能用)

    趣键盘为什么不能直接发送,趣键盘不能直接发送的原因是关闭了或没有开启表情联想。趣键盘app是一款边打字边赚钱的客户端应用,趣键盘手机版让输入法打字也能赚钱,指尖点一点累计金币兑换现金,超多赚金币任务,并且趣键盘app每天还能免费抽奖。

  • 马蹄和玉米煲糖水可以吗(百吃不厌的玉米马蹄糖水)

    冬天了,是适合吃雪梨的季节。由于我不爱吃生的水果,所以我选择煮一下,还是那么甜。玉米煮熟后也是粒粒爆浆。小贴士马蹄不要生吃,虽然它口感脆生,还是煮熟了再吃安全放心。马蹄不好削皮,可以选择已经削好皮的做菜好吃都有技巧,我的每道菜都有小妙招,大家搜索“豆果”可以直接查看我的菜谱!欢迎在下方留言分享您对这道美食的建议。

  • 移动宽带无线wifi网速慢怎么办(下面3个方法教你解决)

    移动宽带无线wifi网速慢怎么办?路由器无线wifi被多人共享使用,建议定期更新wifi密码;,接下来我们就来聊聊关于移动宽带无线wifi网速慢怎么办?以下内容大家不妨参考一二希望能帮到您!移动宽带无线wifi网速慢怎么办路由器无线wifi被多人共享使用,建议定期更新wifi密码;第三方浏览器插件加载会影响速度,建议客户使用IE浏览器测试;检查电脑硬件是否有故障,下载360安全卫士等软件删除垃圾文件、清除插件、查杀木马病毒。

  • 梦见日食是什么意思(梦见日食含义)

    梦见日食是什么意思?下面内容希望能帮助到你,我们来一起看看吧!梦见日食是什么意思梦见日食,可能要关注下自己或亲朋好友的健康,有人可能会生些小病,不过不用太过担心,因为日食时间并不长,也预示着不是什么大病,去医院看看就好了。妻子梦见日半食,可能儿子会生病,或丈夫的经济收入减少了。

  • 化妆技巧简单的日常妆(化妆小白最应该珍藏的)

    妆色清淡典雅,自然协调,给人真实的感觉,是对面部轻微的修饰和润色。日妆的概念特点:对面部进行适当的修饰,不露明显的化妆痕迹。修眉3、涂抹粉底:改善肤色与皮肤质感,使皮肤细腻洁净。粉质要细而透明,扑粉要薄而均匀。腮红的位置、面积的大小应依据脸形而晕染,腮红的颜色应与口红、眼影色相协调。一般选用粉质无光的口红,画出唇形后,用单色口红晕染,必要时涂上少量唇油。修正妆面12、梳理发型:用发梳将发型梳理整齐。

  • 男内裤需要天天换吗(男性的内裤应该天天换吗)

    在日本,相扑选手的内裤从来不洗,因为这些内裤不是普通的内裤,而是“战袍”,选手们认为每一条内裤都有自己的“灵气”,如果经常清洗,上面的灵气就会消失,而相扑选手很看重灵气和经验值。不穿内裤可能会带来以上三个好处,但是男性朋友们也要注意了,少了内裤的保护,细菌和异物可能更容易入侵。·健康中国.2022-01-01[4]「涨知识」关于内裤的那些事·广州中医药大学一附院.2022-06-16[5]日本最性感的男人内裤,一生都不能洗·新周刊.2021-08-03

  • 相亲遇到奇葩相亲对象太吓人了(花万元相亲却屡遭)

    有心征婚却屡屡遭遇奇葩相亲对象小陈说毕业后,因为她忙于工作耽误了自己的终身大事。导致年过三十却依旧单身。小陈说,自己也是本地户口,还有独立房子,所以她要求对方也要有福州本地户口并且有独立的婚房。而小陈说,大部分相亲对象都是外地户口,并不符合她的择偶条件。小陈还说,在十几个相亲对象当中,有一位让她觉得婚介公司在审核会员时不够严谨。

  • 特别孤独的一句话(特别孤独的一句话有哪些)

    我不得不老是狂笑着,怕的是笑声一停,我就会哭起来——博马舍,我来为大家科普一下关于特别孤独的一句话?——博马舍没有什么是永远,也没有什么会很久。随便找个借口,谁都可以先走。顺来的事情,却一辈子也没有。长日尽处,我站在你的面前。你将看到我的疤痕,知道我曾经受伤,也曾经痊愈。世上最痛苦的事之一,不是落单,而是身边有一圈人,让你感觉自己孤身一人。

  • 什么是压岁钱(压岁钱的意思)

    压岁钱,又名压祟钱,今天小编就来说说关于什么是压岁钱?下面更多详细答案一起来看看吧!什么是压岁钱压岁钱,又名压祟钱(“祟”就是不吉利的东西。压岁钱是汉族的传统年俗,一般在新年倒计时由长辈将钱装在红包内给晚辈。压岁钱有很好的寓意,通常认为有辟邪驱鬼,保佑平安。据说压岁钱可以压住邪祟,晚辈得到压岁钱就可以平平安安度过一岁。