当前位置: 首页 > 小游戏 > 羊了个羊

想学好人工智能,先从培养孩子的计算思维能力开始

来源:网络 时间:2022-09-22 11:54:07
导读计算思维能力即要具备利用计算机技术解决问题的思路,并理解问题的可求解性,具体包括:问题抽象能力。计算思维能力的培养是一个长期系统性的过程,个人建

计算思维

计算思维(Computational Thinking)本质上是一种思维方式,是从计算科学的角度进行解决问题的抽象思维方式

计算思维能力即要具备利用计算机技术解决问题的思路,并理解问题的可求解性,具体包括:

问题抽象能力

模型建立能力

算法演算能力

实现验证能力

计算思维是我们每个人应该具备的基本技能和普适思维方法。国外对计算思维的培养是从基础教育阶段开始,而我国计算思维的培养也开始重视基础教育阶段了。

计算思维能力的培养是一个长期系统性的过程,个人建议可从基础阶段让孩子接触相关的计算思维训练

计算思维可通过后天的训练获得,那我们应该何时开始计算思维的培养呢?

学者们通过研究少儿的认知与计算思维之间的联系,得出结论:从4岁便可以进行计算思维相关的学习训练,如积木拼搭图形化编程软件、儿童编程机器人、创客教育都是不错的培养计算思维的训练方式。

个人推荐图形化编程软件Scratch来辅助培养计算思维。Scratch是由美国麻省理工学院设计开发,能够将复杂的Python和C++等代码转化成简单的图形化的模块,通过积木式的拼搭来完成操作。

Scratch界面

另外,不建议小朋友过早接触带语法规则的编程语言,如Python等语言

计算思维实例

下面我们通过使用Scratch工具来实现“农夫过河”,重点关注在问题抽象->模型建立->算法演算->实现验证的计算思维过程。

l 问题描述

一个农夫带着一只狼、一只羊和一筐菜要过河,只有一条船而且农夫每次最多只能带一个动物或物品过河,并且当农夫不在的时候狼会吃羊,羊会吃菜,请考虑农夫如何将所有的东西运过河?

l 问题抽象

模拟农夫过河问题,首先要对每个角色的位置进行描述,我们可以使用“0”和“1”对“农夫”、“羊”、“狼”、“菜”四个角色进行位置描述。其中,“0”表示未过河,“1”表示已过河;

当农夫的位置= 0时,表示农夫未过河;当农夫的位置 = 1时,表示农夫已过河;

当狼的位置= 0时,表示狼未过河;当狼的位置 = 1时,表示狼已过河;

当羊的位置= 0时,表示羊未过河;当羊的位置 = 1时,表示羊已过河;

当菜的位置= 0时,表示菜未过河;当菜的位置 = 1时,表示菜已过河;

l 模型建立

农夫过河问题可以转化为(农夫,狼,羊,菜)位置安全状态判断问题,即由初始状态的(0,0,0,0),寻找一种全部由安全状态构成的状态序列,转化为目标状态的(1,1,1,1)。其中,(0,0,0,0)表示农夫、狼、羊、菜都未过河,(1,1,1,1)表示农夫、狼、羊、菜都已过河;

l 算法演算

(农夫,狼,羊,菜)共有2^4=16种状态,即:0000,0001,0010,0011,0100,0101,0110,0111,1000, 1001, 1010, 1011, 1100, 1101, 1110, 1111;要在这些状态中找到从初始状态0000到目标状态1111的安全序列;

当农夫不在场时,狼会吃羊,羊会吃菜,因此,0111,0011,0110,1000,1001,1100,1110为不安全状态;此时,安全状态只有0000,0001,0010,0100,0101,1010,1011,1101,1111;

狼、羊、菜不能自行过河,必须由农夫送过河,并且每次只能送一件,根据此条件,可以从安全状态里找到从0000到1111的可行状态序列有两个,即:

(0,0,0,0)->(1,0,1,0)->(0,0,1,0)->(1,0,1,1)->(0,0,0,1)->(1,1,0,1)->(0,1,0,1)->(1,1,1,1)

(0,0,0,0)->(1,0,1,0)->(0,0,1,0)->(1,1,1,0)->(0,1,0,0)->(1,1,0,1)->(0,1,0,1)->(1,1,1,1)

第一个状态序列表示的意思为:

都未过河(0,0,0,0)->农夫带羊过河(1,0,1,0)->农夫单独返回(0,0,1,0)->农夫带菜过河(1,0,1,1)->农夫带羊返回(0,0,0,1)->农夫带狼过河(1,1,0,1)->农夫单独返回(0,1,0,1)->农夫带羊过河(1,1,1,1);

第二个状态序列表示的意思为:

都未过河(0,0,0,0)->农夫带羊过河(1,0,1,0)->农夫单独返回(0,0,1,0)->农夫带狼过河(1,1,1,0)->农夫带羊返回(0,1,0,0)->农夫带白菜过河(1,1,0,1)->农夫单独返回(0,1,0,1)->农夫带羊过河(1,1,1,1);

l 实现验证

1  设置背景/角色

请在Scratch中新增农夫、狼、羊、菜角色,并为角色添加背景,调整角色和背景的尺寸,最终效果如下图所示。

2  定义变量

为了便于脚本的阅读和理解,我们可以将农夫、狼、羊、菜的位置状态进行定义,具体的定义的变量有:

变量值为“0”或“1”,“0”表示未过河,“1”表示已过河。

3  编写脚本

背景脚本

背景主要实现“农夫过河”作品变量初始化、播放背景音乐和四个角色安全状态的判断,具体脚本如下:

判断农夫、狼、羊和菜是否处于安全状态的判断脚本如下:

“农夫”角色脚本

“农夫”角色的初始化脚本如下:

“农夫”单独过河脚本如下:

“农夫”带一物品过河脚本如下:

“狼”角色脚本

“狼”角色的初始化脚本如下:

“狼”过河脚本如下:

“狼”吃“羊”的脚本如下:

“羊”角色脚本

“羊”角色的初始化脚本如下:

“羊”过河脚本如下:

“羊”吃“菜”的脚本如下:

“菜”角色脚本

“菜”角色的初始化脚本如下:

“菜”过河脚本如下:

“成功提示”角色脚本

当“农夫过河”问题解答完毕并正确时,提示成功信息,如果失败,结束解答。

初始化“成功提示”角色的脚本如下:

农夫、狼、羊、菜都到成功到达河对岸,提示成功的脚本如下:

4  作品展示

重播
播放
00:00 / 00:00 正在直播
00:00
进入全屏
50
点击按住可拖动视频

5  探究发现

计算思维的培养也不用局限于编程工具的使用,重点在于数学思维和工程思维的结合,分析问题和解决问题的能力。

最后,引用《论语·子张》的一句话:“博学而笃志,切问而近思,仁在其中矣。”。

后面,会专门讲一期有关《Scratch》简单易懂的通俗系列篇,目的是想让读者快速借用图形化编程工具Scratch进行计算思维的训练和培养,为人工智能学习打好计算思维基础,尤其是青少年朋友。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:704559159@qq.com

Top
加盟网