当前位置:文档之家› 人工智能作业—迷宫问题

人工智能作业—迷宫问题

人工智能作业—迷宫问题
人工智能作业—迷宫问题

人工智能

班级:13111

学号:13111

姓名:

一、问题描述

在如图所示的迷宫,找出从起点(1,1)到终点(4,4),要求步数最小.

1:初始状态,入口处。

2:目标状态,出口处

3:操作方式下上右左

二、解题步骤:

1:设估价函数:f(n)=g(n)+h(n);

g(n)=d(n);

h(n)=|Yg-xn|+|Yg-yn|;:

2:将迷宫问题转化为格子问题

3:按照操作步骤得到状态空间树如下:

g=0,h=7,f=7

g=1,h=6,f=7

g=2,h=5,f=7

g=3,h=4,f=7

g=4,h=5,f=9 g=4,h=3,f=7

g=5,h=2,f=7

g=5,h=6,f=11 g=5,h=4,f=9 g=6,h=1,f=7

g=6,h=3,f=9 g=7,h=0,f=7

g=7,h=2,f=9

g=8,h=1,f=9

g=9,h=2,f=11,

1,1

1,2

2,2

3,2

3,1

2,1

3,3

3,4

4,4

5,4

1

6

5

4

3 2

8

7

10

9 4,1 4,2 4,3 5,2 5,1

5,3 15 14

13 12

11

16

g=10,h=3,f=13

4 根据状态空间树得到open表,close表如下:

节点父节点f(n)

1 无7

2 1 7

3 2 7

4 3 7

9 4 9

5 4 7

6 5 7

7 6 7

8 7 7

16 9 11

10 9 9

11 10 9

12 11 9

13 12 9

14 13 11

15 14 13

编号节点父节点f(n)

8 8 7 7

7 7 6 7

6 6 5 7

5 5 4 7

4 4 3 7

3 3 2 7

2 2 1 7

1 1 无7

根据上表得出路径为s1->s2->s3->s4->s5->s6->s7->s8->sg

trace

domains

state=symbol

database-mydatabase

open(state,integer)

closed(integer,state,integer)

res(state)

mark(state)

fail_

predicates

solve

search(state,state)

result

searching

step4(integer,state)

step56(integer,state)

equal(state,state)

repeat

resulting(integer)

rule(state,state)

road(state,state)

goal

solve.

clauses

solve:-

search(s0,sg),result.

search(Begin,End):-

retractall(_,mydatabase),

assert(closed(0,Begin,0)),

assert(open(Begin,0)),

assert(mark(End)),repeat,searching,!.

result:-

not(fail_),retract(closed(0,_,0)),

closed(M,_,_),resulting(M),!.

result:-

beep,write("sorry don't find a road!").

searching:-

open(State,Pointer),

retract(open(State,Pointer)),

closed(No,_,_),No2=No+1,

asserta(closed(No2,State,Pointer)),

!,step4(No2,State).

searching:-

assert(fail_).

step4(_,State):-

mark(End),equal(State,End). step4(No3,State):-

step56(No3,State),!,fail.

step56(No4,StateX):-

rule(StateX,StateY),

not(open(StateY,_)),

not(closed(_,StateY,_)),

assertz(open(StateY,No4)),fail. step56(_,_):-!.

equal(X,X).

repeat.

repeat:-repeat.

resulting(N):-

closed(N,X,M),asserta(res(X)),

resulting(M).

resulting(_):-

res(X),write(X),nl,fail. resulting(_):-!.

rule(X,Y):-road(X,Y).

road(s0,s1).

road(s1,s2).road(s2,s5).road(s5,s4). road(s4,s7).road(s7,s8).road(s8,s9). road(s9,sg).

人工智能作业一答案

作业一 1.考虑一个实时的在线电话翻译系统,该系统实现英语与日语之间的实时在线翻译,讨论 该系统的性能度量,环境,执行器,感知器,并对该环境的属性进行分析。 【Answer】 性能度量:翻译的正确率 环境:电话线路 传感器:麦克风 执行器:音响 完全可观察的,单agent,确定的(无噪音条件下),片段的,静态的,离散的。2.考虑一个医疗诊断系统的agent,讨论该agent最合适的种类(简单agent,基于模型的agent, 基于目标的agent和基于效用的agent)并解释你的结论。 【Answer】 utility-based agent。 能够治愈病人的方法有很多种,系统必须衡量最优的方法来推荐给病人 3.先建立一个完整的搜索树,起点是S,终点是G,如下图,节点旁的数字表示到达目标状态 的距离,然后用以下方法表示如何进行搜索。 (a).深度优先; (b).宽度优先; (c).爬山法; (d).最佳优先; 图一 【Answer】: 建立树: 深度: 宽度: 爬山法: 优先搜索: 4.图二是一棵部分展开的搜索树,其中树的边记录了对应的单步代价,叶子节点标注了到 达目标结点的启发式函数的代价值,假定当前状态位于结点A。 (a)用下列的搜索方法来计算下一步需要展开的叶子节点。注意必须要有完整的计算过 程,同时必须对扩展该叶子节点之前的节点顺序进行记录: 1.贪婪最佳优先搜索 2.一致代价搜索 3.A*树搜索 (b)讨论以上三种算法的完备性和最优性。 【Answer】: 贪婪最佳优先:如果h(B)>5,首先访问叶子结点C,如果h(B)<=5,首先访问B,再访问C 一致代价搜索:B,D,E,F,G,H,C A*树搜索:如果h(B)>15,首先访问D 如果h(B)<=15,首先访问B,在E,G,D,H,F,C 图二 5.给定一个启发式函数满足h(G)=0,其中G是目标状态,证明如果h是一致的,那么它是

人工智能实验报告大全

人工智能实验报告大 全

人工智能课内实验报告 (8次) 学院:自动化学院 班级:智能1501 姓名:刘少鹏(34) 学号: 06153034 目录 课内实验1:猴子摘香蕉问题的VC编程实现 (1) 课内实验2:编程实现简单动物识别系统的知识表示 (5)

课内实验3:盲目搜索求解8数码问题 (18) 课内实验4:回溯算法求解四皇后问题 (33) 课内实验5:编程实现一字棋游戏 (37) 课内实验6:字句集消解实验 (46) 课内实验7:简单动物识别系统的产生式推理 (66) 课内实验8:编程实现D-S证据推理算法 (78)

人工智能课内实验报告实验1:猴子摘香蕉问题的VC编程实现 学院:自动化学院 班级:智能1501 姓名:刘少鹏(33) 学号: 06153034 日期: 2017-3-8 10:15-12:00

实验1:猴子摘香蕉问题的VC编程实现 一、实验目的 (1)熟悉谓词逻辑表示法; (2)掌握人工智能谓词逻辑中的经典例子——猴子摘香蕉问题的编程实现。 二、编程环境 VC语言 三、问题描述 房子里有一只猴子(即机器人),位于a处。在c处上方的天花板上有一串香蕉,猴子想吃,但摘不到。房间的b处还有一个箱子,如果猴子站到箱子上,就可以摸着天花板。如图1所示,对于上述问题,可以通过谓词逻辑表示法来描述知识。要求通过VC语言编程实现猴子摘香蕉问题的求解过程。 图1 猴子摘香蕉问题

四、源代码 #include unsigned int i; void Monkey_Go_Box(unsigned char x, unsigned char y) { printf("Step %d:monkey从%c走到%c\n", ++i, x, y);//x表示猴子的位置,y为箱子的位置 } void Monkey_Move_Box(char x, char y) { printf("Step %d:monkey把箱子从%c运到%c\n", ++i, x, y);//x表示箱子的位置,y为香蕉的位置 } void Monkey_On_Box() { printf("Step %d:monkey爬上箱子\n", ++i); } void Monkey_Get_Banana() { printf("Step %d:monkey摘到香蕉\n", ++i); } void main() { unsigned char Monkey, Box, Banana; printf("********智能1501班**********\n"); printf("********06153034************\n"); printf("********刘少鹏**************\n"); printf("请用a b c来表示猴子箱子香蕉的位置\n"); printf("Monkey\tbox\tbanana\n"); scanf("%c", &Monkey); getchar(); printf("\t"); scanf("%c", &Box); getchar(); printf("\t\t"); scanf("%c", &Banana); getchar(); printf("\n操作步骤如下\n"); if (Monkey != Box) { Monkey_Go_Box(Monkey, Box); } if (Box != Banana)

游戏人工智能实验报告四

实验四有限状态机实验 实验报告 一、实验目的 通过蚂蚁世界实验掌握游戏中追有限状态机算法 二、实验仪器 Windows7系统 Microsoft Visual Studio2015 三、实验原理及过程 1)制作菜单 设置参数:点击会弹出对话框,设置一些参数,红、黑蚂蚁的家会在地图上标记出来 运行:设置好参数后点击运行,毒药、食物、水会在地图上随机显示 下一步:2只红蚂蚁和2只黑蚂蚁会随机出现在地图上,窗口右方还会出现红、黑蚂蚁当前数量的统计 不断按下一步,有限状态机就会不断运行,使蚁群产生变化 2)添加加速键 资源视图中 下方

选择ID和键值 3)新建头文件def.h 在AntView.cpp中加入#include"def.h" 与本实验有关的数据大都是在这里定义的 int flag=0; #define kForage 1 #define kGoHome 2 #define kThirsty 3 #define kDead 4 #define kMaxEntities 200 class ai_Entity{ public: int type; int state; int row; int col; ai_Entity(); ~ai_Entity() {} void New (int theType,int theState,int theRow,int theCol); void Forage(); void GoHome(); void Thirsty(); void Dead(); }; ai_Entity entityList[kMaxEntities]; #define kRedAnt 1 #define kBlackAnt 2

人工智能实验报告大全

人工智能课内实验报告 (8次) 学院:自动化学院 班级:智能1501 姓名:刘少鹏(34) 学号: 06153034

目录 课内实验1:猴子摘香蕉问题的VC编程实现 (1) 课内实验2:编程实现简单动物识别系统的知识表示 (5) 课内实验3:盲目搜索求解8数码问题 (18) 课内实验4:回溯算法求解四皇后问题 (33) 课内实验5:编程实现一字棋游戏 (37) 课内实验6:字句集消解实验 (46) 课内实验7:简单动物识别系统的产生式推理 (66) 课内实验8:编程实现D-S证据推理算法 (78)

人工智能课内实验报告实验1:猴子摘香蕉问题的VC编程实现 学院:自动化学院 班级:智能1501 姓名:刘少鹏(33) 学号: 06153034 日期: 2017-3-8 10:15-12:00

实验1:猴子摘香蕉问题的VC编程实现 一、实验目的 (1)熟悉谓词逻辑表示法; (2)掌握人工智能谓词逻辑中的经典例子——猴子摘香蕉问题的编程实现。 二、编程环境 VC语言 三、问题描述 房子里有一只猴子(即机器人),位于a处。在c处上方的天花板上有一串香蕉,猴子想吃,但摘不到。房间的b处还有一个箱子,如果猴子站到箱子上,就可以摸着天花板。如图1所示,对于上述问题,可以通过谓词逻辑表示法来描述知识。要求通过VC语言编程实现猴子摘香蕉问题的求解过程。 图1 猴子摘香蕉问题 四、源代码 #include unsigned int i; void Monkey_Go_Box(unsigned char x, unsigned char y) {

人工智能答案1

廉师友<<人工智能>>作业一参考答案 1.已知前提:(1)如果x与y是同班同学,则x的老师也是y的老师;(2)小李和小张是同班同学;(3)王先生是小李的老师,运用自然演绎推理证明: 王先生也是小张的老师。 证明:首先定义谓词: Teacher x是y的老师 x , ) (y x (y Classmates x和y是同班同学 , ) 则已知的前提可以符号化为: (1))) Classmates Teacher y y x ? y ? ? ∧ x→ z ( ) ) ( z , , , x (z Teacher ( (2)) Teacher Wang , (Xiaoli (3)) Xiaoli Classmates (Xiaozhang , 要证的结论为:) Teacher Wang , (Xiaozhang 推导过程如下: ①)) F x z F y ? ?P规则 ? y x→ y ∧ , ( ) , z ) ( , x G (z ( ② Classmates Xiaoli Xiaozhang Xiaoli Teacher→ ∧ Wang Wang Teacher ( , (Xiaozhang , ) ) ( , ) ①UI规则 ③) Wang Teacher P规则 (Xiaoli , ④) Xiaoli Classmates P规则 , (Xiaozhang ⑤) Classmates Xiaoli Xiaoli Teacher∧ Wang , (Xiaozhang ) ( , ③④合取引入 ⑥) Teacher②⑤假言推理 Wang , (Xiaozhang (补充)利用自然演绎推理证明(,) W a b ??→和(,) ? ?是((,)(,)) x y P x y W x y P a b 的逻辑结果。 证明:①((,)(,)) x y P x y W x y ??→P规则 ②) b P→①全称固化(UI规则) a a W , ( ) , (b ③) ?P规则 W a (b ,

人工智能部分习题答案

人工智能部分习题答案 Document number:WTWYT-WYWY-BTGTT-YTTYU-2018GT

1.什么是人类智能它有哪些特征或特点 定义:人类所具有的智力和行为能力。 特点:主要体现为感知能力、记忆与思维能力、归纳与演绎能力、学习能力以及行为能力。 2.人工智能是何时、何地、怎样诞生的 解:人工智能于1956年夏季在美国Dartmouth大学诞生。此时此地举办的关于用机器模拟人类智能问题的研讨会,第一次使用“人工智能”这一术语,标志着人工智能学科的诞生。 3.什么是人工智能它的研究目标是 定义:用机器模拟人类智能。 研究目标:用计算机模仿人脑思维活动,解决复杂问题;从实用的观点来看,以知识为对象,研究知识的获取、知识的表示方法和知识的使用。 4.人工智能的发展经历了哪几个阶段 解:第一阶段:孕育期(1956年以前);第二阶段:人工智能基础技术的研究和形成(1956~1970年);第三阶段:发展和实用化阶段(1971~1980年);第四阶段:知识工程和专家系统(1980年至今)。 5.人工智能研究的基本内容有哪些 解:知识的获取、表示和使用。 6.人工智能有哪些主要研究领域 解:问题求解、专家系统、机器学习、模式识别、自动定论证明、自动程序设计、自然语言理解、机器人学、人工神经网络和智能检索等。 7.人工智能有哪几个主要学派各自的特点是什么 主要学派:符号主义和联结主义。 特点:符号主义认为人类智能的基本单元是符号,认识过程就是符号表示下的符号计算,从而思维就是符号计算;联结主义认为人类智能的基本单元是神经元,认识过程是由神经元构成的网络的信息传递,这种传递是并行分布进行的。 8.人工智能的近期发展趋势有哪些 解:专家系统、机器人学、人工神经网络和智能检索。 9.什么是以符号处理为核心的方法它有什么特征 解:通过符号处理来模拟人类求解问题的心理过程。 特征:基于数学逻辑对知识进行表示和推理。 11.什么是以网络连接为主的连接机制方法它有什么特征 解:用硬件模拟人类神经网络,实现人类智能在机器上的模拟。 特征:研究神经网络。 1.请写出用一阶谓词逻辑表示法表示知识的步骤。 步骤:(1)定义谓词及个体,确定每个谓词及个体的确切含义;(2)根据所要表达的事物或概念,为每个谓词中的变元赋予特定的值;(3)根据所要表达的知识的语义用适当的联接符号将各个谓词联接起来,形成谓词公式。 2.设有下列语句,请用相应的谓词公式把它们表示出来: (1)有的人喜欢梅花,有的人喜欢菊花,有的人既喜欢梅花又喜欢菊花。 解:定义谓词如下: Like(x,y):x喜欢y。 Club(x):x是梅花。 Human(x):x是人。 Mum(x):x是菊花。 “有的人喜欢梅花”可表达为:(?x)(Human(x)?Like(x,Club(x))) “有的人喜欢菊花”可表达为:(?x)(Human(x)?Like(x,Mum(x))) “有的人既喜欢梅花又喜欢菊花”可表达为:(?x)(Human(x)?Like(x,Club(x))? Like(x,Mum(x))) (1)他每天下午都去玩足球。 解:定义谓词如下: PlayFootball(x):x玩足球。 Day(x):x是某一天。 则语句可表达为:(?x)(D(x)?PlayFootball(Ta)) (2)太原市的夏天既干燥又炎热。 解:定义谓词如下:

人工智能作业答案(中国矿大)

1把以下合适公式化简为合取范式的子句集: (1)? (?x)(?y)(?z){P(x) ? (?x)[Q(x, y) ? R(z)]} (2)( ?x)( ?y){{P(x) ∧ [Q(x) ∨ R(y)]} ? (?y)[P(f(y)) ? Q(g(x))]} (3) (?x)( ?y){P(x) ∧ [Q(x)∨ R(y)]}? (?y){[P(f(y))? Q(g(y))]? (?x)R(x)} (1) ??(?x)( ?y)( ?z){P(x) ? (?x)[Q(x,y) ? R(z)]} ??(?x)( ?y)( ?z){ ?P(x) ∨ ( ?x)[?Q(x,y) ∨ R(z)]} ? (?x)( ?y)( ?z){ P(x) ∧ (? x)[Q(x,y) ∧?R(z)]} ? P(A) ∧ [Q(f(y,z), y) ∧?R(z)] ? {P(A), Q(f(y,z),y), ∧?R(w)} (2)? (?x)(?y){{P(x) ∧ [Q(x) ∨ R(y)]} ? (?y)[P(f(y)) ? Q(g(x))]} ? (?x)(?y){?{P(x) ∧ [Q(x) ∨ R(y)]} ∨(?y)[?P(f(y)) ∨ Q(g(x))]} ? (?x)(?y){?P(x) ∨ [?Q(x) ∧?R(y)] ∨ (?w)[?P(f(w)) ∨ Q(g(x))]} ? (?x){?P(x) ∨ [?Q(x) ∧?R(h(x))] ∨ (?w)[?P(f(w)) ∨ Q(g(x))]} ? [?P(x) ∨?Q(x) ∨?P(f(w)) ∨ Q(g(x))] ∧ [?P(x) ∨?R(h(x)) ∨?P(f(w)) ∨ Q(g(x))] ? {?P(x1) ∨?Q(x1) ∨?P(f(w1) ∨ Q(g(x1)),

人工智能实验报告

实验报告 1.对CLIPS和其运行及推理机制进行介绍 CLIPS是一个基于前向推理语言,用标准C语言编写。它具有高移植性、高扩展性、 强大的知识表达能力和编程方式以及低成本等特点。 CLIPS由两部分组成:知识库、推理机。它的基本语法是: (defmodule< module-n ame >[< comme nt >]) CLIPS的基本结构: (1).知识库由事实库(初始事实+初始对象实例)和规则库组成。 事实库: 表示已知的数据或信息,用deftemplat,deffact定义初始事实表FACTLIS,由关系名、后跟 零个或多个槽以及它们的相关值组成,其格式如下: 模板: (deftemplate [] *) :: = | 事实: (deffacts [] *) 当CLIPS系统启动推理时,会把所有用deffact定义的事实自动添加到工作存储器中。常用命令如下:asser:把事实添加到事实库(工作存储器)中retract:删除指定事实 modify :修改自定义模板事实的槽值duplicate :复制事实 clear:删除所有事实 规则库 表示系统推理的有关知识,用defrule命令来定义,由规则头、后跟零个或多个条件元素以 及行为列表组成,其格式如下: (defrule [] * ; =>

人工智能作业三(答案)

作业三 1. 下列两个一阶逻辑的语句有什么问题?如果错误,请给出正确的表示: (a) ) ( ) (x Tall x xBoy∧ ? (要表达的意思: 所有的男孩都是高的) (b) ) ( ) (x Tall x xBoy? ? (要表达的意思:一些男孩是高的) [Answer]: ) ( ) (x Tall x xBoy? ? ) ( ) (x Tall x xBoy∧ ? 2.已知如下的两个命题“任何一个选了人工智能(AI)课程的人都是聪明的”,“任 何一门课只要教授人工智能相关知识它就是人工智能(AI)课程”,其相应的一阶 逻辑表达式如下: ? x (? y AI course(y) ∧ Takes(x,y)) ? Smart(x) ? x (? y AI topic(y) ∧ Teaches(x,y)) ? AI course(x) 现在已知事实:John选了课程CS3243,CS3243课教授的推理知识属于人工智 能相关知识,请将该事实表达成一阶逻辑句子,并且将该语句转换成CNF的形式, 然后用归结算来证明“john是聪明的”。 [Answer]: CNF形式: ) 3243 , ( ) , 3243 ( ) ( _CS John Takes Inference CS Teaches Inference topic AI∧ ∧

3.考虑从一副标准的52张纸牌(不含大小王)中分发每手5张牌的扑克牌域。假设发牌人是公平的。 (a)在联合概率分布中共有多少个原子事件(即,共有多少种5张手牌的组合)?每个原子事件的概率是多少? (b)拿到大同花顺(即同花的A、K、Q、J、10)的概率是多少?四同张(4张相同的牌,分别为4种花色)的概率是多少? [Answer]: (a) C552,1/C552 (b) 4/C552, C113C148/C552 4.文本分类是基于文本内容将给定的一个文档分类成固定的几个类中的一类。朴素贝叶斯模型经常用于这个问题。在朴素贝叶斯模型中,查询(query)变量是这个文档的类别,而结果(effect)变量时语言中每个单词的存在与否;假设文档中单词的出现是独立的,单词的出现由文档类别决定。 1)给定一组已经被分类的文档,准确解释如何构造这样的模型。 2)准确解释如何分类新文档。 3)题目中的条件独立性假设合理吗?请讨论。 [Answer]: 1) P(category|document)= P(document|category)P(category)/P(document) 2)P(document|category),P(category)根据已有条件可以统计计算出,因此,给定一个新的测试文档,只需将P(document|category)P(category)最大的category赋给该文档即可。 3)不合理,单词之间不具有独立性。 5.“三一”重工想某工程投标,计划采取两种策略:一种是投高标,中标概率为0.2,不中标概率为0.8;另一种是投低标,中标与不中标的概率均为0.5。投标

人工智能实验报告

人工智能课程项目报告 姓名: 班级:二班

一、实验背景 在新的时代背景下,人工智能这一重要的计算机学科分支,焕发出了他强大的生命力。不仅仅为了完成课程设计,作为计算机专业的学生, 了解他,学习他我认为都是很有必要的。 二、实验目的 识别手写字体0~9 三、实验原理 用K-最近邻算法对数据进行分类。逻辑回归算法(仅分类0和1)四、实验内容 使用knn算法: 1.创建一个1024列矩阵载入训练集每一行存一个训练集 2. 把测试集中的一个文件转化为一个1024列的矩阵。 3.使用knnClassify()进行测试 4.依据k的值,得出结果 使用逻辑回归: 1.创建一个1024列矩阵载入训练集每一行存一个训练集 2. 把测试集中的一个文件转化为一个1024列的矩阵。 3. 使用上式求参数。步长0.07,迭代10次 4.使用参数以及逻辑回归函数对测试数据处理,根据结果判断测试数 据类型。 五、实验结果与分析 5.1 实验环境与工具 Window7旗舰版+ python2.7.10 + numpy(库)+ notepad++(编辑)

Python这一语言的发展是非常迅速的,既然他支持在window下运行就不必去搞虚拟机。 5.2 实验数据集与参数设置 Knn算法: 训练数据1934个,测试数据有946个。

数据包括数字0-9的手写体。每个数字大约有200个样本。 每个样本保持在一个txt文件中。手写体图像本身的大小是32x32的二值图,转换到txt文件保存后,内容也是32x32个数字,0或者1,如下图所 示 建立一个kNN.py脚本文件,文件里面包含三个函数,一个用来生成将每个样本的txt文件转换为对应的一个向量:img2vector(filename):,一个用 来加载整个数据库loadDataSet():,最后就是实现测试。

2017春季《人工智能》试题答案

期末作业考核 《人工智能》 满分100分 一、判断题(每题3分,共30分) 1. 从选手的角度看,博弈树就是一棵与或树,其特点是博弈的目标状态是初始节点,博弈树中的“或” 节点和“与”节点逐层交替出现。(√) 2. 遗传算法的编码方法常用编码方式有二进制编码、浮点数编码方法、格雷码、几何图形方法。(√) 3. 如果搜索是以接近起始节点的程度依次扩展节点的,那么这种搜索就叫做宽度优先搜索。(√) 4. 在宽度优先搜索中,OPEN表的数据结构是栈。(√) 5. 目前,人工智能的主要学派有下列3家:符号主义、分割主义和现实主义。(×) 6. 行为主义认为人工智能源于控制论。(×) 7. 在前馈网络中,多个神经元互连以组织一个互连神经网络。(×) 8. 问题归约法是从中间状态出发逆向推理,建立子问题以及子问题的子问题,直至最后把初始问题归 约为一个平凡的本原问题集合。(√) 9. 在问题归约图中,终叶节点是可解节点。(×) 10. 子句是由文字的析取组成的公式。(×) 二、简答题(每题15分,共45分) 1. 当前人工智能有哪些学派,他们的认知观是什么? 答:当前人工智能有符号主义、联结主义、行为主义三大学派。 符号主义,又称为逻辑主义、心理学派或计算机学派[ 其原理主要为物理符号系统(即符号操作系统)假设和有限合理性原理。认为人的认知基元是符号,而且认知过程即符号操作过程。认为人是一个物理符号系统,计算机也是一个物理符号系统,因此,我们就能够用计算机来模拟人的智能行为。知识是信息的一种形式,是构成智能的基础。人工智能的核心问题是知识表示、知识推理和知识运用。 联结主义,又称为仿生学派或生理学派。其原理主要为神经网络及神经网络间的连接机制与学习算法。认为人的思维基元是神经元,而不是符号处理过程。认为人脑不同于电脑,并提出联结主义的大脑工作模式,用于取代符号操作的电脑工作模式。 行为主义,又称进化主义或控制论学派 [ 其原理为控制论及感知-动作型控制系统认为智能取决于感知和行动。认为智能不需要知识、不需要表示、不需要推理;人工智能可以象人类智能一样逐步进化。智能行为只能在现实世界中与周围环境交互作用而表现出来。符号主义、联结主义对真实世界客观事物的描述及其智能行为工作模式是过于简化的抽象,因而是不能真实地反映客观存在的。 2.简述反演的基本算法。 答:包括线性反演和非线性反演 线性反演包括:最速下降、高斯反演、马垮塌反演 非线性反演包括:遗传算法、模拟退火等 看你要做什么了,要根据不同的需要选择不同的反演方法,不过非线性反演计算时间长

人工智能实验报告

《一人工智能方向实习一》 实习报告 专业:计算机科学与技术 班级:12419013 学号: 姓名: 江苏科技大学计算机学院 2016年3月

实验一数据聚类分析 一、实验目的 编程实现数据聚类的算法。 二、实验内容 k-means聚类算法。 三、实验原理方法和手段 k-means算法接受参数k ;然后将事先输入的 n个数据对象划分为 k个聚类以便使得 所获得的聚类满足:同一聚类中的对象相似度较高 四、实验条件 Matlab2014b 五、实验步骤 (1)初始化k个聚类中心。 (2)计算数据集各数据到中心的距离,选取到中心距离最短的为该数据所属类别。 (3)计算(2)分类后,k个类别的中心(即求聚类平均距离) (4)继续执行(2)(3)直到k个聚类中心不再变化(或者数据集所属类别不再变化) 六、实验代码 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % mai n.m % k-mea ns algorithm % @author matcloud %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clear; close all ; load fisheriris ; X = [meas(:,3) meas(:,4)]; figure; plot(X(:,1),X(:,2), 'ko' ,'MarkerSize' ,4); title( 'fisheriris dataset' , 'FontSize' ,18, 'Color' , 'red'); [idx,ctrs] = kmea ns(X,3); figure; subplot(1,2,1); plot(X(idx==1,1),X(idx==1,2), 'ro' , 'MarkerSize' ,4); hold on;

人工智能作业一(答案)

人工智能作业一(答案) -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

作业一 1.考虑一个实时的在线电话翻译系统,该系统实现英语与日语之间的实时在线翻译,讨 论该系统的性能度量,环境,执行器,感知器,并对该环境的属性进行分析。 【Answer】 性能度量:翻译的正确率环境:电话线路传感器:麦克风执行器:音响 完全可观察的,单agent,确定的(无噪音条件下),片段的,静态的,离散的。 2.考虑一个医疗诊断系统的agent,讨论该agent最合适的种类(简单agent,基于模型的 agent,基于目标的agent和基于效用的agent)并解释你的结论。 【Answer】 utility-based agent。能够治愈病人的方法有很多种,系统必须衡量最优的方法来推 荐给病人 3.先建立一个完整的搜索树,起点是S,终点是G,如下图,节点旁的数字表示到达目标状态 的距离,然后用以下方法表示如何进行搜索。 (a).深度优先; (b).宽度优先; (c).爬山法; (d).最佳优先; 图一 【Answer】: 建立树:

深度: 宽度: 爬山法:

优先搜索: 4.图二是一棵部分展开的搜索树,其中树的边记录了对应的单步代价,叶子节点标注了 到达目标结点的启发式函数的代价值,假定当前状态位于结点A。 (a)用下列的搜索方法来计算下一步需要展开的叶子节点。注意必须要有完整的计算过 程,同时必须对扩展该叶子节点之前的节点顺序进行记录: 1.贪婪最佳优先搜索 2.一致代价搜索 3.A*树搜索 (b)讨论以上三种算法的完备性和最优性。 【Answer】:

人工智能-课后作业

第一章:P23 1.人工智能 人工智能就是用人工的方法在机器(计算机)上实现的智能,或称机器智能 第二章:P51 5.(1)有的人喜欢打篮球,有的人喜欢踢足球,有的人既喜欢打篮球又喜欢踢足球。 定义谓词:LIKE(x,y):x喜欢y。 PLAY(x,y):x打(踢)y。 MAN(x):x是人。 定义个体域:Basketball,Soccer。 (?x)(MAN(x) →LIKE(x,PLAY(x,Basketball))) ∨(?y)(MAN(y) →LIKE(y,PLAY(y,Soccer))) ∨(?z)(MAN(z) →LIKE(z,PLAY(z,Basketball)) ∧LIKE(z,PLAY(z,Soccer)) (2)并不是每个人都喜欢花。 定义谓词:LIKE(x,y):x喜欢y。 P(x):x是人 定义个体词:flower ?(?x)(P(x) →LIKE(x,flower)) (3)欲穷千里目,更上一层楼。 定义谓词:S(x):x想要看到千里远的地方。 H(x):x要更上一层楼。 (?x)(S(x) →H(x)) 6. 产生式通常用于表示具有因果关系的知识,其基本形式是: P→Q 或者 If P Then Q [Else S] 其中,P是前件,用于指出该产生式是否可用的条件。Q是一组结论或者操作,用于指出当前提P满足时,应该得出的结论或者应该执行的操作。 区别:蕴含式只能表示精确知识;而产生式不仅可以表示精确知识,还可以表示不精确知识。 产生式中前提条件的匹配可以是精确的,也可以是非精确的;而谓词逻辑蕴含式总要求精确匹配。 7.一个产生式系统一般由三部分组成:规则集、全局数据库、控制策略。 步骤:1)初始化全局数据库,把问题的初始已知事实送入全局数据库中 2)若规则库中存在尚未使用的规则,而且它的前提可与全局数据库中的已知事实匹配,则转3),若不存在则转5) 3)执行当前选中的规则,并对该规则做标记,把该规则执行后得到的结论送入全局数据库中。如果该

人工智能作业二答案

作业二 1. 博弈树问题. (25分) 以下是一个博弈树轮到max 选手行棋,叶子结点下的数字代表着当前状态的分值(相对于max 选手)。 a)如果max 选择走结点3且两个玩家正确游戏,那么该博弈树输出的分值是什么?(15分) b)分析使用剪枝时(从左到右遍历)该树被裁剪的部分。(10分) 【answer 】: (a): 走最右侧分支,输出3; (b): 结点13,8,19,20被裁剪 2. 考虑棋盘上的四皇后问题,最左边的一列为第一列,最上面的一行为第一行, Qi 表示皇后在第i 行所在的列数。假定皇后摆放的顺序为Q1,Q2,Q3,Q4, 且在每一行上按照从第一列到第四列的顺序摆放皇后,请运用回溯搜索算法结合前向检测来解决四皇后问题。(15分) 如果皇后摆放的顺序依旧为Q1,Q2,Q3,Q4,但不要求在每一行上从第一列到第四列摆放皇后,能够找出一种摆放策略来避免回溯失败?(10分) -αβ

【answer】: 在放第一个棋子后(有两种可能位置(1,1),(1,2)),可以通过考察放置后的矛盾位置对数

来决定初始位置: 如果放置在(1,1)位置,如第一个图所示,那么剩余可放置位置(图中空白位置,如(2,3),(2,4),(3,2),(3,4),(4,2),(4,3))之间的互斥对数有8对。 如果放置在(1,2)位置,如第五个图所示,那么剩余可放置位置(图中空白位置,如(2,4),(3,1),(3,3),(4,1),(4,3),(4,4))之间的互斥对数有5对。 说明第二种放置方法导致的空位置之间的互斥对数少,那么可行性更大,因此选择初始位置放在(1,2)处。 3.请用真值表的方法证明下列语句是有效的,可满足的,还是不可满足的?(25分) 【answer】: a) 可满足的 b) 有效的

人工智能 遗传算法实验报告

人工智能实验报告 学号: 姓名: 实验名称:遗传算法 实验日期:2016.1.5

【实验名称】遗传算法 【实验目的】 掌握遗传算法的基本原理,熟悉遗传算法的运行机制,学会用遗传算法来求解问题。【实验原理】 遗传算法(Genetic Algorithm)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。 遗传算法是从代表问题可能潜在的解集的一个种群开始的,而一个种群则由经过基因编码的一定数目的个体组成。每个个体实际上是染色体带有特征的实体。在一开始需要实现从表现型到基因型的映射即编码工作。由于仿照基因编码的工作很复杂,我们往往进行简化,如二进制编码,初代种群产生之后,按照适者生存和优胜劣汰的原理,逐代演化产生出越来越好的近似解,在每一代,根据问题域中个体的适应度大小选择个体,并借助于自然遗传学的遗传算子进行组合交叉和变异,产生出代表新的解集的种群。这个过程将导致种群像自然进化一样的后生代种群比前代更加适应于环境,末代种群中的最优个体经过解码,可以作为问题近似最优解。 遗传算法程度流程图为:

【实验内容】 题目:已知f(x)=x*sin(x)+1,x ∈[0,2π],求f(x)的最大值和最小值。 数据结构: struct poptype { double gene[length];//染色体 double realnumber;//对应的实数x double fitness;//适应度 double rfitness;//相对适应度 double cfitness;//累计适应度 }; struct poptype population[popsize+1];//最后一位存放max/min struct poptype newpopulation[popsize+1];// 染色体编码: [0,2]x π∈,变量长度为2 π,取小数点后6位,由于2262322*102;π<< 因此,染色体由23位字节的二进制矢量表示,则X 与二进制串()2之间的映射如下: () 222221 2 010 b b ......b 2'i i i b x =?? =?= ???∑;23 2'21x x π=- 适应度函数: 由于要求f(x)的最值,所以适应度函数即可为f(x)。但为了确保在轮赌法选择过中,每个个体都有被选中的可能性,因此需要将所有适应度调整为大于0的值。因此,设计求最大值的适应度函数如下: max ()5sin 6; eval f x x x =+=+ 将最小问题转化为求-f(x)的最大值,同理,设计最小值的适应度函数如下: min ()5sin 4;eval f x x x =-+=-+ 种群大小: 本实验默认为50,再进行种群初始化。 实验参数: 主要有迭代数,交叉概率,变异概率这三个参数。一般交叉概率在0.6-0.9范围内,变异概率在0.01-0.1范围内。可以通过手动输入进行调试。 主要代码如下: void initialize()//种群初始化 { srand(time(NULL));

人工智能习题答案

1 .设有下列语句,请用相应的谓词公式把它们表示出来: (1)有的人喜欢梅花,有的人喜欢菊花,有的人既喜欢梅花又喜欢菊花。答:定义谓词:MAN(X):X是人,LIKE(X,Y):X喜欢Y ((?X)(MAN(X)∧LIKE(X, 梅花)) ∧((?Y)(MAN(Y)∧LIKE(Y,菊花))∧((?Z)(MAN(Z)∧(LIKE(Z,梅花)∧LIKE(Z,菊花)) (2)他每天下午都去打篮球。 答:定义谓词:TIME(X):X是下午 PLAY(X,Y):X去打Y (?X)TIME(X) PLAY(他,篮球) (3)并不是每一个人都喜欢吃臭豆腐。 定义谓词:MAN(X):X是人 LIKE(X,Y):X喜欢吃Y ┐((?X)MAN(X)LIKE(X,CHOUDOUFU)) 2 .请对下列命题分别写出它的语义网络: (1)钱老师从 6 月至8 月给会计班讲《市场经济学》课程。 (2)三是大发电脑公司的经理,他35 岁,住在飞天胡同68 号。

(3)甲队与乙队进行蓝球比赛,最后以89 :102 的比分结束。 3. 框架表示法 一般来讲,教师的工作态度是认真的,但行为举止有些随便,自动化系教师一般来讲性格向,喜欢操作计算机。方园是自动化系教师,他性格向,但工作不刻苦。试用框架写出上述知识,并求出方圆的兴趣和举止? 答: 框架名:<教师> 继承:<职业> 态度:认真 举止:随便 框架名:<自动化系教师> 继承:<教师> 性格:向 兴趣:操作计算机框架名:<方园>

继承:<自动化系教师> 性格:向 态度:不刻苦 兴趣:操作计算机 举止:随便 4. 剧本表示法 作为一个电影观众,请你编写一个去电影院看电影的剧本。 答: (1) 开场条件 (a) 顾客想看电影 (b) 顾客在足够的钱 (2) 角色 顾客,售票员,检票员,放映员 (3) 道具 钱,电影票 (4) 场景 场景1 购票 1. 顾客来到售票处 2. 售票员把票给顾客 3. 顾客把钱给售票员 4. 顾客走向电影院门 场景2 检票 1. 顾客把电影票给检票员 2. 检票员检票 3. 检票员把电影票还给顾客 4. 顾客进入电影院 场景3 等待 1. 顾客找到自己的座位 2. 顾客坐在自己座位一等待电影开始 场景4 观看电影

(人工智能)人工智能作业答案

(人工智能)人工智能作业 答案

人工智能作业答案(2) 第三章确定性推理 什么是推理?它有哪些分类方法? P74 所谓推理是指按照某种策略从已知事实出发去推出结论的过程。知识推理是指于计算机或智能机器中,于知识表达的基础上,利用形式化的知识模型,进行机器思维求解问题,实现状态转移的智能操作序列。 根据知识表示方式分类:“图搜索”方法、“逻辑论证”方法; 根据推理算法和推理步骤分类; 根据启发式和非启发式分类; 根据逻辑基础分类:演绎推理、归纳推理、默认(缺省)推理; 根据知识的确定性分类:确定性推理、非确定性推理; 根据推理过程的单调性分类:单调推理、非单调推理。 推理中的冲突消解策略有哪些? P82 冲突消解的基本思想是:对可用知识排序。具体地讲,包括以下策略: a)特殊知识优先 b)新鲜知识优先 c)差异性大的知识优先 d)领域特点优先 e)上下文关系优先 f)前提条件少者优先 什么是置换?什么是合壹?什么是最壹般合壹?

P88-89 置换:于谓词表达式中用置换项置换变量。 合壹:寻找项对变量的置换,以使表达式壹致。 最壹般合壹(mgu):通过置换最少的变量以使表达式壹致,这个置换就叫最壹般合壹。判断下列公式是否能够合壹,若可合壹,则求出其最壹般合壹。 (1)P(a,b),P(x,y) {a/x,b/y} (2)P(f(x),b),P(y,z) {f(x),b/z} (3)P(f(x),y),P(y,f(b)) {b/x,f(b)/y} (4)P(f(y),y,x),P(x,f(a),f(b)) {f(y)/x,f(a)/y,f(b)/x}不可合壹 (5)P(x,y),P(y,x) {x/y,y/x}不可合壹 把下列谓词公式化成子句集: (1)(x)(y)(P(x,y)∧Q(x,y)) {P(x,y),Q(z,w)} (2)(x)(y)(P(x,y)→Q(x,y)) {┐P(x,y)∨Q(x,y)} (3)(x)(y)(P(x,y)∨(Q(x,y)→R(x,y))) (x)(y)(P(x,y)∨(┐Q(x,y)∨R(x,y)))

人工智能实验报告

****大学 人工智能基础课程实验报告 (2011-2012学年第一学期) 启发式搜索王浩算法 班级: *********** 学号: ********** 姓名: ****** 指导教师: ****** 成绩: 2012年 1 月 10 日

实验一 启发式搜索算法 1. 实验内容: 使用启发式搜索算法求解8数码问题。 ⑴ 编制程序实现求解8数码问题A *算法,采用估价函数 ()()()() w n f n d n p n ??=+???, 其中:()d n 是搜索树中结点n 的深度;()w n 为结点n 的数据库中错放的棋子个数;()p n 为结点n 的数据库中每个棋子与其目标位置之间的距离总和。 ⑵ 分析上述⑴中两种估价函数求解8数码问题的效率差别,给出一个是()p n 的上界的()h n 的定义,并测试使用该估价函数是否使算法失去可采纳性。 2. 实验目的 熟练掌握启发式搜索A *算法及其可采纳性。 3. 实验原理 使用启发式信息知道搜索过程,可以在较大的程度上提高搜索算法的时间效率和空间效率; 启发式搜索的效率在于启发式函数的优劣,在启发式函数构造不好的情况下,甚至在存在解的情形下也可能导致解丢失的现象或者找不到最优解,所以构造一个优秀的启发式函数是前提条件。 4.实验内容 1.问题描述 在一个3*3的九宫格 里有1至8 八个数以及一个空格随机摆放在格子中,如下图: 初始状态 目标状态 现需将图一转化为图二的目标状态,调整的规则为:每次只能将空格与其相邻的一个数字进行交换。实质是要求给出一个合法的移动步骤,实现从初始状态到目标状态的转变。 2.算法分析 (1)解存在性的讨论 对于任意的一个初始状态,是否有解可通过线性代数的有关理论证明。按数组存储后,算出初始状态的逆序数和目标状态的逆序数,若两者的奇偶性一致,则表明有解。 (2)估价函数的确定

人工智能_实验报告

实验一:知识表示方法 一、实验目的 状态空间表示法是人工智能领域最基本的知识表示方法之一,也是进一步学习状态空间搜索策略的基础,本实验通过牧师与野人渡河的问题,强化学生对知识表示的了解和应用,为人工智能后续环节的课程奠定基础。 二、问题描述 有n个牧师和n个野人准备渡河,但只有一条能容纳c个人的小船,为了防止野人侵犯牧师,要求无论在何处,牧师的人数不得少于野人的人数(除非牧师人数为0),且假定野人与牧师都会划船,试设计一个算法,确定他们能否渡过河去,若能,则给出小船来回次数最少的最佳方案。 三、基本要求 输入:牧师人数(即野人人数):n;小船一次最多载人量:c。 输出:若问题无解,则显示Failed,否则,显示Successed输出一组最佳方案。用三元组(X1, X2, X3)表示渡河过程中的状态。并用箭头连接相邻状态以表示迁移过程:初始状态->中间状态->目标状态。 例:当输入n=2,c=2时,输出:221->110->211->010->021->000 其中:X1表示起始岸上的牧师人数;X2表示起始岸上的野人人数;X3表示小船现在位置(1表示起始岸,0表示目的岸)。 要求:写出算法的设计思想和源程序,并以图形用户界面实现人机交互,进行输入和输出结果,如: Please input n: 2 Please input c: 2 Successed or Failed?: Successed Optimal Procedure: 221->110->211->010->021->000 四、实验组织运行要求 本实验采用集中授课形式,每个同学独立完成上述实验要求。

五、实验条件 每人一台计算机独立完成实验。 六、实验代码 Main.cpp #include #include"RiverCrossing.h" using namespace std; //主函数 void main() { RiverCrossing::ShowInfo(); int n, c; cout<<"Please input n: "; cin>>n; cout<<"Please input c: "; cin>>c; RiverCrossing riverCrossing(n, c); riverCrossing.solve(); system("pause"); } RiverCrossing.h #pragma once #include //船 class Boat { public: static int c; int pastor;//牧师 int savage;//野人 Boat(int pastor, int savage); }; //河岸状态 class State

相关主题
文本预览
相关文档 最新文档