大家好
本视频将介绍人工智能与信息
社会慕课当中实例一的代码演示
那么我们在上一个视频当中介绍了如何下载安装
我们所提供的虚拟机
然后在安装完之后
我们点击选择人工智能慕课实例的虚拟机
然后点击启动
然后虚拟机就会开始开机
我们等待他开机完成
好
现在虚拟机开机完成之后
我们就看到了一个熟悉的背景界面
这就是我们虚拟机的桌面
那么虚拟机桌面上有六个文件夹
我们这一次是要讲这个实例一读心术
我们先双击打开读心术的文件夹
然后我们会发现文件夹里面有两个文件
一个是guess.py就是
实例的代码文件
是一个python代码
然后另一个是txt文件
就是实例一的读心术的说明
然后我们双击打开这个说明文档
我们会发现第一段介绍了如何运行实例一的代码
首先我们打开系统终端
然后在终端当中输入这一行指令
就是进入到实例一的文件夹目录底下
是cd 空格
然后 斜杠 后面这是一个文件的目录
然后再输入python3 空格 guess.py 就能够用python来
运行实例一的读心术
那么运行之后
我们可以选择让电脑来猜我们心里的一个数字
或者是让玩家来猜电脑选定的一个数字
然后软件还会统计猜了多少次
能够得到正确的答案
还进行一个比较
那么我们就首先来打开LX终端
然后在终端中输入转移目录的指令CD
如果我们不输入指令直接
运行python3的话
我们就会出现一些问题
只要当前终端当中的文件目录
不是不是这个目录的话
我们就不能够直接输入运行
运行这个文件
比如说我们现在直接试一下
不改变目录
直接输入这个的话
我们就会出现一个错误
就找不到这个文件
所以我们应该先转移终端的目录
然后我们现在发现他现在是在
一个桌面实例的读心术底下
这前面的小波浪号
就是表示是home\AIMOOC
当前用户底下的目录
这个就是一个小波浪号来代替
然后我们现在就在这个底下
然后我们可以按上键来选选择
我们之前输入过的指令
然后我们点击他就开始运行
然后首先跳出来一行是让我们决定
谁来猜这个数
那么我们先让电脑来猜
我们回答一个C那么它让我们在
心里想一个170到1000
范围以内的数字
我们比如说想一个数字是819
我们来看一看
如何选择回答
819
他猜的是500
那么我们应该选择S是小了
那么他又猜750
我们还是选择S又小
他选择875
认为它太大了
812猜小了843
猜大了
827
猜大了
819
好
那么他猜对了
我们输入一个C那么电脑猜了七次
得到了我们心里想到的一个正确
结果
819
那么我们再运行一次
让我们自己来猜电脑所想的一个数字
那么我们就随便猜
比如说我们就猜819
然后他告诉我猜大了
我们再小一点
比如说189
然后他说我们猜小了
我们猜个620
然后他告诉我们猜大了
我们就猜一个
350
告诉我们猜小了
我们猜一个500
也猜小了
那就在500和620之间
我们可以猜一个560
猜大了
530
550
550也太小
那就在550和560之间
猜556
猜大了
554
也猜大了
552
太小了
是553
我们的了12次才能够猜到这个
答案是不是比电脑猜的次数要多
其实我们在猜数字的时候
因为我们不可能计算的那么精确
我们在中间的时候也会用到一些
视频上所讲到的二分法
比如说在五百和五百六十之间
我们猜530
那么更多的情况下
我们不像电脑那么快速的计算出
这个中间值
我们可能更凭直觉
或者只凭一个百位数
比如说或者十位数就是60和30之间
我们可能猜一个40或45
但是如果是819
189之间的中间那个数
我们可能一下子并猜不出
猜不到这个数
确定的值
这个就是我们运行读心术代码
之后所得到的两个结果
那么感兴趣的同学可以自己回去
多运行几次
看一看电脑最多能猜多少次
就能够得到正确的结果
然后我们又平均猜多少次才能够
猜到这个结果
好
然后讲完了如何运行文件之后
我们再来打开具体的代码去看一看
我们再来打开具体的代码
去看一看到底是怎么写这个代码的
那么如果没有python基础的同学
我们可以先去学习陈斌老师另一门慕课
Python语言的学习
然后有了相应的基础之后
看来看这个代码就能够更容易一些
首先我们可以看到
其实这个代码就算你没有学过
只要你会懂得一些简单的英文单词
就能够大致的看出这个代码想表达的意思
首先这个是human get
就是人类来猜
那么电脑就是从0到1000
当中产生一个随机数
然后它使用一个guess这个
变量相当于一个盒子来装我们所告诉他的
我们相当于写了一个纸条
然后把纸条塞到这个盒子里
然后让电脑去判断说我们猜的
这个数到底是不是他想的这个数
那么如果是大的或者小的话
电脑会给出相应的提示
然后最后会告诉我们到底猜没猜对
这个是人类来猜
这个电脑只是来做一个判断
那么如果按电脑来猜的话
它会设定两个界限
你就是一个small一个big
就是一个是最小的数
一个是最大的数
那么我们是0到1000
当他猜这个数的时候
然后我们就给出一个回答
他根据我们的回答去更改下界或者上界
如果他猜了一个数
然后如果我们告诉他大了
那么它就把这个数设成新的上限
因为我们猜大了实际上要猜的数
肯定是在大的数跟小的数之间
我们就把刚才猜的猜到了那个数
作为一个上限
然后如果猜小了的话
就把猜小的数作为一个下界
然后下一次就猜上界和下界之间
就是刚好中间的数
那么这就是是课程视频当中所讲
的二分查找
这样的话是一个对数级别的运算复杂度度
因为2的10次方是1024
那么最多是电脑猜11次就能够
猜到我们正确的答案了
那么其他的就是一些交互
或者是做一些异常的处理
就是一些跟用户显示文字交互的
这么一个过程
那么主要的根据规则的判断就是
在这里
这一段的代码
那么这段代码老师在课程视频
当中也做出了详细的介绍
那么本次视频对于实例1的介绍就
到此为止
感谢大家的观看
谢谢