所有分类
主题 主题
平台 平台
我的工作台
userHead
注册时间 [[userInfo.create_time]]
创造力 [[userInfo.creativity]]
[[userInfo.remark]]
[[d.project_title]]
articleThumb
[[d.material_name]]
timelineThumb
进入工作台
折叠
所有分类 我的工作台
展开
掌控板+Python模拟“图灵测试”(小学级别)
Storm Storm 2019-09-09 17:03:11
5
0
简单

艾伦·麦席森·图灵(Alan Mathison Turing):英国数学家、逻辑学家,被称为计算机科学之父,人工智能之父。

图灵对于人工智能的发展有诸多贡献,提出了一种用于判定机器是否具有智能的试验方法,即图灵试验,至今,每年都有试验的比赛。此外,图灵提出的著名的图灵机模型为现代计算机的逻辑工作方式奠定了基础。

2019年7月15日,英格兰银行行长马克·卡尼在展示新版50英镑纸币,艾伦·图灵登上英国50英镑新钞。英国广播电台(BBC)称,面值50英镑的新钞将于2021年底进入流通。

projectImage

图灵1950年的时候发表一篇论文,《计算机器与智能》,提出了一个设想。

测试者与被测试者(一个人和一台机器)隔开的情况下,通过一些装置(如键盘)向被测试者随意提问。进行多次测试后,如果有超过30%的测试者不能确定出被测试者是人还是机器,那么这台机器就通过了测试,并被认为具有人类智能。

projectImage

人工智能技术发展到现在,通过机器学习、深度学习可以让计算机对问题的答复变得更加“个性化”。如此智能的计算机,给我们的生活带来了哪些影响呢?

现实1、通过大数据分析,我们手机上的各种软件会根据我们浏览的信息、停留时间、点击数量给我们推送我们“感兴趣”的内容。

现实2、在各种社交、游戏平台上,和你一起聊天的人或者一起玩游戏的队友,你知道“他”是谁吗?

现在人工智能的技术已经远远超过当时图灵测试时对智能机器人的期望。但今天我们还是怀着对科技前辈的敬仰一起来感受一下“图灵测试”吧。

接下来回到正题,如何用掌控板和BXY编辑器来做一个“模拟图灵测试”

注:本节内容适用于BXY编辑器使用的初学者,小学高年级以上的小朋友也可以试一试

材料清单 材料清单
1x
掌控板

知识点梳理:

1、while循环语句的使用;

2、if判断语句的使用;

3、掌控板文字显示和A\B按键互动。

步骤1 步骤1
构思方案
projectImage

掌控板每行可以显示11个汉字约22个字符,共四行。y轴大概每16个单位宽度是一个列,x轴大概每11个单位是一个汉字的宽度。首先我们要知道图灵测试如何与掌控板结合。

你会下国际象棋吗?

A.是的    B.是的

你会下国际象棋吗?

 A.是的   B.是的,我不是已经跟你说过了吗?

你会下国际象棋吗? 

 A.是的   B.你烦不烦,干嘛老是问这样的问题?

那么根据图灵测试的问题,我们可以设想这样的展示效果:

1、开启程序:出现“图灵测试”四个字;

2、按下A\B任意键出现第一次问题和答案;

3、按下A\B任意键出现第二次问题和答案;

4、按下A\B任意键出现第三次问题和答案;

5、第三次选择后,出现以下内容

A-A-A,A-B-A,A-A-B,A-B-B 

你认为哪个是人的回答?

哪一个是机器人的回答?

步骤2 步骤2
掌控板显示文字:

我们可以将要显示的文字用“oled.DispChar(' ',x,y)”的指令列出来(每行11个汉字,每16个单位约为一行),它无法自动换行,所以我们在设计文字的时候需要调整好坐标,控制好每行的文字数量。熄灭屏幕的程序指令为oled.fill(0)。

代码 代码
	                    					from mpython import *  #从mpython中调用所有的库文件
oled.DispChar('图灵测试', 40, 25)  #在x=40,y=25的位置显示“图灵测试”
oled.show()  #打开显示
	                    				
步骤3 步骤3
While循环和if判断的用法

“while True:”后面按下回车后会自动跳转缩进,“if xxxxxxx :”按下回车也会自动缩进,后面缩进的内容就是在循环或者判断内的内容。break则是跳出前面的while循环,如果没有break,则会一直循环。

代码 代码
	                    					while True: #循环执行
    if button_a.value() == 0 or button_b.value() == 0:#如果按钮a或者按钮b被按下
        oled.fill(0) #屏幕熄灭
        oled.DispChar('你会下国际象棋吗?', 0, 0)
        oled.DispChar('A.是的', 0, 16)
        oled.DispChar('B.是的', 0, 32)
        oled.show()
        break #跳出次循环 
	                    				
步骤4 步骤4
完成整个程序的编写
代码 代码
	                    					from mpython import * #从mpython中调用所有的库文件
oled.DispChar('图灵测试', 40, 25) #在x=40,y=25的位置显示“图灵测试”
oled.show() #打开显示
while True: #循环执行
    if button_a.value() == 0 or button_b.value() == 0: #如果按钮a或者按钮b被按下
        oled.fill(0) #屏幕熄灭
        oled.DispChar('你会下国际象棋吗?', 0, 0)
        oled.DispChar('A.是的', 0, 16)
        oled.DispChar('B.是的', 0, 32)
        oled.show()
        break#跳出次循环
        
while True:
    if button_a.value() == 0 or button_b.value() == 0:
        oled.fill(0)
        oled.DispChar('你会下象棋吗?', 0, 0)
        oled.DispChar('A.是的', 0, 16)
        oled.DispChar('B.我不是说过了吗?', 0, 32)
        oled.show()
        break

while True:
    if button_a.value() == 0 or button_b.value() == 0:
        oled.fill(0)
        oled.DispChar('你会下象棋吗?', 0, 0)
        oled.DispChar('A.是的', 0, 16)
        oled.DispChar('B.你烦不烦,干嘛老提', 0, 32)
        oled.DispChar('同样的问题。', 0, 48)
        oled.show()
        break

while True:
    if button_a.value() == 0 or button_b.value() == 0:
        oled.fill(0)
        oled.DispChar('A-A-A,A-B-A', 0, 0)
        oled.DispChar('A-A-B,A-B-B', 0, 16)
        oled.DispChar('你认为哪个是人的回答?', 0, 32)
        oled.DispChar('哪一个是机器人的回答?', 0, 48)
        oled.show()
        break
	                    				

下面可观看视频演示效果

人工智能发展到现在,案例中的图灵测试现在其实无法给出一个标准的结果,但可以给我们一些思考:

在人工智能高速发展的当下,作为教育工作者来说,会面临什么样的机遇和挑战呢?


END

Makelog作者原创文章,未经授权禁止转载。
5
0
评论
[[c.user_name]] [[c.create_time]]
[[c.parent_comment.count]]
[[c.comment_content]]