文档视界 最新最全的文档下载
当前位置:文档视界 › 人工智能导论课程指导书

人工智能导论课程指导书

人工智能导论课程指导书
人工智能导论课程指导书

人工智能导论课程实验指导书

廉师友编

计算机工程实验室

2007年3月

目录

1. 小型专家系统设计与实现 (2)

专家系统涉及人工智能导论课程的大部分内容,而且实践性和应用性都很强。因此,本课程将专家系统设计与实现作为一个上机实验项目。该实验是一个设计性实验,它对加深课程内容的理解和掌握,培养学生运用所学知识开发智能系统的能力有重要意义。

一、实验名称

小型专家系统设计与实现

二、实验目的

1. 加深理解专家系统的结构原理与实际应用。

2. 初步掌握知识获取的基本方法。

3. 掌握产生式规则知识表示方法及其编程实现方法。

4. 初步掌握知识库的组建方法。

5. 加深理解推理机的算法原理并初步掌握其编程实现方法。

三、实验内容

运用所学知识,设计并编程实现一个小型专家系统(如分类、诊断、预测等类型)。

四、基本要求

1. 具体应用领域自选,具体系统名称自定;但所做系统绝对不能雷同。

2. 用产生式规则作为知识表示,用产生系统实现该专家系统。

3. 可用PROLOG语言编程并参考下面示例程序;但也可用其他语言另行编

程。

4. 所实现的专家系统必须上机运行演示;程序运行时,应有人机对话过程。

5. 系统完成后,要提交实验报告。

五、实验步骤

具体工作及步骤为:

1. 选题。

2. 系统分析。

3. 知识获取与知识表示选择/设计。

4. 知识库组建。

5. 推理机选择/编制。

6. 系统调试与测试:可先运行一两个简单的PROLOG程序,以熟悉语言环境;接着运行示例程序;然后编辑、调试、测试自己的系统程序。

7. 撰写实验报告。

六、系统示例

考虑到本实验有一定难度,下面给出一个“小型动物分类专家系统”示例,以供参考。

1. 动物分类规则集

(1)若某动物有奶,则它是哺乳动物。

(2)若某动物有毛发,则它是哺乳动物。

(3)若某动物有羽毛,则它是鸟。

(4)若某动物会飞且生蛋,则它是鸟。

(5)若某动物是哺乳动物且有爪且有犬齿且目盯前方,则它是食肉动物。

(6)若某动物是哺乳动物且吃肉,则它是食肉动物。

(7)若某动物是哺乳动物且有蹄,则它是有蹄动物。

(8)若某动物是有蹄动物且反刍食物,则它是偶蹄动物。

(9)若某动物是食肉动物且黄褐色且有黑色条纹,则它是老虎。

(10)若某动物是食肉动物且黄褐色且有黑色斑点,则它是金钱豹。

(11)若某动物是有蹄动物且长腿且长脖子且黄褐色且有暗斑点,则它是长颈鹿。

(12)若某动物是有蹄动物且白色且有黑色条纹,则它是斑马。

(13)若某动物是鸟且不会飞且长腿且长脖子且黑白色,则它是驼鸟。

(14)若某动物是鸟且不会飞且会游泳且黑白色,则它是企鹅。

(15)若某动物是鸟且善飞且不怕风浪,则它是海燕。

下面是该规则集所形成的(部分)推理网络:

2. 源程序

database

xpositive(symbol,symbol)

xnegative(symbol,symbol)

predicates

run

positive(symbol, symbol)

negative(symbol, symbol)

clear_facts

remember(symbol, symbol, symbol)

ask(symbol, symbol)

goal

run.

clauses

run:-

animal_is(X),!,

write("\nYour animal may be a(n) ", X),

nl, nl, clear_facts.

run:-

write("\nUnable to determine what"),

write("your animal is. \n\n"),

positive(X, Y):-xpositive(X, Y),!.

positive(X, Y):-not(xnegative(X, Y)), ask(X, Y).

negative(X, Y):-xnegative(X,Y), !.

negative(X, Y):-not(xpositive(X, Y)), ask(X, Y).

ask(X, Y):-

write(X, " it ", Y, "\n"),

readln(Reply),

remember(X, Y, Reply).

remember(X, Y, y):-asserta(xpositive(X, Y)).

remember(X, Y, n):-asserta(xnegative(X, Y)), fail.

clear_facts:-retract(xpositive(_, _)), fail.

clear_facts:-retract(xnegative(_, _)), fail.

clear_facts:-write("\n\nPlease press the space bar to Exit"), readchar(_).

animal_is(cheetah):-

it_is(carnivore),

positive(has, tawny_color),

positive(has, black_spots).

animal_is(tiger):-

it_is(carnivore),

positive(has, tawny_color),

positive(has, black_stripes).

animal_is(giraffe):-

it_is(ungulate),

positive(has, long_neck),

positive(has, long_legs),

positive(has, dark_spots).

animal_is(zebra):-

it_is(ungulate),

positive(has, black_stripes).

animal_is(ostrich):-

it_is(bird),

negative(does, fly),

positive(has, long_neck),

positive(has, long_legs),

positive(has, black_and_white_color). animal_is(penguin):-

it_is(bird),

negative(does, fly),

positive(does, swim),

positive(has, black_and_white_color).

animal_is(albatross):-

it_is(bird),

positive(does, fly_well).

it_is(mammal):-

positive(has, hair).

it_is(mammal):-

positive(does, give_milk).

it_is(bird):-

positive(has, feathers).

it_is(bird):-

positive(does, fly),

positive(does, lay_eggs).

it_is(carnivore):-

positive(does, eat_meat).

it_is(carnivore):-

it_is(mammal),

positive(has, pointed_teeth),

positive(has, claws),

positive(has,forward_eyes).

it_is(ungulate):-

it_is(mammal),

positive(has, hooves).

it_is(ungulate):-

it_is(mammal),

positive(does, chew_cud).

需要说明的是,严格来讲,该专家系统程序中并无显式的推理机,而是利用了PROLOG语言本身的推理机制实现推理的。这就是说,用PROLOG编写专家系统程序,可以省去推理机部分。如果用其他语言编程,推理机则是必不可少的。当然,用PROLOG编写专家系统程序,也可以不用它自身的推理机作为所实现的专家系统的推理机,而用户自己重新编写一个显式的推理机,这可根据问题和需要而定。如果要重新编写推理机,一般说来,规则就要用PROLOG的事实来实现。知识库就要用PROLOG的动态数据库来实现。

当然,以上实习也可用C或C++编程,但工作量要大得多。

七、实验报告

实验报告用学校统一的实验报告纸书写,表头严格按其要求填写,其中“实验名称”后填:小型专家系统设计与实现。下面是实验报告的基本内容和书写格式。——————————————————————————————————

一、实验目的

加深对专家系统的理解,初步掌握专家系统的设计与实现方法。

二、实验内容

运用所学知识,设计并编程实现一个小型专家系统。

三、实验步骤

1. 选题。

2. 系统分析。

3. 知识获取与知识表示选择/设计。

4. 知识库组建。

5. 推理机选择/编制。

6. 系统调试与测试。

四、实验结果

1. 系统名称

〈所做系统的名称〉

2. 系统概述

(包括所做系统的背景和主要功能等。)

3. 产生式规则集文本

4. 系统运行演示过程

(1) 输入的初始事实或数据:

(2) 系统运行时产生的推理树(网):

(3) 输出的结果:

5. 源程序清单——————————————————————————————————

人工智能实验报告大全

人工智能实验报告大 全

人工智能课内实验报告 (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)

人工智能引论复习题

人工智能:是边缘学科.主要研究如何用计算机模仿和实现人类的智能. 符号主义(主流学派):认为人的认知基元是符号,认知过程即符号操作过程;认为人是一个物理符号系统,计算机也是一个物理符号系统,因此,能用计算机来模拟人的智能行为;认为知识是信息的一种形式,是构成智能的基础.人工智能的核心问题是知识表示、知识推理和知识运用. 连结主义:认为思维基元是神经元,而不是符号处理过程;认为人脑不同于电脑,并提出连结主义的大脑工作模式,用于取代符号操作的电脑工作模式 行为主义:认为智能取决于感知和行动(所以被称为行为主义),提出智能行为的“感知—动作”模式;认为智能不需要知识、不需要表示、不需要推理;人工智能可以象人类智能一样逐步进化(所以称为进化主义);智能行为只能在现实世界中与周围环境交互作用而表现出来. 确定性推理是建立在确定性知识和证据的基础上的推理.从确定的初始证据出发,通过运用确定性知识,最终推出具有一定程度的确定性但却又是合理或基本合理的结论. 知识是人们在改造客观世界的实践中形成的对客观事物(包括自然的和人造的)及其规律的认识,包括对事物的现象、本质、状态、关系、联系和运动等的认识. 知识表示方式(把知识用计算机可接受的符号并以某种形式描述出来)一阶谓词逻辑、产生式表示、状态空间图表示、与或图表示、语义网络、框架结构表示,还有问题归纳法、面向对象法等. 机器学习是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能.它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎. 机器学习的基本系统结构:环境向系统的学习部分提供某些信息,学习部分利用这些信息修改知识库,以增进系统执行部分完成任务的效能,执行部分根据知识库完成任务,同时把获得的信息反馈给学习部分.在具体的应用中,环境,知识库和执行部分决定了具体的工作内容,学习部分所需要解决的问题完全由上述3部分确定.下面我们分别叙述这3部分对设计学习系统的影响. 所有的人都是要死的,苏格拉底是人,所以苏格拉底是要死的. 令P(x):x是人,Q(x):x是要死的:(x)(P(x)→Q(x))∧P(苏格拉底)→Q(苏格拉底) 证明(1) ( x)(P(x)→Q(x)) 前提 (2) P(苏格拉底)→Q(苏格拉底) 全称量词消去 (3) P(苏格拉底) 前提 (4) Q(苏格拉底) (2)(3) 分离 每个学术会议的成员是专家,有些成员是年轻人,所有有的成员是年轻专家. 令P(x):x是专家,Q(x):x是年轻人,R(x)表x是学术会议成员: (X)(R(x)→P(X));(?X) (R(x)∧Q(X));(?X)(Q(X)∧P(X)) 证明(1)(?X) (R(x)∧Q(X)) P (2) R(a)∧Q(a)ES(1) (3)R(a)T(1)I (4) (X)(R(x)∧P(X))P (5)R(a)→P(a)US(4) (6) P(a) T(3) (5)I (7)Q(a) T(2)I (8)Q(a)∧P(a) T(6) (7)I (9)(?X) (Q(x)∧P(X)) EG(8) 任何鸵鸟都不会飞,多有雌鸵鸟都是鸵鸟,所以,所有雌鸵鸟都不会飞. 设P(x):x是鸵鸟;Q(x):x会飞;R(x):x是雌鸟. ?x(P(x)→?Q(x)),

人工智能实验报告

《人工智能》课外实践报告 项目名称:剪枝法五子棋 所在班级: 2013级软件工程一班 小组成员:李晓宁、白明辉、刘小晶、袁成飞、程小兰、李喜林 指导教师:薛笑荣 起止时间: 2016-5-10——2016-6-18

项目基本信息 一、系统分析 1.1背景

1.1.1 设计背景 智力小游戏作为人们日常休闲娱乐的工具已经深入人们的生活,五子棋更成为了智力游戏的经典,它是基于AI的αβ剪枝法和极小极大值算法实现的人工智能游戏,让人们能和计算机进行对弈。能使人们在与电脑进行对弈的过程中学习五子棋,陶冶情操。并且推进人们对AI的关注和兴趣。 1.1.2可行性分析 通过研究,本游戏的可行性有以下三方面作保障 (1)技术可行性 本游戏采用Windows xp等等系统作为操作平台,使用人工智能进行算法设计,利用剪枝法进行编写,大大减少了内存容量,而且不用使用数据库,便可操作,方便可行,因此在技术上是可行的。 (2)经济可行性 开发软件:SublimText (3)操作可行性 该游戏运行所需配置低、用户操作界面友好,具有较强的操作可行性。 1.2数据需求 五子棋需要设计如下的数据字段和数据表: 1.2.1 估值函数:

估值函数通常是为了评价棋型的状态,根据实现定义的一个棋局估值表,对双方的棋局形态进行计算,根据得到的估值来判断应该采用的走法。棋局估值表是根据当前的棋局形势,定义一个分值来反映其优势程度,来对整个棋局形势进行评价。本程序采用的估值如下: 状态眠二假活三眠三活二冲四假活三活三活四连五 分值 2 4 5 8 12 15 40 90 200 一般来说,我们采用的是15×15的棋盘,棋盘的每一条线称为一路,包括行、列和斜线,4个方向,其中行列有30路,两条对角线共有58路,整个棋盘的路数为88路。考虑到五子棋必须要五子相连才可以获胜,这样对于斜线,可以减少8路,即有效的棋盘路数为72路。对于每一路来说,第i路的估分为E(i)=Ec(i)-Ep(i),其中Ec(i)为计算机的i路估分,Ep(i)为玩家的i路估分。棋局整个形势的估值情况通过对各路估分的累加进行判断,即估值函数: 72 F(n)= Σ E(i) i=1 1.2.2 极小极大值算法: 极大极小搜索算法就是在博弈树在寻找最优解的一个过程,这主要是一个对各个子结点进行比较取舍的过程,定义一个估值函数F(n)来分别计算各个终结点的分值,通过双方的分值来对棋局形势进行分析判断。以甲乙两人下棋为例,甲为max,乙为min。当甲走棋时,自然在博弈树中寻找最大点的走法,轮到乙时,则寻找最小点的走法,如此反复,这就是一个极大极小搜索过程,以此来寻找对机器的最佳走法。

《人工智能导论》课程研究总结

《人工智能导论》课程研究总结题目:BP神经网络的非线性函数拟合 班级: 姓名: 学号: 年月日

本次作业我负责程序的编写,过程如下 Matlab软件中包含Matlab神经网络工具箱。它是以人工神经网络理论为基础,用Matlab语言构造出了该理论所涉及的公式运算、矩阵操作和方程求解等大部分子程序以用于神经网络的设计和训练。用户只需根据自己的需要调用相关的子程序,即可以完成包括网络结构设计、权值初始化、网络训练及结果输出等在内的一系列工作,免除编写复杂庞大程序的困扰。目前,Matlab神经网络工具包包括的网络有感知器、线性网络、BP神经网络、径向基网络、自组织网络和回归网络等。BP神经网络主要用到newff、sim和train3个神经网络函数,各函数解释如下。 1、newff:BP神经网络参数设置函数 函数功能:构建一个BP神经网络。 函数形式:net = newff(P,T,S,TF,BTF,BLF,PF,IPF,OPF,DDF) P:输入数据矩阵。 T:输出数据矩阵。 S:隐含层结点数。 TF:结点传递函数,包括硬限幅传递函数hardlim,对称硬限幅传递函数hardlims,线性传递函数pureline,正切S型传递函数tansig,对数S型传递函数logsig。 BTF:训练函数,包括梯度下降BP算法训练函数traingd,动量反传的梯度下降BP算法训练函数traingdm,动态自适应学习率的梯度下降BP算法训练函数traingda,动量反传和动态自适应学习率的梯度下降BP算法训练函数traingdx,Levenberg_Marquardt的BP算法训练函数trainlm。 BLF:网络学习函数,包括BP学习规格learngd,带动量项的BP学习规则learngdm。 PF:性能分析函数,包括均值绝对误差性能分析函数mae,均方差性能分析函数mse。 IPF:输入处理函数。 OPF:输出处理函数。 DDF:验证数据划分函数。 一般在使用过程中设置前面6个参数,后面4个参数采用系统默认参数。 2、train:BP神经网络训练函数 函数功能:用训练数据训练BP神经网络。 函数形式:[net,tr] = train(NET,X,T,Pi,Ai) NET:待训练网络。

《人工智能导论》课程期末考试试卷二 答案 (上海交大)

一、选择题答案1、A2、A 二、填空题答案 1、基于规则的正向演绎系统使用的条件是(1)事实表达式是任意形式(2)规则形式为L→W或L1∨L2→W,其中L为单文字,W为任意形(3)目标公式为文字析取形 2、基于规则的逆向演绎系统使用的条件是(1)事实表达式是文字合取形(2)规则形式为W→L 或W→L1∧L2 ,其中L为单文字,W为任意形(3)目标公式为任意形式 3、归结法中,可以通过修改证明树的方法得到问题的解答。 三、问答题答案 第1题答:

得解图:

第2题 第3题 答:综合数据库: (m1, m5, m9, b) 设从河的左岸到右岸,其中m1, m5,m9分别表示过河时间需要1分钟,5分钟和9分钟的人,在河左岸的人数。b=1表示船在左岸,b=0表示船在右岸。规则集: 初始状态:(2, 1, 1, 1) 结束状态:(0, 0, 0, 0) h函数:h(n) = m - b,其中m为在左岸的人数,b为船是否在左岸。 对于任意两个节点ni和nj,其中nj是ni的子节点。 当ni中b=1时,则nj中b=0,因此:max(h(ni)-h(j))=(m-1)-(m-1)=0, 而C(ni, nj)最小为1, 因此h(ni)-h(nj)

因此该h函数满足单调性条件。所以h满足A*条件。 第4题 答:对事实和规则进行skolem化: (1)(s) ~P(a) (2)(s)(P(g(s))) P(g(s)) (3)(x)(s)(y)((P(s)∧Q(b,x,s))→H(y) (P(s)∧Q(b,c,s))→H(f(s)) (4)(x)(s)(Q(b,x,s)→Q(b,x,g(s))) Q(b,x,s)→Q(b,x,g(s)) (5)(x)(s)(y)(~P(s)→Q(b,x,y)) ~P(s)→Q(b,x,h(x, s)) 经变量换名后,有事实和规则如下: ~P(a) P(g(s1)) r1: (P(s2)∧Q(b,c,s2))→H(f(s2)) r2: Q(b,x3,s3)→Q(b,x3,g(s3)) r3: ~P(s4)→Q(b,x4,h(x4, s4)) 用对偶形式对目标skolem 化: (x)H(x) H(x) 演绎图如下图(这里只给出了一个一致解图)。

公需公需科目3人工智能导论答案

公需科目3 人工智能导论答案 1、(单选,4分) 当前最流行的深度学习属于() A、连接主义 B、符号注意 C、行为主义 D、经验主义 答案:A 2、(单选,4分) AI是()的英文缩写 A、Automatic?Intelligence B、Artificial Intelligence C、Automatice?Information D、Artifical?Information 答案:B 3、(单选,4分) 下列哪个不是人工智能的研究领域() A、机器学习 B、图像处理 C、自然语言处理 D、编译原理 答案:D

4、(单选,4分) ()最早提出了机器智能的测试模型,并提出了人工智能的含义 A、爱因斯坦 B、霍金 C、波尔 D、图灵 答案:D 5、(单选,4分) 人工智能的目的是让机器能够( ),以实现某些脑力劳动的机械化。 A、具有完全的智能 B、和人脑一样考虑问题 C、完全代替人 D、模拟、延伸和扩展人的智能 答案:D 6、(单选,4分) 下列关于人工智能的叙述不正确的有( ) A、人工智能技术它与其他科学技术相结合极大地提高了应用技术的智能化水平。 B、人工智能是科学技术发展的趋势。 C、因为人工智能的系统研究是从上世纪五十年代才开始的,非常新,所以十分重要。 D、人工智能有力地促进了社会的发展。 答案:C 7、(单选,4分) 自然语言理解是人工智能的重要应用领域,下面列举中的()不是它要实现的目标。 A、理解别人讲的话。 B、对自然语言表示的信息进行分析概括或编辑。 C、欣赏音乐。

D、机器翻译。 答案:C 8、(单选,4分) 一般来讲,下列语言不常直接用于人工智能开发的是()。 A、Python B、Go C、R D、汇编语言 答案:D 9、(单选,4分) 确定性知识是指()知识。 A、可以精确表示的 B、正确的 C、在大学中学到的知识 D、能够解决问题的 答案:A 10、(单选,4分) 阿尔法狗打败柯洁,用的是() A、人工思维 B、机器思维 C、人工智能 D、博弈论 答案:C 11、(单选,4分) 下列( )不属于艾莎克.阿莫西夫提出的“机器人三定律”内容? A、机器人不得伤害人,或任人受到伤害而无所作为

(完整word版)哈工大人工智能导论实验报告

人工智能导论实验报告 学院:计算机科学与技术学院 专业:计算机科学与技术 2016.12.20

目录 人工智能导论实验报告 (1) 一、简介(对该实验背景,方法以及目的的理解) (3) 1. 实验背景 (3) 2. 实验方法 (3) 3. 实验目的 (3) 二、方法(对每个问题的分析及解决问题的方法) (4) Q1: Depth First Search (4) Q2: Breadth First Search (4) Q3: Uniform Cost Search (5) Q4: A* Search (6) Q5: Corners Problem: Representation (6) Q6: Corners Problem: Heuristic (6) Q7: Eating All The Dots: Heuristic (7) Q8: Suboptimal Search (7) 三、实验结果(解决每个问题的结果) (7) Q1: Depth First Search (7) Q2: Breadth First Search (9) Q3: Uniform Cost Search (10) Q4: A* Search (12) Q5: Corners Problem: Representation (13) Q6: Corners Problem: Heuristic (14) Q7: Eating All The Dots: Heuristic (14) Q8: Suboptimal Search (15) 自动评分 (15) 四、总结及讨论(对该实验的总结以及任何该实验的启发) (15)

2019公需科目《人工智能导论》答案

请选择答案。 1、(单选,4分) 当前最流行的深度学习属于() A、连接主义 B、符号注意 C、行为主义 D、经验主义 答案:A 2、(单选,4分) AI是()的英文缩写 A、Automatic?Intelligence B、Artificial Intelligence C、Automatice?Information D、Artifical?Information 答案:B 3、(单选,4分) 下列哪个不是人工智能的研究领域() A、机器学习 B、图像处理 C、自然语言处理 D、编译原理 答案:D 4、()最早提出了机器智能的测试模型,并提出了人工智能的含义 A、爱因斯坦 B、霍金 C、波尔 D、图灵 答案:D

5、(单选,4分) 人工智能的目的是让机器能够( ),以实现某些脑力劳动的机械化。 A、具有完全的智能 B、和人脑一样考虑问题 C、完全代替人 D、模拟、延伸和扩展人的智能 答案:D 6、(单选,4分) 下列关于人工智能的叙述不正确的有( ) A、人工智能技术它与其他科学技术相结合极大地提高了应用技术的智能化水平。 B、人工智能是科学技术发展的趋势。 C、因为人工智能的系统研究是从上世纪五十年代才开始的,非常新,所以十分重要。 D、人工智能有力地促进了社会的发展。 答案:C 7、(单选,4分) 自然语言理解是人工智能的重要应用领域,下面列举中的()不是它要实现的目标。 A、理解别人讲的话。 B、对自然语言表示的信息进行分析概括或编辑。 C、欣赏音乐。 D、机器翻译。 答案:C 8、(单选,4分) 一般来讲,下列语言不常直接用于人工智能开发的是()。 A、Python B、Go C、R

人工智能实验报告

计算机科学与技术1341901301 敏 实验一:知识表示方法 一、实验目的 状态空间表示法是人工智能领域最基本的知识表示方法之一,也是进一步学习状态空间搜索策略的基础,本实验通过牧师与野人渡河的问题,强化学生对知识表示的了解和应用,为人工智能后续环节的课程奠定基础。 二、问题描述 有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 四、算法描述 (1)算法基本思想的文字描述;

三子棋c代码

三子棋问题 一目的 运用所学课程的知识来研究、解决一些具有一定综合性问题的专业课题。通过课程设计提高学生综合运用所学知识来解决实际问题及进行科学实验或技术设计的初步能力。 二需求分析 1、该程序主要为设计简单的三子棋游戏; 2、三子棋问题即在3 * 3的二维数组上下棋,只要有棋子在行、列或对角线连成一线即取得胜利。 3、可实现玩家与电脑对弈。 三概要设计 1、主函数模块 int main() { do{ 开始新的对弈; }while(玩家选择停止游戏); return 0; } 2、调用函数模块 ①int chess(); /*函数功能:开始对弈 函数参数:无 函数返回值:return 0*/ { 初始化棋局; 选择玩家或电脑先行; do{ //开始下棋 输出当前棋局; if(该玩家走棋) { do{

玩家输出走棋位置; 检查走棋位置的合法性; }while(玩家输入合法的位置); } else if(电脑走棋) { 调用函数使电脑走棋 } 判断是否有一方胜出; }while(有一方胜出或平局); printf("最终棋局:\n"); 输出最终棋局; if(平局) 输出平局; } ②int check(char *chess,char sign); /*函数功能:使用了指针,判断位置可行则走棋,不可行则返回值为1 函数参数:使用指针传递棋局,以及欲走棋的位置 函数返回值:0代表可以走棋,1代表不可走棋 */ { 判断走棋位置是否合法; 不合法则返回1; 否则返回0; } ③int judge(char *chess); /*函数功能:判断是否有胜出 函数参数:当前棋局 函数返回值:0代表未有胜出,1代表玩家胜出,2代表电脑胜出*/ { for(行检查) { if(某行三子连线) { if(连线棋子为‘O’) 玩家胜出; else 电脑胜出; } } for(列检查)//思想同上 if(对角三字连线检查)//思想同上

《人工智能导论》期末复习知识点

《人工智能导论》期末复习知识点 选择题知识点 1.人工智能、人工神经网络、机器学习等人工智能中常用词的英文及其英文缩写。 人工智能Artificial Intelligence,AI 人工神经网络Artificial Neural Network,ANN 机器学习Machine Learning,ML 深度学习Deep Learning,DL 2.什么是强人工智能? 强人工智能观点认为有可能制造出真正能推理(Reasoning)和解决问题(Problem_solving)的智能机器,并且,这样的机器将被认为是有知觉的,有自我意识的。可以独立思考问题并制定解决问题的最优方案,有自己的价值观和世界观体系。有和生物一样的各种本能,比如生存和安全需求。在某种意义上可以看作一种新的文明。 3.回溯算法的基本思想是什么? 能进则进。从一条路往前走,能进则进,不能进则退回来,换一条路再试。 4.面向对象、产生式系统、搜索树的定义? 面向对象(Object Oriented)是软件开发方法,一种编程范式。面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。 把一组产生式放在一起,让它们相互配合,协同工作,一个产生式生成的结论可以供另一个产生式作为前提使用,以这种方式求得问题的解决的系统就叫作产生式系统。 对于需要分析方法,诸如深度优先搜索和广度优先搜索(穷尽的方法)以及启发式搜索(例如最佳优先搜索和A*算法),这样的问题使用搜索树表示最合适。 5.机器学习的基本定义是什么? 机器学习是一门研究及其获取新知识和新技能,并识别现有知识的学问。6.智慧地球的概念,智慧地球提出的背景是怎样的?

人工智能导论课参考答案第2章

第2章知识表示方法部分参考答案 2.8设有如下语句,请用相应的谓词公式分别把他们表示出来: (1)有的人喜欢梅花,有的人喜欢菊花,有的人既喜欢梅花又喜欢菊花。 解:定义谓词 P(x):x是人 L(x,y):x喜欢y 其中,y的个体域是{梅花,菊花}。 将知识用谓词表示为: (?x )(P(x)→L(x, 梅花)∨L(x, 菊花)∨L(x, 梅花)∧L(x, 菊花)) (2) 有人每天下午都去打篮球。 解:定义谓词 P(x):x是人 B(x):x打篮球 A(y):y是下午 将知识用谓词表示为: (?x )(?y) (A(y)→B(x)∧P(x)) (3)新型计算机速度又快,存储容量又大。 解:定义谓词 NC(x):x是新型计算机 F(x):x速度快 B(x):x容量大 将知识用谓词表示为: (?x) (NC(x)→F(x)∧B(x)) (4) 不是每个计算机系的学生都喜欢在计算机上编程序。 解:定义谓词 S(x):x是计算机系学生 L(x, pragramming):x喜欢编程序 U(x,computer):x使用计算机 将知识用谓词表示为: ?(?x) (S(x)→L(x, pragramming)∧U(x,computer)) (5)凡是喜欢编程序的人都喜欢计算机。 解:定义谓词 P(x):x是人 L(x, y):x喜欢y 将知识用谓词表示为: (?x) (P(x)∧L(x,pragramming)→L(x, computer))

2.9用谓词表示法求解机器人摞积木问题。设机器人有一只机械手,要处理的世界有一张桌子,桌上可堆放若干相同的方积木块。机械手有4个操作积木的典型动作:从桌上拣起一块积木;将手中的积木放到桌之上;在积木上再摞上一块积木;从积木上面拣起一块积木。积木世界的布局如下图所示。 图机器人摞积木问题 解:(1) 先定义描述状态的谓词 CLEAR(x):积木x上面是空的。 ON(x, y):积木x在积木y的上面。 ONTABLE(x):积木x在桌子上。 HOLDING(x):机械手抓住x。 HANDEMPTY:机械手是空的。 其中,x和y的个体域都是{A, B, C}。 问题的初始状态是: ONTABLE(A) ONTABLE(B) ON(C, A) CLEAR(B) CLEAR(C) HANDEMPTY 问题的目标状态是: ONTABLE(C) ON(B, C) ON(A, B) CLEAR(A) HANDEMPTY (2) 再定义描述操作的谓词 在本问题中,机械手的操作需要定义以下4个谓词: Pickup(x):从桌面上拣起一块积木x。 Putdown(x):将手中的积木放到桌面上。 Stack(x, y):在积木x上面再摞上一块积木y。 Upstack(x, y):从积木x上面拣起一块积木y。 其中,每一个操作都可分为条件和动作两部分,具体描述如下:

人工智能导论1-4章作业

《人工智能导论》作业(1-4章) 1.人工智能有哪几个主要的学派?各学派的基本理论框架和主要研究方向有何不同?2.用谓词逻辑方法表述下面问题积木世界的问题。 (定义谓词、描述状态、定义操作、给出操作序列) 3.请给出下列描述的语义网络表示: 1)11月5日,NBA常规赛火箭主场对阵小牛,火箭107-76大胜小牛。 2)张老师从9月至12月给自动化专业学生教授《自动控制原理》。李老师从10至12月 给计算机专业学生教授《操作系统原理》。 3)树和草都是植物;树和草都有根和叶;水草是草,生活在水中;果树是树,会结果; 苹果树是果树,结苹果。 4.请用相应谓词公式描述下列语句: 1)有的人喜欢足球、有的人喜欢篮球;有的人既喜欢足球又喜欢篮球。 2)喜欢编程的同学都喜欢计算机。 3)不是每个自控系的学生都喜欢编程。 4)有一个裁缝,他给所有不自己做衣服的人做衣服。 5)如果星期六不下雨,汤姆就会去爬山。 5.什么是谓词公式的解释?对于公式?x ?y (P(x)→Q(f(x),y)) D={1,2,3} 分别给出使公式为真和假的一种解释。 6.什么是合一?求出下面公式的最一般合一: P(f(y), y, x) P(x, f(a),z)。 7.把下面谓词公式化为子句集 ?x ?y (P(x,y)∨Q(x,y))→R(x,y)) ?x (P(x) →?y(P(y)∧R(x,y))

?x (P(x)∧?y(P(y) →R(x,y))) 8.证明下面各题中,G是否是F的逻辑结论? F1: ?x (P(x) →?y(Q(y)→L(x,y))) F2: ?x (P(x)∧?y(R(y) →L(x,y))) G: ?x (R(x) →~Q(x)) F1: ?z (~B(z)→?y(D(z,y)∧C(y))) F2: ?x (E(x)∧A(x)∧?y (D(x,y) →E(y))) F3: ?y(E(y) →~B(y)) G: ?z (E(z) ∧C(z)) 9.已知:John, Mike, Sam是高山俱乐部成员。 高山俱乐部成员都是滑雪运动员或登山运动员(也可以都是)。 登山运动员不喜欢雨。 滑雪运动员都喜欢雪。 凡是Mike喜欢的,John就不喜欢。 凡是Mike 不喜欢的,John就喜欢。 Mike喜欢雨和雪。 问:高山俱乐部是否有一个成员,他是登山运动员,但不是滑雪运动员?如果有,他是谁?10.为什么说归结式是其亲本子句的逻辑结论? 11.何为完备的归结策略?有哪些归结策略是完备的? 12.何谓搜索?有哪些常用的搜索方法?盲目搜索与启发式搜索的根本区别是什么?13.用状态空间法表示问题时,什么是问题的解?什么是最优解?在图搜索算法中,OPEN 表和CLOSED表的作用是什么?f(x)有何不同含义? 14.宽度优先搜索和深度优先搜索有何不同?在何种情况下,宽度优先搜索优于深度优先搜索,何种情况反之? 15.什么是启发式搜索,g(x)与h(x)各有什么作用?A*算法的限制条件是什么?

《人工智能导论》课程研究总结

《人工智能导论》课程研究总结 题目:BP神经网络的非线性函数拟合 班级: 姓名: 学号: 年月日 本次作业我负责程序的编写,过程如下 Matlab软件中包含Matlab神经网络工具箱。它是以人工神经网络理论为基础,用Matlab语言构造出了该理论所涉及的公式运算、矩阵操作和方程求解等大部分子程序以用于神经网络的设计和训练。用户只需根据自己的需要调用相关的子程序,即可以完成包括网络结构设计、权值初始化、网络训练及结果输出等在内的一系列工作,免除编写复杂庞大程序的困扰。目前,Matlab神经网络工具包包括的网络有感知器、线性网络、BP神经网络、径向基网络、自组织网络和回归网络等。BP神经网络主要用到newff、sim和train3个神经网络函数,各函数解释如下。 1、newff:BP神经网络参数设置函数 函数功能:构建一个BP神经网络。 函数形式:net = newff(P,T,S,TF,BTF,BLF,PF,IPF,OPF,DDF) P:输入数据矩阵。 T:输出数据矩阵。 S:隐含层结点数。 TF:结点传递函数,包括硬限幅传递函数hardlim,对称硬限幅传递函数hardlims,线性传递函数pureline,正切S型传递函数tansig,对数S型传递函数logsig。 BTF:训练函数,包括梯度下降BP算法训练函数traingd,动量反传的梯度下降BP算法训练函数traingdm,动态自适应学习率的梯度下降BP算法训练函数traingda,动量反传和动态自适应学习率的梯度下降BP算法训练函数traingdx,Levenberg_Marquardt的BP算法训练函数trainlm。 BLF:网络学习函数,包括BP学习规格learngd,带动量项的BP学习规则learngdm。 PF:性能分析函数,包括均值绝对误差性能分析函数mae,均方差性能分析函数mse。IPF:输入处理函数。 OPF:输出处理函数。 DDF:验证数据划分函数。 一般在使用过程中设置前面6个参数,后面4个参数采用系统默认参数。 2、train:BP神经网络训练函数 函数功能:用训练数据训练BP神经网络。 函数形式:[net,tr] = train(NET,X,T,Pi,Ai) NET:待训练网络。 X:输入数据。 T:输出数据。 Pi:初始化输入层条件。 Ai:初始化输出层条件。 net:训练好的网络。 tr:训练过程记录。

人工智能导论在线作业

人工智能导论在线作业集团标准化办公室:[VV986T-J682P28-JP266L8-68PNN]

答:决策树是一种数据挖掘分类算法、是直观运用概率分析的一种图解法、是一个预测模型。 基本方法: 决策树一般由方块结点、圆形结点、方案枝、概率枝等组成,方块结点称为决策结点,由结点引出若干条细支,每条细支代表一个方案,称为方案枝;圆形结点称为状态结点,由状态结点引出若干条细支,表示不同的自然状态,称为概率枝。每条概率枝代表一种自然状态。在每条细枝上标明客观状态的内容和其出现概率。在概率枝的最末稍标明该方案在该自然状态下所达到的结果(收益值或损失值)。这样树形图由左向右,由简到繁展开,组成一个树状网络图。 步骤: a.绘制决策树图。从左到右的顺序画决策树,此过程本身就是对决策问题的再分析过程。 b.按从右到左的顺序计算各方案的期望值,并将结果写在相应方案节点上方。期望值的计算是从右到左沿着决策树的反方向进行计算的。 c.对比各方案的期望值的大小,进行剪枝优选。在舍去备选方案枝上,用“=”记号隔断。 2、什么是知识它有哪些特性列举至少六种知识表示方法 答:经过国内外学者的共同努力,目前已经有许多知识表示方法得到了深入的研究,目前使用较多的知识表示方法主要有:谓词逻辑表示法,产生式表示法、框架表示法、语义网络表示法、表示法、基于本体的知识表示法等。本文将介绍这些知识表示方法的特征和优缺点,进行一些分析和比较。 (1)词逻辑表示法。谓词逻辑表示法是指各种基于(ormalogic)知识表示方式,用逻辑公式描述对象、性质、状况和关系,例如“在轨道上”可以描述成:(npaceshiporbit)它是领域中使用最早和最广泛的知识表示方法之一。其根本目的在于把数学中的逻辑论证符号化,能够采用数学演绎的方式,证明一个新语句是从哪些已知正确的语句推导出来的,那么也就能够断定这个新语句也是正确的。 在这种方法中,识库可以看成一组逻辑公式的集合,识库的修改是增加或删除逻辑公式。使用逻辑法表示知识,将以描述的知识通过引入谓词、函数来加以形式描述,得有关的逻辑公式,而以机器内部代码表示。在逻辑法表示下可采用归结法或其它方法进行准确的推理。

人工智能导论实验

人工智能导论 实验报告 姓名:蔡鹏 学号:1130310726 实验一

一、实验内容 有如下序列,试把所有黑色格移到所有白色格的右边,黄色格代表空格,黑色格和白色格可以和距离不超过三的空格交换。 二、实验代码 #include #include #include #define N 10 #define inf 9999 int g=999; void tree_gener(struct node *fn,struct node *root); struct node { char seq[7]; int f,g,n; struct node *sn[N]; }; struct stack { int num; struct node *n[50]; }; void Enstack(struct node *sn,struct stack *S) { S->n[S->num]=sn; S->num++; } struct node *Destack(struct stack *S) { S->num--; return S->n[S->num]; } void find_min_f(struct node *root) { int i; struct node *n,*min; struct stack S; S.num=0; min=root;

Enstack(root,&S); while(S.num!=0) { n=Destack(&S); if(n->f < min->f) { min=n; } for(i=0;in;i++) { Enstack(n->sn[i],&S); } } tree_gener(min,root); if(g>min->g) { printf("seq:%c %c %c %c %c %c %c | g:%d \n",min->seq[0],min->seq[1],min->seq[2],min->seq[3],min->seq[4],min->seq[5],min->seq[6],min->g); } g=min->g; } void swap(struct node *sn,struct node *fn,int n,int m) { int i; for(i=0;i<7;i++) { sn->seq[i]=fn->seq[i]; } sn->seq[n]=fn->seq[m]; sn->seq[m]=fn->seq[n]; } int calcu_h(char seq[]) { int m=0,n=0,i; for(i=0;i<7;i++) { if(seq[i]=='B') { m++; } if(seq[i]=='W')

智能科学与技术专业培养方案及教学计划10级

信息科学与工程学院 智能科学与技术专业本科培养方案 一、培养目标 培养具备良好的科学素质,系统地掌握智能科学与技术的基本理论、基本知识和基本技能与方法,在智能科学与工程领域具有较强的知识获取能力、知识工程能力和创新创业能力的宽口径复合型高质量以及具有计算机、自动化、电子等交叉学科基础的人才,能在企业、事业、科研部门、教育单位和行政部门等单位从事智能系统、智能信息处理、智能行为决策等方面的科学研究、开发设计、工程应用、决策管理和教学等工作。 二、培养要求 本专业学生主要学习智能科学技术及相关信息科学技术的基础理论和专业知识。学生接受从事科学研究、工程技术开发、教学、管理及应用等方面所需要的基本训练,具备从事智能系统、智能信息处理、智能行为决策等方面研究、开发、应用及管理的综合能力。 毕业生应获得以下几个方面的知识和能力: 1、具有较扎实的自然科学基础,较好的人文社会科学基础和外语能力。 2、系统掌握本专业领域必需的科学技术基础理论知识,主要包括电路理论、模拟电子技术、数字电子技术、自动控制理论、微机原理与接口技术、离散数学、数据结构、脑与认知科学基础、人工智能、智能控制、机器人学导论、计算机仿真技术、数据库技术、网络工程等。 3、较好地掌握智能系统、智能信息处理等方面的专业知识,具有本专业领域1~2个方向的专业知识和技能,了解本专业学科的前沿和发展趋势,获得较好的工程实践训练,具有熟练的计算机应用能力。 4、具有本专业的科学研究、科技开发和组织决策管理能力,具有较强的工作适应能力。 5、能将智能技术与计算机技术、信息处理、控制技术有机结合应用于工程实践,具有创新意识和一定的创新能力。 三、主干学科 控制科学与控制工程、电气工程、计算机科学与技术 四、主要课程和特色课程 本专业主干课程主要包括:电路理论、模拟电子技术、数字电子技术、自动控制理论、微机原理与接口技术、离散数学、数据结构、脑与认知科学基础、人工智能、智能控制、机器人学导论、计算机仿真技术、Web程序设计、语音信号处理、决策支持技术、运筹学、虚拟现实与智能游戏、智能优化算法及其应用、生物特征识别等。

《人工智能导论》教学大纲.

《人工智能导论》教学大纲 大纲说明 课程代码:3235042 总学时:32学时(讲课32学时) 总学分:2学分 课程类别:限制性选修 适用专业:计算机科学与技术,以及有关专业 预修要求:C程序设计语言,数据结构 课程的性质、目的、任务: 人工智能是计算机科学中涉及研究、设计和应用智能机器的一个分支。本课程是计算机科学与技术,以及有关专业重要的专业方向与特色模块课程之一。通过本课程的开设,使学生对人工智能的发展概况、基本原理和应用领域有初步了解,对主要技术及应用有一定掌握,启发学生对人工智能的兴趣,培养知识创新和技术创新能力。 课程教学的基本要求: 人工智能的研究论题包括计算机视觉、规划与行动、多Agent系统、语音识别、自动语言理解、专家系统和机器学习等。这些研究论题的基础是通用和专用的知识表示和推理机制、问题求解和搜索算法,以及计算智能技术等。要求学生掌握这些研究论题的基础知识。 人工智能还提供一套工具以解决那些用其它方法难以解决,甚至无法解决的问题。这些工具包括启发式搜索和规划算法,知识表示和推理形式,机器学习技术,语音和语言理解方法,计算机视觉和机器人学等。要求学生掌握利用其中的重要工具解决给定问题的基本方法。大纲的使用说明: 通过适当调节教学内容和学时安排,减少有关章节学时和增加专家系统这一章的学时,本大纲亦可作为《人工智能与专家系统》的课程教学大纲。 大纲正文 第一章绪论学时:2学时(讲课2学时)了解人类智能与人工智能的含义,人工智能的发展和应用领域;理解人工智能的内涵。 本章讲授要点:在介绍人工智能概念的基础上,使学生了解本课程所涉知识的重要意义,以及人工智能的应用现状和应用前景。

相关文档
相关文档 最新文档