基于生成式人工智能的计算思维培养教学实践
作者: 祁小明
摘要:本文在介绍了生成式人工智能的基本功能以及如何与生成式人工智能对话的基础上,通过教学实践展现了计算思维涉及的抽象、分解、建模、算法设计等思维活动,为教师应用生成式人工智能开展教学改革提供了实践经验。
关键词:生成式人工智能;计算思维;实验教学
中图分类号:G434 文献标识码:A 论文编号:1674-2117(2024)21-0045-04
计算思维是人类高阶思维之一,它以发展学科知识和技能为基础,以问题解决过程为载体,更多地体现于以直观行动思维和具体形象思维为基础的抽象逻辑思维。而生成式人工智能的思维是基于数据和统计模式,根据已经学习到的模式和规律来生成回答,不能主动提出问题,不具备批判性或创造性思维。但由于拥有巨大的模型规模、数据规模等,其具备了提示学习、情境学习与思维链技术。下面,笔者以“鸡兔同笼”为例,尝试利用生成式人工智能解答数学问题,让学生体会它解决问题的思维过程。
生成式人工智能的基本功能以及如何与生成式人工智能对话
生成式人工智能能够像人类一样理解语言,通过自然、准确的对话与人类互动。除了基本的聊天功能,生成式人工智能还可以进行多项工作,如查询天气、预订往返机票和酒店等。下面,笔者通过输入“鸡兔同笼”数学问题,尝试与生成式人工智能对话并测试其解决数学问题的能力。
实验1文本输入——问题1:今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何。请列二元一次方程组求解。
如下页图1所示为生成式人工智能的回答,于是,猜测生成式人工智能大语言模型通过大量阅读学会了编程。程序设计语言是自然语言的一个子集,自然语言交流存在模糊性,程序语言则讲究精准、规范,不允许存在语法的二义性。让生成式人工智能学习程序设计语言,可使其具有一定的逻辑思维能力及与人类相似的计算思维能力。
既然生成式人工智能大语言模型形成了一定的计算思维能力,那么生成式人工智能就能够把一个复杂问题分解成多个解题步骤,并逐步完成多个问题的求解。也就是说,海量的程序代码预训练催生了生成式人工智能的数学能力,因此,笔者设计消融实验来验证它的计算思维。
从学习角度来说,消融实验是一种通过干扰和破坏记忆的保持和检索过程,探究学习和记忆机制的实验方法。消融实验可以研究多种记忆现象,如记忆的持久性、遗忘的原因、记忆的检索和重构过程等。根据消融实验的解释,师生围绕重构过程进行消融实验设计。
生1:我知道生成式人工智能有编程的能力,我们可以把这个数学问题让它编写一段解题的程序。
生2:我们可以让它编一段Python代码,然后运行这个程序。
师:生成式人工智能有重组文本的功能,我们可以把这个数学问题转换成一个代数问题。
经过师生讨论,将实验设计如下:先使用生成式人工智能直接求解数学问题,再应用消融实验编程来求解,让这两个解题方法的答案互相验证。只有数学求解与编程求解的答案是相同的,才认为生成式人工智能拥有了一定的计算思维,学生也能在思维链技术的迭代过程中了解计算思维。
基于生成式人工智能的计算思维培养教学实践
1.猜想——认识问题转化
代数问题是一种使用字母来代表数值和未知数的数学分支,将实际问题转化为代数问题可以帮助学生用符号和表达式来描述和解决问题。对于“鸡兔同笼”问题,首先可以将数学问题转换为代数问题,通过使用键值对应将数字替换成字母,测试生成式人工智能将数学问题转化为代数问题的能力。由于刚才求解了鸡兔同笼问题,在设计实验时,就要注意不考虑上下文的关系。
实验2文本输入——问题2:今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何。请把这道题目中的数字用字母m、n来代替,并重新复述题目。
生成式人工智能:今有雉兔同笼,上有m头,下有n足,问雉兔各几何。
从生成式人工智能的回答可以看出,它成功地将原始问题中的数字替换为字母m和n,并重新复述了问题。这个例子展示了如何通过代数的转化将一个实际问题转变为可以用数学抽象方法解决的问题。这种能力对学生来说是非常重要的,因为可以帮助他们在解决数学问题时更好地理解和应用代数的概念和方法,对于提高学生的数学抽象思维有着积极的影响。
2.列举——促进逻辑思维
在把一个数学问题转换成代数问题后,继续实验探究生成式人工智能能不能给出正确的方程表达式。列方程需要思考问题的本质和逻辑关系,从而推导出正确的方程式。方程表达式是否正确,通常需要将数学符号和概念转化为自然语言或者图表形式进行解释和表达。
实验3文本输入——问题3:今有雉兔同笼,上有m头,下有n足,问雉兔各几何。请你列出求解鸡兔只数的二元一次方程组。
生成式人工智能:鸡兔同笼问题是一个经典的数学谜题,它要求在给定总数量和总脚数的情况下计算出可能的鸡和兔子的数量。通常情况下,每只鸡有2只脚,每只兔子有4只脚。根据题目条件可列出以下方程组:
x+y=m(其中x表示鸡的数量,y表示兔的数量,m表示头的总数)
2x+4y=n(其中n表示脚的总数)
从回答可以看出,生成式人工智能列出代数方程展示了“中间思考过程”的能力。由代数问题列方程,需要具有较强的逻辑思维能力,学生可以通过推理分析和拼图游戏如数独、迷宫、填字等增强逻辑思维能力,还可以通过阅读、解决问题等,逐步提升逻辑思维能力。
3.求联——学会有序思考
在数学课堂教学中,在用字母代替数字把代数问题陈述为数学问题后,教师往往要询问字母与数字的对应关系,会采用逐一列举的方法,通过列举头和脚的总数符合题目信息,让学生学会有序思考,培养思维的严密性和逻辑性。笔者根据数学课堂的实际情况进行实验设计,让生成式人工智能分析代数问题中字母对应的确切数字。
实验4文本输入——问题4:不搜索网络资源,根据上下文关系,先根据问题2找到鸡兔头、足的具体数量,再说出字母m、n分别是问题2中的哪个具体数值。
从生成式人工智能的回答(如图2)可以看出,它能通过上文的关系正确地找到代数问题中字母所对应的数字,对这种对应关系的理解对代数学习的进一步发展和应用非常重要。在日常教学中,教师要多询问字母与数字的对应关系,帮助学生建立数学符号与实际情境或数值之间的联系,从而帮助他们理解和分析问题,推导解决方案,并解决更复杂的数学问题。
4.编码——尝试建构模型
编码是用一组规则将一种信息形式(代数问题)转换为另一种信息形式(Python代码)的过程。代码是基于0与1建立起来的抽象世界,编码更像是在抽象世界里生成程序,解决实际问题,这个过程实际上就是建模过程。生成式人工智能可以生成Python、C语言等代码,因此设计实验,让其进行Python编码,学生根据回答的内容运行Python代码。
实验5文本输入——问题5:今有雉兔同笼,上有m头,下有n足,问雉兔各几何。请编写完整的Python代码,鸡兔的头、足数量在程序运行时候输入。
如图3所示为生成式人工智能使用Python编写的鸡兔同笼问题的示例代码。在代码中,可以看到生成式人工智能定义了一个名为solve_chicken_rabbit的函数,该函数包含x和y两个参数,分别表示头的数量和脚的数量。函数使用鸡和兔子的数量关系,计算出鸡和兔子的数量,并返回。在主函数中,获取用户输入的头和脚的数量,调用solve_chicken_rabbit函数求解鸡和兔子的数量,并输出结果。
建模是一个抽象的过程,也是解决问题的关键。在问题求解过程中,学生通过自然语言描述问题解决的步骤,或者使用流程图来构建解决问题的过程,这些都是建模过程。
5.验证——聚焦计算思维
学生根据生成式人工智能的回答,打开Python编程软件开始编写脚本进行消融实验验证。运行Python IDLE编辑器,在打开的“Python 3.9.0 shell”窗口中单击“File—New File”,把生成式人工智能输出的Python代码粘贴到Python文本编辑器窗口,然后单击“Run—Run Module”,并在弹出的对话框中保存代码。在保存代码后,Python又自动切换到Python Shell窗口,提示“请输入头的数量”,按照提示输入“35”。等待1秒,程序又提示“请输入脚的数量”,按照提示输入“94”。程序继续运行输出答案“鸡的数量为:23.0只,兔子的数量为:12.0只”,与数学问题求解的答案相同。但是,当输入“23,87”时,代码计算输出“鸡的数量为:2.5,兔子的数量为:20.5”,这样的答案显然不符合实际情况,学生根据出现的问题重新设计实验。
实验6文本输入——问题6:运行代码,发现你能正确判断鸡兔头、足的数量要大于0,但是如果鸡兔的只数算出来不是自然数,你应该输出无解。如果鸡兔的只数是正确的,则应该输出自然数。请按照要求修改代码。
生成式人工智能:在代码中,我添加了对round(x)和round(y)的判断。如果round(x)!=x或者round(y)!=y,就说明x或y不是整数,即鸡或兔的数量不为整数。此时,也输出无解。
此外,将计算得到的x和y的值强制转换为整数类型,以满足输出要求。
重新把图4中的代码复制粘贴保存为一个新的文件后运行,在“Python Shell”窗口分别再输入“35,94”和“23,78”,第一组输出“鸡的数量为:23,兔子的数量为:12”,第二组则输出“无解”。在得到Python代码和正确的答案后,还需要多次开展计算验证。经过反复多次的随机实验发现,如果鸡、兔的只数不存在相应的关系,数学问题直接求解会输出“这个问题没有实际解”,代码运行则提示“鸡兔的数量无解”;如果鸡、兔的只数存在相应的关系,数学问题直接求解和代码运行输出的答案是相同的。由此得出实验结论:从数学问题开始,让生成式人工智能依次输出代数问题,回答字母与数字的对应关系,列出方程式后完成Python代码的编写。这个过程是计算思维在问题解决过程中涉及的抽象、分解、建模、算法设计等思维活动的外显过程。不管是程序代码还是数学问题求解,都是这个数学问题的正确答案,说明在消融实验中生成式人工智能能正确地求解这个数学问题。
基于生成式人工智能的计算思维培养的教学反思
虽然在生成式人工智能的支持下形成了多种应用,为教育教学拓展了新的研究方向,但是由于在技术、数据、教学策略等方面还存在一些局限,其在教学过程中还有不足之处:①缺乏实时反馈。生成式人工智能是基于用户的输入来生成响应,如果学生在学习过程中不知道学习有错误,模型则无法提供即时的、具体的反馈。②缺乏情感交互。生成式人工智能不具备情感理解和情感表达的能力,而在教育教学中,情感和人际交互是课堂师生互动重要的组成部分,可以促进学生的情绪管理、情感发展,并最终影响学生的学习积极性。
总之,生成式人工智能的发展为教育提供了许多新的途径,教师需要认真地思考、创新地行动,更好地应用人工智能推动教育教学的变革。