实验一
- 背景简介/问题描述
实验内容:
参照课程第二部分讲授的知识表示方法完成,包括产生式系统、框架系统、语义网络等(还可以选择其他方法)解决以下问题(不限于此),必要时上网查找有关参考文献。
猴子摘香蕉问题:
一个房间里,天花板上挂有一串香蕉,有一只猴子可在房间里任意活动(到处走动,推移箱子,攀登箱子等)。设房间里还有一只可被猴子移动的箱子,且猴子登上箱子时才能摘到香蕉,问猴子在某一状态下(设猴子位置为A,香蕉位置在B,箱子位置为C),如何行动可摘取到香蕉。
- 算法实现
3.1谓词表示法
- 定义描述状态谓词:
SITE(x, y): x在y 处;
HANG(w,y):w悬挂在y处;
ON (z): z站在箱子上;
HOLDS(z): z手里拿着香蕉
变元的个体域:
x的个体域是{Monkey, Box};
y的个体域是{a, b, c};
z的个体域是{Monkey};
w的个体域是{Banana}
问题的初始状态:
问题的目标状态:
- 定义四个操作:
Goto(u,v): 猴子从 u 走到 v 处。
条件:
动作:删除表;添加表
Pushbox(v,w):猴子推着箱子从v 走到w 处。
条件 :
动作:删除表;
添加表
Climbbox: 猴子爬上箱子。
条件:
动作:删除表;添加表
Grasp: 猴子摘到香蕉。
条件:
动作:删除表;
添加表
- 猴子摘香蕉求解过程:
-Goto(u,v)->
-Pushbox(v,w)->-Climbbox->
-Grasp->
3.2产生式表示法:
- 综合数据库:
(M, B, Box, On, H)
M:猴子的位置 B:香蕉的位置
Box:箱子的位置 On=0:猴子在地板上
On=1:猴子在箱子上 H=0:猴子没有抓到香蕉
H=1:猴子抓到了香蕉
- 初始状态:(a,c,b,0,0)
- 结束状态:(c,c,c,1,1)
- 规则集:
r1: IF (x, y, z, 0, 0) THEN (w, y, z, 0, 0)
r2: IF (x, y, x, 0, 0) THEN (z, y, z, 0, 0)
r3: IF (x, y, x, 0, 0) THEN (x, y, x, 1, 0)
r4: IF (x, y, x, 1, 0) THEN (x, y, x, 0, 0)
r5: IF (x, x, x, 1, 0) THEN (x, x, x, 1, 1)
其中, x, y, z, w 为变量。
- 根据猴子摘香蕉这一具体问题可将规则具体为:
r1: IF (a, c, b, 0, 0) THEN (b, c, b, 0, 0)
r2: IF (b, c, b, 0, 0) THEN (c, c, c, 0, 0)
r3: IF (c ,c, c, 0, 0) THEN (c, c, c, 1, 0)
r5: IF (c, c, c, 1, 0) THEN (c, c, c, 1, 1)
在已知事实下,r1→r2→r3→r5,可得到香蕉
- 讨论及结论
谓词逻辑是一种接近于自然语言的形式语言,拥有通用的逻辑演算方法和推理的规则,且易于实现;
但其把推理演算与知识含义分开,推理过程太过冗长,效率过低,且不便于表达。
- 测试代码截图
- 代码运行结果
实验二
- 基于Mindspore框架的模型本地训练及预测
- mindspore安装成功截图
图1Mindspore安装成功截图。
这里我在ubuntu20.04安装python3.8,CPU版本的环境,运行命令python -c "import mindspore;mindspore.run_check()"
结果显示安装成功
- train.py的配置
图2train.py脚本
这里我选择的训练方式是CPU
(3)eval.py的配置
图3.eval.py
其中权重文件的路径为
/home/shadowofflame/桌面/人工智能/实验二所需文件/lenet/ckpt/checkpoint_lenet-9_1875.ckpt
- train.py运行截图
图4.train.py运行截图
命令
python3 train.py
- eval.py执行过程
图5.eval.py运行截图
命令
python3 eval.py
- 基于Modelarts平台和Tensorflow框架的模型训练及部署
- 创建的OBS桶以及放入其中的文件
图6.我创建的筒shadowofflame
图7.mnist-tensorflow-code
图8.mnist-model
图9.mnist-model
- 创建的算法
图10.创建的算法
图11.具体结构
- AI部署
图12.AI部署
图13.具体部署
- 在线服务
图14.在线服务
实验一
- 背景简介/问题描述
实验内容:
参照课程第二部分讲授的知识表示方法完成,包括产生式系统、框架系统、语义网络等(还可以选择其他方法)解决以下问题(不限于此),必要时上网查找有关参考文献。
猴子摘香蕉问题:
一个房间里,天花板上挂有一串香蕉,有一只猴子可在房间里任意活动(到处走动,推移箱子,攀登箱子等)。设房间里还有一只可被猴子移动的箱子,且猴子登上箱子时才能摘到香蕉,问猴子在某一状态下(设猴子位置为A,香蕉位置在B,箱子位置为C),如何行动可摘取到香蕉。
- 算法实现
3.1谓词表示法
- 定义描述状态谓词:
SITE(x, y): x在y 处;
HANG(w,y):w悬挂在y处;
ON (z): z站在箱子上;
HOLDS(z): z手里拿着香蕉
变元的个体域:
x的个体域是{Monkey, Box};
y的个体域是{a, b, c};
z的个体域是{Monkey};
w的个体域是{Banana}
问题的初始状态:
问题的目标状态:
- 定义四个操作:
Goto(u,v): 猴子从 u 走到 v 处。
条件:
动作:删除表;添加表
Pushbox(v,w):猴子推着箱子从v 走到w 处。
条件 :
动作:删除表;
添加表
Climbbox: 猴子爬上箱子。
条件:
动作:删除表;添加表
Grasp: 猴子摘到香蕉。
条件:
动作:删除表;
添加表
- 猴子摘香蕉求解过程:
-Goto(u,v)->
-Pushbox(v,w)->-Climbbox->
-Grasp->
3.2产生式表示法:
- 综合数据库:
(M, B, Box, On, H)
M:猴子的位置 B:香蕉的位置
Box:箱子的位置 On=0:猴子在地板上
On=1:猴子在箱子上 H=0:猴子没有抓到香蕉
H=1:猴子抓到了香蕉
- 初始状态:(a,c,b,0,0)
- 结束状态:(c,c,c,1,1)
- 规则集:
r1: IF (x, y, z, 0, 0) THEN (w, y, z, 0, 0)
r2: IF (x, y, x, 0, 0) THEN (z, y, z, 0, 0)
r3: IF (x, y, x, 0, 0) THEN (x, y, x, 1, 0)
r4: IF (x, y, x, 1, 0) THEN (x, y, x, 0, 0)
r5: IF (x, x, x, 1, 0) THEN (x, x, x, 1, 1)
其中, x, y, z, w 为变量。
- 根据猴子摘香蕉这一具体问题可将规则具体为:
r1: IF (a, c, b, 0, 0) THEN (b, c, b, 0, 0)
r2: IF (b, c, b, 0, 0) THEN (c, c, c, 0, 0)
r3: IF (c ,c, c, 0, 0) THEN (c, c, c, 1, 0)
r5: IF (c, c, c, 1, 0) THEN (c, c, c, 1, 1)
在已知事实下,r1→r2→r3→r5,可得到香蕉
- 讨论及结论
谓词逻辑是一种接近于自然语言的形式语言,拥有通用的逻辑演算方法和推理的规则,且易于实现;
但其把推理演算与知识含义分开,推理过程太过冗长,效率过低,且不便于表达。
- 测试代码截图
- 代码运行结果
实验二
- 基于Mindspore框架的模型本地训练及预测
- mindspore安装成功截图
图1Mindspore安装成功截图。
这里我在ubuntu20.04安装python3.8,CPU版本的环境,运行命令python -c "import mindspore;mindspore.run_check()"
结果显示安装成功
- train.py的配置
图2train.py脚本
这里我选择的训练方式是CPU
(3)eval.py的配置
图3.eval.py
其中权重文件的路径为
/home/shadowofflame/桌面/人工智能/实验二所需文件/lenet/ckpt/checkpoint_lenet-9_1875.ckpt
- train.py运行截图
图4.train.py运行截图
命令
python3 train.py
- eval.py执行过程
图5.eval.py运行截图
命令
python3 eval.py
- 基于Modelarts平台和Tensorflow框架的模型训练及部署
- 创建的OBS桶以及放入其中的文件
图6.我创建的筒shadowofflame
图7.mnist-tensorflow-code
图8.mnist-model
图9.mnist-model
- 创建的算法
图10.创建的算法
图11.具体结构
- AI部署
图12.AI部署
图13.具体部署
- 在线服务
图14.在线服务
图15.运行结果
图16.运行中的作业
参考文献
图15.运行结果
图16.运行中的作业
参考文献