没有合适的资源?快使用搜索试试~ 我知道了~
首页人工智能原理实验报告.pdf合肥工业大学人工智能原理实验报告
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/20721778/bg1.jpg)
《人工智能原理》实验报告
姓名:
学号:
专业:
2021 年 4 月 10 日
严禁复制
严禁复制
严禁复制
严禁复制
严禁复制
严禁复制
严禁复制
严禁复制
严禁复制
![](https://csdnimg.cn/release/download_crawler_static/20721778/bg2.jpg)
目录
1.斑马问题
.....................................................................................................................
3
1.1
实验目的
..............................................................................................................................................
3
1.2 实验内容
..............................................................................................................................................
3
1.3 实验原理
..............................................................................................................................................
4
1.4 实验代码
..............................................................................................................................................
5
1.5 实验结果
..............................................................................................................................................
6
1.6 心得体会
.............................................................................................................................................
6
2.
黑白棋问题
.................................................................................................................
7
1.1 实验目的
..............................................................................................................................................
7
1.2
实验内容
..............................................................................................................................................
7
1.3
实验原理
..............................................................................................................................................
8
1.4
实验代码
............................................................................................................................................
11
1.5 实验结果
............................................................................................................................................
32
1.6 心得体会
............................................................................................................................................
34
3.八皇后问题
..............................................................................................................
36
1.1 实验目的
............................................................................................................................................
36
1.2 实验内容
............................................................................................................................................
36
1.3 实验原理
............................................................................................................................................
36
1.4 实验代码
............................................................................................................................................
37
1.6
实验心得
...........................................................................................................................................
44
严禁复制
严禁复制
严禁复制
严禁复制
严禁复制
严禁复制
严禁复制
严禁复制
严禁复制
![](https://csdnimg.cn/release/download_crawler_static/20721778/bg3.jpg)
1.斑马问题
1.1 实验目的
通过实验,基本掌握逻辑编程的思想,了解逻辑编程与命令式编程的区别。
能够依据给定的事实以及规则编写代码,解决逻辑约束问题(CLP)。
1.2 实验内容
严禁复制
严禁复制
严禁复制
严禁复制
严禁复制
严禁复制
严禁复制
严禁复制
严禁复制
![](https://csdnimg.cn/release/download_crawler_static/20721778/bg4.jpg)
对整个实验代码有一个初步的了解,阅读整段代码,填补空缺部分。完成对
问题的推导,找到哪所房子里的人养斑马,哪所房子里的人喜欢喝矿泉水。并进
行输出。其中 left()函数的作用是描述两个具有一系列特征的对象的左右位置
关系。其中 next()函数的作用是描述两个具有一系列特征的对象的具有相邻的
位置关系。
1.3 实验原理
在 python 中有着丰富的库,每个库都能实现各种各样的功能。其中 Kanren
库里面的 lall 包用于定义规则,而解决问题的关键就是弄清楚爱因斯坦的超级
问题中,事实、规则、问题分别是什么。
“事实”实际上已经很清楚了,就是题目详情中所给的第一段话以及 15 个
已知信息;问题也很明确:找到养鱼的那个人。但对于此题,将所有人的国籍、
养的宠物、房子的颜色、喝的饮料以及抽的烟全部匹配出来同样是可行的。所以
问题可以变为,求出使全部事实成立的 5 个匹配。
相比较与”事实“和“问题”的清晰明了,“规则”就比较隐秘了,需要
我们从题目中挖掘:
通过已知信息(4),我们知道需要定义规则“A 在 B 的左边(相邻)”。一共
有五座房子,若从左到右依次标号为 1-5,那么“(A,B)分别为(1,2)、(2,3)、
(3,4)、(4,5)”都符合“规则 A 在 B 的左边(相邻)”。
通过已知信息(8),我们知道需要定义规则“A 房子在中间”。若让五座房
子沿用上面 1-5 的编号,则只有“A 房子标号为 3”才符合规则“A 房子在中间”。
通过已知信息(9),我们知道需要定义规则“A 房子是第一个房子”。若让五座
房子沿用上面 1-5 的编号,则只有“A 房子标号为 1”才符合规则“A 房子是第
一个房子”。
通过已知信息(10)、(11)、(14),我们知道需要定义规则“A 在 B 的旁边”。
那么“(A,B)分别为(1,2)、(2,3)、(3,4)、(4,5)、(2,1)、(3,2)、(4,3)、(5,4)”
都符合规则“A 在 B 的旁边”。
由于房主人的国籍、房主人所养的宠物、房子的颜色、房主人喝的饮料、房
主人抽的烟都是匹配好的,所以我们假设:在使用与这 5 个属性的其中之一属性
相关的任何一个规则时,都将其他 4 个属性与其绑定处理,看作一个整体,只不
过这个整体除了规则涉及到的属性之外,还有其他的属性。
由于所有的属性都与人息息相关,所以我们可以设定谓词 var(Country, Pet,
Color, Drink, Smoke)。
严禁复制
严禁复制
严禁复制
严禁复制
严禁复制
严禁复制
严禁复制
严禁复制
严禁复制
![](https://csdnimg.cn/release/download_crawler_static/20721778/bg5.jpg)
五个房子从左到右又有五个位置,所以我们可以设定谓词 house(A, Houses),
其中 A 就是使事实成立的一个 people 实例,house(A, Houses)表示 A 的房子在
五个房子中的相对位置,一共有五种。
eq()函数表示五个房子的布局。其中用 var()来表示每个房子的特征。
最后一个规则就是,当所有事实成立时,我们便可得出一个布局。
1.4 实验代码(其中红色部分为填补的代码)
from kanren import *
from kanren.core import lall # lall
包用于定义规则
import time
#
定义
left()
函数
def left(q, p, list):
return membero((q,p), zip(list, list[1:]))
#
定义
next()
函数
def next(q, p, list):
return conde([left(q, p, list)], [left(p, q, list)])
'''声明房子变量 '''
houses = var()
''' 给出条件语句 '''
rules_zebraproblem = lall(
(eq, (var(), var(), var(), var(), var()), houses), # 5
个
var()
分别代表人、身份、饮料、动物、屋子颜色
#
房子里的每个子成员
有五个属性
: membero(
国家,身份,饮料,宠物,房子
)
(membero,('英国人', var(), var(), var(), '红色'), houses), # 1.
英国人住在红色的房子里
(membero,('西班牙人', var(), var(), '狗', var()), houses), # 2.
西班牙人养了一条狗
(membero,('日本人', '油漆工', var(), var(), var()), houses), # 3.
日本人是一个油漆工
(membero,('意大利人', var(), '茶', var(), var()), houses), # 4.
意大利人喜欢喝茶
(eq,(('挪威人', var(), var(), var(), var()), var(), var(), var(),
var()), houses),# 5.
挪威人住在左边的第一个房子里
(left,(var(), var(), var(), var(), '白色'),(var(), var(), var(), var(),
'绿色'), houses), # 6.
绿房子在白房子的右边
(membero,(var(), '摄影师', var(), '蜗牛', var()), houses),
# 7.
摄影师养了一只蜗牛
(membero,(var(), '外交官', var(), var(), '黄色'), houses),
# 8.
外交官住在黄房子里
(eq, (var(), var(), (var(), var(), '牛奶', var(), var()), var(), var()),
houses),# 9.
中间那个房子的人喜欢喝牛奶
(membero,(var(), var(), '咖啡', var(), '绿色'), houses),
严禁复制
严禁复制
严禁复制
严禁复制
严禁复制
严禁复制
严禁复制
严禁复制
严禁复制
剩余67页未读,继续阅读
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)