文档库 最新最全的文档下载
当前位置:文档库 › 《人工智能》课程设计报告--动物识别系统

《人工智能》课程设计报告--动物识别系统

《人工智能》课程设计报告--动物识别系统
《人工智能》课程设计报告--动物识别系统

计算机科学与技术学院

《人工智能》课程设计报告

设计题目:动物识别系统

设计人员:学号:

学号:

学号:

学号:

学号:

学号:

指导教师:

2015年7月

目录

目录 (1)

摘要 (3)

Abstract (4)

一、专家系统基本知识 (5)

1.1专家系统实际应用 (5)

1.2专家系统的开发 (5)

二、设计基本思路 (5)

2.1知识库 (5)

2.2.1知识库作用 (5)

2.1.2 知识库建立 (6)

2.1.3 知识库获取 (7)

2.2 数据库 (7)

2.2.1数据库作用 (7)

2.2.2数据库建立 (7)

三、推理机构 (8)

3.1推理机介绍 (8)

3.1.1 推理机作用原理 (8)

3.1.2推理网络 (8)

3.2 正向推理 (9)

3.2.1 正向推理基本思想 (9)

3.2.2 正向推理示意图 (10)

3.2.3 正向推理机所要具有功能 (10)

3.3反向推理 (11)

3.3.1反向推理基本思想 (11)

3.3.2 反向推理示意图 (11)

3.3.3反向推理机所要具有功能 (11)

四、实例系统实现 (12)

4.1系统介绍 (12)

4.2基本思路 (12)

4.3程序主要代码 (12)

4.4系统执行结果 (13)

五、结论 (13)

参考文献: (14)

附录一 (15)

附录二 (24)

摘要

动物识别专家系统是将人的思维过程转化为计算机语言的逻辑过程,其关键在于知识和信息的表示,智能推理或求解的基础——知识库的创建和管理,以及基于某种知识和信息表示的智能推理或求解过程。使动物识别具有一定的智能性、良好的交互性和可视化效果。本论文也主要以识别七种动物的设计思路和程序为例所写的。动物识别专家系统是人工智能中一个比较基础的规则演绎系统,是人工智能领域里的一个大模块的专家系统的一个特定例子。是集知识表与推理为一体的,以规则为基础对用户提供的事实进行向前、逆向或双向的推理得出结论的一种产生式系统。如果通过良好的分析、精确地设计和细致的规划会创设出高度灵活和快速有效的识别系统,再加上良好的界面供用户添加新的事实和规则,反馈详细的错误或信息的话,那就是一个相当完整的识别系统了。

关键词:人工智能;专家系统;动物识别

Abstract

animal recognition expert system is the human thinking process is transformed into the logical process of computer language, the key lies in knowledge and information, said intelligent reasoning or solving based knowledge base -- creating and management, and based on some information and knowledge representation of intelligent reasoning and solving process. So that the animal identification has a certain intelligence, good interaction and visual effect. This paper also mainly to identify seven kinds of animal design ideas and procedures for the case of the written. Animal identification expert system is one of the more basic rules in artificial intelligence, and is a specific example of the expert system in the field of artificial intelligence. A production system based on rules is a production system which is based on the fact that the user is provided with the facts. If the good analysis and accurate design and meticulous planning created a highly flexible, efficient and rapid recognition system, plus a good interface for users to add new facts and rules, with the wrong information feedback, that is a fairly complete knowledge system, the.

Keywords: artificial intelligence; expert system; animal identification

一、专家系统基本知识

1.1专家系统实际应用

目前专家系统已经成功地渗透到生活的各个领域,并且还产生了巨大的社会效益和经

济效益。例如,像车辆传感、药物、纺织服装等重工业和轻工业领域中都会应用到,特别是在计算机领域里,现在已经是一门非常重要的学科类了。

1.2专家系统的开发

专家系统设计与实现的一般过程

图 1【3】

二、设计基本思路

2.1知识库 2.2.1知识库作用

用产生式系统监别动物,需要一种演绎机制,利用己知事实的集合做出新的结论,一

种方法是替动物园中的每个动物作一个产生式,使用者首先收集所有可利用的事实,然后在产生式的表中进行扫描,寻找一个状态部分能与之匹配的产生式。一般要经过多少步并生成和利用一些中间事实才能从基本事实推出结论,这样做所包含的产生式可以比较小,容易理解,容易使用和容易产生。动物识别专家系统中的知识库中的知识通常是用规则表示的。

选题与明确任务

系统需求分析

知识获取与概念化

系统设计

编程与调试

系统维护与完善

知识的形式化表示

测试与评价

2.1.2 知识库建立

知识库所要遵循的规则【1】

规则1:

如果:动物有毛发

则:该动物是哺乳动物

规则2:

如果:动物能产奶

则:该单位是哺乳动物

规则3:

如果:该动物有羽毛

则:该动物是鸟

规则4:

如果:动物会飞,且会下蛋

则:该动物是鸟

规则5:

如果:动物吃肉

则:该动物是肉食动物

规则6:

如果:动物有犬齿,且有爪,且眼盯前方

则:该动物是食肉动物

规则7:

如果:动物是哺乳动物,且有蹄

则:该动物是有蹄动物

规则8:

如果:动物是哺乳动物,且是反刍动物

则:该动物是有蹄动物

规则9:

如果:动物是哺乳动物,且是食肉动物,且是黄褐色的,且有暗斑点

则:该动物是豹

规则10:

如果:如果:动物是黄褐色的,且是哺乳动物,且是食肉,且有黑条纹

则:该动物是虎

规则11:

如果:动物有暗斑点,且有长腿,且有长脖子,且是有蹄类

则:该动物是长颈鹿

规则12:

如果:动物有黑条纹,且是有蹄类动物

则:该动物是斑马

规则13:

如果:动物有长腿,且有长脖子,且是黑色的,且是鸟,且不会飞

则:该动物是鸵鸟

规则14:

如果:动物是鸟,且不会飞,且会游泳,且是黑色的

则:该动物是企鹅

规则15:

如果:动物是鸟,且善飞

则:该动物是信天翁

动物分类专家系统由15条规则组成 可以识别七种动物.

2.1.3 知识库获取

知识获取一般是指从某个活某些致使原中获取专家系统问题求解所需要的专门知识,并以某种形式在计算机中存储、传输与转移。专家系统的知识获取一般是由知识工程师与专家系统知识的获取机构共同完成的。

知识获取的常用方法有以下几种【3】:

1.手工知识获取;

2.半自动获取;

3.自动知识获取;

4.人工神经网络知识获取;

选用哪种知识获取方法需要根据当前的系统,以及用户的需求来决定。但在有些大型系统上还可能会用到不是仅仅一种方法的。

2.2 数据库

2.2.1数据库作用

数据库即为事实库【2】,在计算机中流出一些存储区间,以存放反应系统当前状态的事实,存放用户回答的事实、已知的事实和由推理而得的事实,即由已知事实推导出的假设成立时,也作为事实。其综合数据库的内容是不断变化的。

2.2.2数据库建立

char *str[]={"",

"反刍动物" /* 1 */, "蹄类动物" /* 2 */, "哺乳动物" /* 3 */,

"目视前方" /* 4 */, "有爪子" /* 5 */, "有犬齿" /* 6 */,

"吃肉" /* 7 */, "下蛋" /* 8 */, "会飞" /* 9 */,

"有羽毛" /* 10 */, "有蹄" /* 11 */, "肉食动物" /* 12 */,

"善飞" /* 16 */, "黑白色" /* 17 */, "会游泳" /* 18 */,

"长腿" /* 19 */, "长脖子" /* 20 */, "有黑色条纹" /* 21 */,

"有暗斑点" /* 22 */, "黄褐色" /* 23 */, "信天翁" /* 24 */,

"企鹅" /* 25 */, "鸵鸟" /* 26 */, "斑马" /* 27 */,

"长颈鹿" /* 28 */, "老虎" /* 29 */, "猎豹" /* 30 */,

"\0"};

int rulep[][6]={{22,23,12,3,0,0}, {21,23,12,3,0,0}, {22,19,20,11,0,0},

{21,11,0,0,0,0}, {17,19,20,13,-9,0},{17,18,13,-9,0,0},

{16,13,0,0,0,0}, {15,0,0,0,0,0}, {14,0,0,0,0,0},

{10,0,0,0,0,0}, {8,7,0,0,0,0}, {7,0,0,0,0,0},

{4,5,6,0,0,0}, {2,3,0,0,0,0}, {1,3,0,0,0,0}};

int rulec[]={ 30, 29, 28,

27, 26, 25,

24, 3, 3,

13, 13, 12,

12, 11, 11};

三、推理机构

3.1推理机介绍

3.1.1 推理机作用原理

推理机是一组函数【4】,本例既有正向推理机又有反向推理机,都是用精确推理。推理机是实施问题求解的核心执行机构,它是对知识进行解释的程序,根据知识的语义,对按一定策略找到的知识进行解释执行,并把结果记录到动态库的适当空间中去。

3.1.2推理网络

下图为识别本文中所举的识别七种动物时所规则形成的推理网络:

图 2

3.2 正向推理

3.2.1 正向推理基本思想

用户首先提供一批事实,存放到数据库中,然后推理机进行工作。方法是: 1.推理机用这批事实与知识库中规则的前提进行匹配。

2.把匹配成功的规则的结论部分作为新的事实加到数据库中去(这时,数据库中的事实增加了)。再用更新后的数据库中的所有事实,重复上述① ②二步,如此反复进行,直到得以结论(答案)或不再有新的事实加到数据库为止。

例如,用户输入一批事实:动物有暗斑点、长脖子、长腿、产奶、有蹄子(这批事实存放在数据库中),要求系统判断这是一个什么动物?推理机利用这批事实来匹配规则。

老虎

有犬齿 有爪子

目视前方 有毛发

吃肉

长腿

有奶 长脖子

有暗斑

有羽毛

有蹄

下蛋

会飞

善飞

黑白色

会游泳

有黑条纹

黄褐色

猎豹

长颈鹿

信天翁

斑马

企鹅

鸵鸟

肉食动物

蹄类动物

反刍动物

哺乳动物

鸟类

3.2.2 正向推理示意图

图3

3.2.3 正向推理机所要具有功能

要设计一个正向推理机,就是设计一组程序,使其至少具有以下的功能【3】:

1.能用数据库中的事实去匹配规则的前提,若匹配不成功,能自动地进行吓一跳规则的

匹配。这里如何匹配最为合适,是设计专家系统者根据专业特点和知识表示等情况,需要很好考虑的问题,也就是在匹配时到底用什么策略等问题都需要考虑周全;

2.若某条规则匹配成功,系统能将此规则的结论部分自动加入数据库;

3.能判断何时应结束推理;

4.能将匹配成功的规则记录下来;

3.3反向推理

3.3.1反向推理基本思想

由用户或系统首先提出一批假设,然后系统逐一验证这些假设的真假性,方法:

1.看假设是含在数据库中,若在,则假设成立,推理结束或进行下一个假设的验证,否则进行下一步。

2.判断这些假设是否是证据节点,若是,系统提问用户,否则进行下一步。

3.找出结论部分包含此假设的那些规则,把这些规则的所有前提作为新的假设。

4.重复①、②、③步。

3.3.2 反向推理示意图

图4

3.3.3反向推理机所要具有功能

1. 能根据用户要求或情况提出假设;

2. 能验证此假设是否是在数据库中;

3. 能把知识库中将结论部分包含此假设的规则都找出来;

4. 能将找出来地规则的前提部分取出,并作为新的假设逐条验证;

5. 能判断假设是否是证据接点,若是,能向用户提出相应的问题,并记录结果;

6. 能将匹配成功的规则记录下来;

7. 能判断何时应结束推理;

四、实例系统实现

4.1系统介绍

此系统是实现了《人工智能教程(的二版)》专家系统实例里的动物识别系统。此系统是识别——老虎、猎豹、斑马、长颈鹿、鸵鸟、企鹅、信天翁等七种动物。是严格遵循了知识库中的规则,并运用C语言在Visual C++ 6.0环境下实验编译同过的。因为各种原因没能设计实现出比较精美的界面,但还是体现出了很多专家系统所该具备的东西和功能。

4.2基本思路

根据产生式系统的原理,该系统一般由规则库、综合数据库、控制系统三部分构成。先定义规则库结构体,里面包括Condition[6][20],result[20]和规则数Cnum,再定义综合数据库即事实库,里面包括item[20][20],和事实数Fnum,主要用到的参数就是这些。然后初始化规则库和综合数据库,编辑规则库。之后就是主程序,也就是推理机的作用:先让用户输入事实,然后与规则库中的知识从第一条开始逐条匹配,当匹配成功时,将结论插入事实库并更新事实库,再逐条匹配,依次循环..最终如果能匹配成功就显示‘该动物是..’,否则显示‘无法识别该动物’,程序结束。

4.3程序主要代码

见附录二

4.4系统执行结果

五、结论

动物识别专家系统实现起来也许相对简单一些,但基本上也包括了专家系统的各个组成部分。动物识别具有一定的智能性,但是根据所采用的匹配方法的不同其智能性也有不小的差距。而知识库的管理和数据库的设计是否完善对于动物识别专家系统是极为关键的,这也是很多此类专家系统的通病。

参考文献:

【1】王士同,陈慧萍,赵跃华,钱旭.人工智能教程[M](第二版)北京:电子工业出版社,2006:188-206

Wang Shi-tong, Chen Hui-ping, Zhao Yue-hua, Qian Xu. Artificial intelligence course[M] Bei jing:Electronic Industry Press,2006:188-206

【2】马鸣远. 人工智能与专家系统导论[M]北京:清华大学出版社,2006:232-238

Ma Ming-yuan.Introduction of artificial intelligence and expert system[M] Bei jing: Tsinghua University press,2006:232-238

【3】敖志刚. 人工智能与专家系统导论[M]合肥:中国科学技术大学出版社,2002:165-197

Ao Zhi-gang. Introduction of artificial intelligence and expert system[M] He fei: Press of USTC,2002:165-197

【4】渠川路. 人工智能、专家系统及智能计算机[M]北京:航空航天大学出版社,1991:123-156

Qu Chuan-lu. Artificial intelligence,Expert system and intelligent computer[M] Bei jing:Universiti of Aeronautics and Astronautics Press,1991:165-197

附录一

源程序如下:

#include "iostream.h"

#include "stdio.h"

#include "conio.h"

#include "string.h"

typedef struct Rule//定义规则库

{

char Condition[6][20];

char Result[20];

int Cnum;

bool used;

}rule;

typedef struct Fact//定义综合数据库{

char item[20][20];

int Fnum;

}fact;

rule r[100];

fact f;

void Create_Rules();//初始化规则库void Create_Facts();//初始化综合数据库int Get_RulesNum();

void Ratiocinate(int n);

void main()

{

int Rnum=0;

Create_Rules();

Create_Facts();

Rnum=Get_RulesNum();

//cout<

}

void Create_Rules()

{

strcpy(r[0].Condition[0],"有毛发"); strcpy(r[0].Result,"哺乳动物");

r[0].Cnum=1;

r[0].used=false;

strcpy(r[1].Condition[0],"奶"); strcpy(r[1].Result,"哺乳动物");

r[1].Cnum=1;

r[1].used=false;

strcpy(r[2].Condition[0],"有羽毛"); strcpy(r[2].Result,"鸟");

r[2].Cnum=1;

strcpy(r[3].Condition[0],"会飞"); strcpy(r[3].Condition[1],"会下蛋"); strcpy(r[3].Result,"鸟");

r[3].Cnum=2;

r[3].used=false;

strcpy(r[4].Condition[0],"吃肉"); strcpy(r[4].Result,"食肉动物");

r[4].Cnum=1;

r[4].used=false;

strcpy(r[5].Condition[0],"有犬齿"); strcpy(r[5].Condition[1],"有爪"); strcpy(r[5].Condition[2],"眼盯前方"); strcpy(r[5].Result,"食肉动物");

r[5].Cnum=3;

r[5].used=false;

strcpy(r[6].Condition[0],"哺乳动物"); strcpy(r[6].Condition[1],"蹄");

strcpy(r[6].Result,"有蹄动物");

r[6].Cnum=2;

r[6].used=false;

strcpy(r[7].Condition[0],"有蹄动物"); strcpy(r[7].Condition[1],"嚼反刍动物"); strcpy(r[7].Result,"有蹄动物");

r[7].used=false;

strcpy(r[8].Condition[0],"哺乳动物");

strcpy(r[8].Condition[1],"食肉动物");

strcpy(r[8].Condition[2],"黄褐色");

strcpy(r[8].Condition[3],"身上有暗斑点"); strcpy(r[8].Result,"金钱豹");

r[8].Cnum=4;

r[8].used=false;

strcpy(r[9].Condition[0],"哺乳动物");

strcpy(r[9].Condition[1],"食肉动物");

strcpy(r[9].Condition[2],"黄褐色");

strcpy(r[9].Condition[3],"有黑色条纹"); strcpy(r[9].Result,"虎");

r[9].Cnum=4;

r[9].used=false;

strcpy(r[10].Condition[0],"有蹄动物"); strcpy(r[10].Condition[1],"长腿");

strcpy(r[10].Condition[2],"长脖子");

strcpy(r[10].Condition[3],"身上有暗斑点"); strcpy(r[10].Result,"长颈鹿");

r[10].Cnum=4;

r[10].used=false;

strcpy(r[11].Condition[0],"有蹄类动物"); strcpy(r[11].Condition[1],"身上有黑色条纹");

strcpy(r[11].Result,"斑马");

r[11].Cnum=2;

r[11].used=false;

strcpy(r[12].Condition[0],"鸟");

strcpy(r[12].Condition[1],"有长脖子"); strcpy(r[12].Condition[2],"长腿"); strcpy(r[12].Condition[3],"不会飞"); strcpy(r[12].Condition[4],"有黑白两色"); strcpy(r[12].Result,"鸵鸟");

r[12].Cnum=5;

r[12].used=false;

strcpy(r[13].Condition[0],"鸟");

strcpy(r[13].Condition[1],"会游泳"); strcpy(r[13].Condition[2],"不会飞"); strcpy(r[13].Condition[3],"有黑白两色"); strcpy(r[13].Result,"企鹅");

r[13].Cnum=4;

r[13].used=false;

strcpy(r[14].Condition[0],"鸟");

strcpy(r[14].Condition[1],"善飞"); strcpy(r[14].Result,"海燕");

r[14].Cnum=2;

r[14].used=false;

}

浅析人工智能中的图像识别技术

浅析人工智能中的图像识别技术 本文从网络收集而来,上传到平台为了帮到更多的人,如果您需要使用本文档,请点击下载按钮下载本文档(有偿下载),另外祝您生活愉快,工作顺利,万事如意! 图像识别技术是信息时代的一门重要的技术,其产生目的是为了让计算机代替人类去处理大量的物理信息。随着计算机技术的发展,人类对图像识别技术的认识越来越深刻。图像识别技术的过程分为信息的获取、预处理、特征抽取和选择、分类器设计和分类决策。文章简单分析了图像识别技术的引入、其技术原理以及模式识别等,之后介绍了神经网络的图像识别技术和非线性降维的图像识别技术及图像识别技术的应用。从中可以总结出图像处理技术的应用广泛,人类的生活将无法离开图像识别技术,研究图像识别技术具有重大意义。 1 图像识别技术的引入 图像识别是人工智能科技的一个重要领域。图像识别的发展经历了三个阶段:文字识别、数字图像处理与识别、物体识别。图像识别,顾名思义,就是对图像做出各种处理、分析,最终识别我们所要研究的

目标。今天所指的图像识别并不仅仅是用人类的肉眼,而是借助计算机技术进行识别。虽然人类的识别能力很强大,但是对于高速发展的社会,人类自身识别能力已经满足不了我们的需求,于是就产生了基于计算机的图像识别技术。这就像人类研究生物细胞,完全靠肉眼观察细胞是不现实的,这样自然就产生了显微镜等用于精确观测的仪器。通常一个领域有固有技术无法解决的需求时,就会产生相应的新技术。图像识别技术也是如此,此技术的产生就是为了让计算机代替人类去处理大量的物理信息,解决人类无法识别或者识别率特别低的信息。 图像识别技术原理 其实,图像识别技术背后的原理并不是很难,只是其要处理的信息比较繁琐。计算机的任何处理技术都不是凭空产生的,它都是学者们从生活实践中得到启发而利用程序将其模拟实现的。计算机的图像识别技术和人类的图像识别在原理上并没有本质的区别,只是机器缺少人类在感觉与视觉差上的影响罢了。人类的图像识别也不单单是凭借整个图像存储在脑海中的记忆来识别的,我们识别图像都是依靠图像所具有

人工智能课程设计报告--动物识别系统

计算机科学与技术学院 《人工智能》课程设计报告设计题目:动物识别系统 设计人员:学号: 学号: 学号: 学号: 学号: 学号: 指导教师: 2015年7月

目录 目录 (1) 摘要 (2) Abstract (2) 一、专家系统基本知识 (3) 1.1专家系统实际应用 (3) 1.2专家系统的开发 (3) 二、设计基本思路 (4) 2.1知识库 (4) ....................................................................................................... 错误!未定义书签。 2.1.2 知识库建立 (4) 2.1.3 知识库获取 (5) 2.2 数据库 (6) ....................................................................................................... 错误!未定义书签。 ....................................................................................................... 错误!未定义书签。 三、推理机构 (7) 3.1推理机介绍 (7) 3.1.1 推理机作用原理 (7) ....................................................................................................... 错误!未定义书签。 3.2 正向推理 (7) 3.2.1 正向推理基本思想 (7) 3.2.2 正向推理示意图 (8) 3.2.3 正向推理机所要具有功能 (8) 3.3反向推理 (8) ....................................................................................................... 错误!未定义书签。 3.3.2 反向推理示意图 (8) ....................................................................................................... 错误!未定义书签。 四、实例系统实现 (9)

(人工智能)关于图像识别与人工智能的就业情况

(人工智能)关于图像识别与人工智能的就业情况

关于图像识别和人工智能的就业情况(2008-10-0216:06:10) 最近遇到壹些朋友问我考研方向,我告诉他们叫图像识别和人工智能。主要是图形图像处理这个领域。他们又问这个方向将来主要从事什么职业,进入什么样的公司?呀!这个我仍真没怎么关注,所以就上网查了查,来了解壹下。下面是转载的壹篇文章: 就我见来,个人觉得图像处理的就业仍是不错的。首先能够把图像见成二维、三维或者更高维的信号,从这个意义上来说,图像处理是整个信号处理里面就业形势最好的,因为你不仅要掌握(壹维)信号处理的基本知识,也要掌握图像处理(二维或者高维信号处理)的知识。其次,图像处理是计算机视觉和视频处理的基础,掌握好了图像处理的基本知识,就业时就能够向这些方向发展。目前的模式识别,大部分也均是图像模式识别。于实际应用场合,采集的信息很多均是图像信息,比如指纹、条码、人脸、虹膜、车辆等等。说到应用场合,千万不能忘了医学图像这壹块,如果有医学图像处理的背景,去壹些医疗器械公司或者医疗软件公司也是不错的选择。图像处理对编程的要求比较高,如果编程很厉害,当然就业也多了壹个选择方向,且不壹定要局限于图像方向。 下面谈谈我所知道的壹些公司信息,不全,仅仅是我所了解到的或者我所感兴趣的,实际远远不止这么多。 搜索方向 基于内容的图像或视频搜索是很多搜索公司研究的热点。要想进入这个领域,必须有很强的编程能力,很好的图像处理和模式识别的背景。要求高待遇自然就不错,目前这方面的代表公司有微软、google、yahoo和百度,个个鼎鼎大名。

医学图像方向 目前于医疗器械方向主要是几个大企业于竞争,来头均不小,其中包括Simens、GE、飞利浦和柯达,主要生产CT和MRI等医疗器材。由于医疗器械的主要功能是成像,必然涉及到对图像的处理,做图像处理的很有机会进入这些公司。它们于国内均设有研发中心,simens的于上海和深圳,GE和柯达均于上海,飞利浦的于沈阳。由于医疗市场是壹个没有完全开发的市场,而壹套医疗设备的价格是非常昂贵的,所以于这些地方的待遇均仍能够,前景也见好。国内也有壹些这样的企业比如深圳安科和迈瑞 计算机视觉和模式识别方向 我没去调研过有哪些公司于做,但肯定不少,比如指纹识别、人脸识别、虹膜识别。仍有壹个很大的方向是车牌识别,这个我倒是知道有壹个公司高德威智能交通似乎做的很不错的样子。目前视频监控是壹个热点问题,做跟踪和识别的能够于这个方向找到壹席之地。 上海法视特位于上海张江高科技园区,于视觉和识别方面做的不错。北京的我也知道俩个公司:大恒和凌云,均是以图像作为研发的主体。 视频方向 壹般的高校或者研究所侧重于标准的制定和修改以及技术创新方面,而公司则侧重于编码解码的硬件实现方面。壹般这些公司要求是熟悉或者精通MPEG、H.264或者AVS,选择了这个方向,只要做的仍不错,基本就不愁饭碗。由于这不是我所感兴趣的方向,所以这方面的公司的信息我没有收集,但平常于各个bbs或者各种招聘网站经常见到。 我所知道的俩个公司:诺基亚和pixelworks

人工智能课程设计报告-罗马尼亚度假问题

人工智能课程设计报告-罗马尼亚度假 问题 1

2

3 2020年5月29日 课 程 :人工智能课程设计报告 班 级: 姓 名: 学 号: 指导教师:赵曼 11月

人工智能课程设计报告 课程背景 人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,能够设想,未来人工智能带来的科技产品,将会是人类智慧的”容器”。 人工智能是对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。 人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些一般需要人类智能才能完成的复杂工作。但不同的时代、不同的人对这种”复杂工作”的理解是不同的。 人工智能是计算机学科的一个分支,二十世纪七十年代以来被称为世界三大尖端技术之一(空间技术、能源技术、人工智能)。也被认为是二十一世纪三大尖端技术(基因工程、纳米科学、人工智能)之一。这是因为近三十年来它获得了迅 速的发展,在很多学科领域都获得了广泛应用,并取得了丰硕的成果,人工智能已逐 - 1 - 2020年5月29日

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

《人工智能导论》课程研究总结题目: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. 理解并掌握产生式系统的基本原理; 2. 掌握产生式系统的组成部分,以及正向推理和逆向推理过程。 二、实验要求 1. 结合课本内容, 以动物识别系统为例,实现小型产生式系统; 2. 要求: 正向推理中能根据输入的初始事实,正确地识别所能识别的动物;逆向推理中 能根据所给的动物给出动物的特征。 三、实验算法 1. 如何表示事实和特征的知识; 在本程序中,我将动物的特征写入data.txt,将规则记入rules.txt,将动物种类记为goal.txt。

通过函数void readFiles() { readGoal(); readCod(); readRule(); }读入所有数据分别存放于goal[],rule[],cod[]自定义数组中。 2. 指出综合数据库和规则库分别使用哪些函数实现的? 综合数据库(包括特征和目标) typedef struct { int xuh;//存放编号 char valu[50];//存放具体内容 }Node; Node goal[20]; Node cod[50];

规则库 typedef struct { int rslt; int codNum;//记载前提的个数 int cod[10];//记载前提的序号 int used;//记载是否已匹配成功 }Nrule; Nrule rule[50]; void readRule() { FILE *fp; int i; int tempxuh,tempcodn; char ch; if((fp=fopen("rules.txt","r"))==NULL) { printf("cannot open data\n"); exit(0); } i=0; rule[i].codNum=0; while((ch=fgetc(fp))!=EOF) { if(i==14) i=i; tempcodn=0; while(ch!='\n'&&ch!=EOF) //每一条规则 { tempxuh=0; while(ch<='9'&&ch>='0') { tempxuh=tempxuh*10+ch-'0';

图像识别与人工智能研究所发展规划报告

图像所学科建设与发展规划 根据学校建设世界知名高水平大学的发展目标,特制定图像所相应的学科建设与发展规划,以推动本学科的跨越式发展。 一、学科建设总体目标 (一)学科基础 图像识别与人工智能研究所(简称图像所)将继续以跻身于我国的国防科技的发展为切入点,从事发展巡航导弹中制导、末制导关键技术,承担相关预先研究和攻关科研任务为学科建设的主攻方向。 (1)目前本学科点共有五个研究方向: “计算机视觉与应用”、 “成像自动目标识别与精确制导技术”、 “多谱成像与遥感图像处理”、 “人工智能与思维科学” “面向模式识别的专用处理机与IC芯片设计”。 (2)本学科点现有科研人员26人,其中教授(含博士生导师)7人,副教授7人。科研教学梯队层次高,年龄、专业结构合理。现有教学科研用房4000 平方米。实验设备固定资产5000余万元,已初步形成先进、配套的教学、科研、开发环境和雄厚的技术储备。 (3)学科特点 模式识别与智能系统是信息科学技术领域中发展最迅速的前沿领域之一。

来自不同成像传感器的不同谱段的图像信号能全面揭示客观世界的各种特性,智能控制是人工智能与自动控制相结合的现代控制理论和技术,图像模式处理、识别与智能控制的结合构成了智能信息系统和智能自动化系统发展的基础,不仅科学意义深远而且有十分广阔的应用前景。本学科点的主要特色是紧密结合航天、航空和信息技术领域的国家目标,进行应用基础和应用技术的研究和开发,重点研究多谱段图像模式信息的获取、表示、处理、分析与智能系统领域的基础理论与关键技术,同时培养和造就本领域高层次、高质量的科技人才。本学科点具有特色和优势的研究方向是: ·计算机视觉与应用 在基于信息融合的信号处理、基于视觉、力觉和超声波接近觉的多传感器机器人系统和飞行器三维航迹规划技术方面具有特色,承担了国家重大型号XY-20末制导航迹规划攻关项目并进入型号研制。 ·成像自动目标识别与精确制导技术 开展面向复杂背景和随机环境下成像自动目标检测、识别、跟踪的新理论、新方法、新算法和新系统的研究,其特色是瞄准有关国家安全的国家目标,紧密结合航天航空高技术发展,在基于图象和图象序列的自动目标识别,景象匹配定位等精确制导领域开展应用基础和高技术的研究,并将一系列高水平成果应用于国防高技术武器系统中。 ·多谱成像与遥感图像处理 研究微波辐射特性及成像技术、激光雷达成像信号处理和遥感图像处理与

人工智能课程设计

课程名称:人工智能及应用 设计题目:基于智能搜索的进路选排设计院系:计算机与通信工程系 班级:信号一班 姓名: 学号: 指导教师:胡可 西南交通大学峨眉校区 2013 年12 月13 日

课程设计任务书 专业铁道信号姓名代荣龙学号20108065 开题日期:2013 年09 月23 日完成日期:2013 年12 月13 日题目基于智能搜索的进路选排设计 一、设计的目的 通过对课程设计任务的完成,进一步理解智能搜索算法与计算机联锁软件设计的理论内容,并且巩固和深化所学课程的知识,同时培养综合运用所学课程知识,分析和解决实际问题的能力,逐步树立正确的设计思想及严谨认真的科学态度。 二、设计的内容及要求 要求每位同学能够根据对人工智能搜索算法以及计算机联锁的进路选排过程的知识,结合课程设计的内容,独立完成该课程设计。 设计内容: 1)自选信号布置图,建立站场型静态数据库,并绘制其模块链接图; 2)自选智能搜索算法,编写动态进路搜索选排程序; 3)用所编搜索程序对建立的数据库进行进路选排,并举例说明其过程。 三、指导教师评语 四、成绩 指导教师(签章) 年月日

一、设计题目 通过对课程设计任务的完成,进一步理解智能搜索算法与计算机联锁软件设计的理论内容,并且巩固和深化所学课程的知识,同时培养综合运用所学课程知识,分析和解决实际问题的能力,逐步树立正确的设计思想及严谨认真的科学态度。 可实现的功能: 能设置道岔、轨道、信号机以及道岔、轨道、信号机的状态; 满足正常情况下的接发列车演练; 站场状态的直观形象显示; 办理列车作业; 取消进路功能; 完备的进路选排、开放保持及解锁功能 仿真分析: 对计算机联锁人机界面的分析可知,人机界面是类似于6502电气集中联锁控制台,所以设计时参考6502的控制台进行设计。 为让操作员很快适应该系统,该系统延续了一些传统的操作方法: 选排进路任采用双按钮形式; 进路排好采用白色表示; 进路占用弹出对话框(线路占用、已办理同方向进路、已办理反方向发车); 进路解锁弹出对话框(进路已解锁); 道岔的状态(定位绿灯显示、反位黄灯显示); 信号机的状态(平时红灯、开放时绿灯); 调车信号机的状态(平时蓝色、开放时白色) 列车按钮绿色(设于线路中间); 调车按钮白色(设于线路一侧); 进路的取消任然用双按钮(始端按钮和终端按钮); 取消进路时点击总取消按钮后对应的上行或者下行总取消按钮表示灯亮红灯; 线路状态(平时为黑色、占用为白色); 当进路排好后改进路上的同方向的调车信号显示白灯; 该系统的进路搜索程序采用类似于进路表的形式,将始端按钮和终端按钮按下后,改程序自动检查敌对信号是否开放(若开放则提示“已建立反方向发车”)、沿途的列车信号机是否有开放(若开放则提示“已办理同方向进路”或“已办理反方向进路”)、复式交分道岔的一组道岔是否已占用(若占用则提示“线路已占用”)、股道是否空闲(若不空闲则提示“线路已占用”),进路建立之后将显示对应信号机的状态和道岔的状态。该操作界面采用Microsoft visual basic 6.0编写,能够很直观的反映调度员所需信息,同时采用人性化理念,用弹出式对话框来提示操作过程中的一些禁止信息来提醒调度员。 设计过程: (一)绘制站场图和站场型数据模块链接图

人工智能-动物识别

动物识别系统 #include #include using namespace std; struct RULES //规则结构 { int count; char pre[255]; char back[255]; int mark; }; RULES r[16]={ {1,"有毛发","哺乳动物",0}, //所有规则静态数据库{1,"有奶","哺乳动物",0}, {1,"有羽毛","鸟",0}, {2,"会飞&下蛋&","鸟",0}, {1,"吃肉","食肉动物",0}, {3,"有犬齿&有爪&眼盯前方&","食肉动物",0}, {2,"哺乳动物&有蹄&","有蹄类动物",0}, {2,"哺乳动物&反刍&","有蹄类动物",0}, {4,"哺乳动物&食肉动物&黄褐色&暗斑点&","金钱豹",0}, {4,"哺乳动物&食肉动物&黄褐色&黑色条纹&","老虎",0}, {4,"有蹄类动物&长脖子&长腿&暗斑点&","长颈鹿",0}, {2,"有蹄类动物&黑条纹&","斑马",0}, {5,"鸟&不会飞&长脖子&长腿&黑白色&","鸵鸟",0}, {4,"鸟&不会飞&会游泳&黑白色&","企鹅",0}, {2,"鸟&善飞&","信天翁",0}, }; int length; //输入的事实长度 string f[255]; //输入的事实数组 int find_rule(int s) //查找规则库中是否还有可使用的规则 { for(int i=0;i<=15;i++) s=s*r[i].mark; //cout<<"find_rule结果"<

人工智能YOLO V2 图像识别实验报告材料

第一章前言部分 1.1课程项目背景与意义 1.1.1课程项目背景 视觉是各个应用领域,如制造业、检验、文档分析、医疗诊断,和军事等领域中各种智能/自主系统中不可分割的一部分。由于它的重要性,一些先进国家,例如美国把对计算机视觉的研究列为对经济和科学有广泛影响的科学和工程中的重大基本问题,即所谓的重大挑战。计算机视觉的挑战是要为计算机和机器人开发具有与人类水平相当的视觉能力。机器视觉需要图象信号,纹理和颜色建模,几何处理和推理,以及物体建模。一个有能力的视觉系统应该把所有这些处理都紧密地集成在一起。作为一门学科,计算机视觉开始于60年代初,但在计算机视觉的基本研究中的许多重要进展是在80年代取得的。计算机视觉与人类视觉密切相关,对人类视觉有一个正确的认识将对计算机视觉的研究非常有益。 计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取‘信息’的人工智能系统。这里所指的信息指Shannon定义的,可以用来帮助做一个“决定”的信息。因为感知可以看作是从感官信号中提取信息,所以计算机视觉也可以看作是研究如何使人工系统从图像或多维数据中“感知”的科学。 科学技术的发展是推动人类社会进步的主要原因之一,未来社会进一步地朝着科技化、信息化、智能化的方向前进。在信息大爆炸的今天,充分利用这些信息将有助于社会的现代化建设,这其中图像信息是目前人们生活中最常见的信息。利用这些图像信息的一种重要方法就是图像目标定位识别技术。不管是视频监控领域还是虚拟现实技术等都对图像的识别有着极大的需求。一般的图像目标定位识别系统包括图像分割、目标关键特征提取、目标类别分类三个步骤。 深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。深度学习的概念由Hinton等人于2006年提出。基于深度置信网络提出非监督贪心逐层训练算法,为解决深层结构相关的优化难题带来希望,随后提出多层自动编码器深层结构。此外Lecun等人提出的卷积神经网络是第一个真正多层结构学习算法,它利用空间相对关系减少参数数目以提高训练性能。

人工智能课程设计报告-n皇后问题解读

人工智能课程设计报告 课班姓学程:人工智能课程设计报告级 : 名: 号: 指导教师:赵曼 2015年11月

人工智能课程设计报告 人工智能课程设计报告 课程背景 人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。 人工智能是对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。 人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。但不同的时代、不同的人对这种“复杂工作”的理解是不同的。 人工智能是计算机学科的一个分支,二十世纪七十年代以来被称为世界三大尖端技术之一(空间技术、能源技术、人工智能)。也被认为是二十一世纪三大尖端技术(基因工程、纳米科学、人工智能)之一。这是因为近三十年来它获得了迅速的发展,在很多学科领域都获得了广泛应用,并取得了丰硕的成果,人工智能已逐步成为一个独立的分支,无论在理论和实践上都已自成一个系统。 人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,主要包括计算机实现智能的原理、制造类似于人脑智能的计算机,使计算机能实现更高层次的应用。人工智能将涉及到计算机科学、心理学、哲学和语言学等学科。可以说几乎是自然科学和社会科学的所有学科,其范围已远远超出了计算机科学的范畴,人工智能与思维科学的关系是实践和理论的关系,人工智能是处于思维科学的技术应用层次,是它的一个应用分支。从思维观点看,人工智能不仅限于逻辑思维,要考虑形象思维、灵感思维才能促进人工智能的突破性的发展,数学常被认为是多种学科的基础科学,数学也进入语言、思维领域,人工智能学科也必须借用数学工具,数学不仅在标准逻辑、模糊数学等范围发挥作用,数学进入人工智能学科,它们将互相促进而更快地发展。

三子棋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,2,3,…,8 的八块正方形数码牌任意地放在一块3×3 的数码盘上.放牌时要求不能重叠.于是,在3×3 的数码盘上出现了一个空格. 现在要求按照每次只能将与空格相邻的数码牌与空格交换的原则,将任意摆放的数码盘逐步摆成某种特殊的排列.如下图表示了一个具体的八数码问题求解. 二、设计环境及使用说明 设计环境主要采用VC++开发环境。 三、系统已实现的功能 用广度优先搜索算法和两种A*搜索算法实现八数码问题的求解系统。 四、算法思想及分析 1、广度优先搜索算法 算法思想: 这是一种盲目搜索算法。算法主要思想是从初始结点开始依次沿其上下左右四个方向扩展结点,并逐一检查这些后继结点是否为目标结点,若不等于目标结点则把该后继结点插入到数组末尾。然后取数组中未扩展的第一个结点重复以上操作,直到得到目标结点为止或在限定步数以内未得到解。 数据结构: 算法当中的结点用结构体实现, typedef struct{ int num[9]; //八个数码用一个一维数组来存储。 char expension; //记录是否可以扩展,Y代表可以扩展,N代表不可以。 char bandirect; //表示不可以执行的操作,'L'代表不能左移,'R'代表不能右 移,'U'代表不能上移,'D'代表不能下移,'C'代表可以任 意移动。 int father; //记录父节点的下标。 }Node; 扩展的结点存储在数组里: Node node[MAXSIZE]; //将搜索过的状态存储于该数组中。 算法当中遇到的问题和解决方法: 1)如何去表达八个数码的位置和每个结点状态的表示 用一维或二维数组去表示八个数码的位置关系,每个结点包含了一个一维数组 (用来表示八个数码的位置关系),可扩展标记(用来标识一个结点是否被扩 展过,避免重复扩展),限制移动方向的标记(避免一个结点在一个方向的重 复扩展),记录父节点的指针(父节点下标)。 2)如何以最简洁的方式表达一个结点在其四个方向的扩展 设定一个数组用以存储该结点在每个方位是否可扩展。操作一个结点时先根据

人工智能动物识别专家系统

一.题目:动物识别专家系统 二.实验目的 1.理解并掌握基于规则系统的表示与推理 2.学会编写小型的生产式系统,理解正向推理和反向推理的过程以及两 者的区别 3.学会设计简单的人机交互界面 三.实验内容 动物识别专家系统是流行的专家系统实验模型,它用产生式规则来表示知识,共15条规则、可以识别七种动物,这些规则既少又简单,可以改造他们,也可以加进新的规则,还可以用来识别其他东西的新规则来取代这些规则。 四.实验要求 1、确定推理方法(正向还是反向),并根据问题设计实现一个简单的不通用推理机(匹配、冲突消解) 2、规则库要求至少包含15条规则 3、初始事实可以任意给定,输入初始事实后能够得到推理结果 4、设计人机界面,解释模块提供查询规则的功能 5、可以不考虑知识库管理模块 6、提交实验报告, 7、报告中要有推理树 五.实验原理 动物识别专家系统是流行的专家系统实验模型,它用产生式规则来表示知识,共15条规则、可以识别七种动物,这些规则既少又简单,可以改造他们,也可以加进新的规则,还可以用来识别其他东西的新规则来取代这些规则。动物识别15条规则: 规则1: 如果:动物有毛发 则:该动物是哺乳动物

规则2: 如果:动物能产奶 则:该单位是哺乳动物 规则3: 如果:该动物有羽毛 则:该动物是鸟 规则4: 如果:动物会飞,且会下蛋 则:该动物是鸟 规则5: 如果:动物吃肉 则:该动物是肉食动物 规则6: 如果:动物有犬齿,且有爪,且眼盯前方 则:该动物是食肉动物 规则7: 如果:动物是哺乳动物,且有蹄 则:该动物是有蹄动物 规则8: 如果:动物是哺乳动物,且是反刍动物 则:该动物是有蹄动物 规则9: 如果:动物是哺乳动物,且是食肉动物,且是黄褐色的,且有暗斑点则:该动物是豹 规则10: 如果:如果:动物是黄褐色的,且是哺乳动物,且是食肉,且有黑条纹则:该动物是虎 规则11: 如果:动物有暗斑点,且有长腿,且有长脖子,且是有蹄类 则:该动物是长颈鹿 规则12: 如果:动物有黑条纹,且是有蹄类动物 则:该动物是斑马 规则13: 如果:动物有长腿,且有长脖子,且是黑色的,且是鸟,且不会飞

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

《人工智能导论》课程研究总结 题目: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:训练过程记录。

人工智能课程设计(五子棋)解读

《人工智能导论》课程报告 课题名称:五子棋 姓名: X X 学号:114304xxxx 课题负责人名(学号): X X114304xxxx 同组成员名单(学号、角色): x x1143041325 XXX1143041036 指导教师:张建州 评阅成绩: 评阅意见: 提交报告时间:2014年 1 月 9 日

五子棋 计算机科学与技术专业 学生XXX 指导老师张建州 [摘要]人类之所以不断在进步,是因为我们人类一直不断的在思考,五子棋游戏程序的开发符合人类进步也是促进人类进步的一大动力之一。五子棋游戏程序让人们方便快捷的可以下五子棋,让人们在何时都能通过下棋来提高逻辑思维能力,同时也培养儿童的兴趣以及爱好,让孩子更加聪明。 同时,五子棋游戏程序的开发也使得五子棋这个游戏得到了广泛的推广,让世界各地的人们知道五子棋,玩上五子棋,这已经不是局限。五子棋游戏程序使得越来越多的人喜欢上了五子棋,热爱下五子棋,它是具有很好的带动性的。 关键词:五子棋进步思考

目录 《人工智能导论》课程报告 0 1 引言 (3) 1.1五子棋简介 (3) 1.2 五子棋游戏的发展与现状 (3) 2 研究问题描述 (4) 2.1 问题定义 (4) 2.2 可行性研究 (4) 2.3 需求分析 (5) 2.4 总体设计 (5) 2.5 详细设计 (6) 2.6编码和单元测试 (6) 3 人工智能技术 (6) 4 算法设计 (7) 4.1α-β剪枝算法 (7) 4.2极大极小树 (7) 4.3深度优先搜索(DFS) (8) 4.4静态估值函数 (9) 5 软件设计和实现 (9) 5.1 数据结构定义 (9) 5.2 程序流程图 (17) 6 性能测试 (18) 6.1 程序执行结果 (18) 7 总结 (21) 参考文献 (21)

重庆大学人工智能作业(动物识别系统)

人工智能及其应用作业姓名:学号: 一、作业题目:设计一个动物识别系统,运用产生式系统的思想,设在综合数据库中存放 下列已知事实:该动物身上有暗斑点,长脖子,长腿,奶,蹄,这些事实与规则库中的知识从第一条开始匹配,最终得出该动物是长颈鹿。 二、程序设计分析:根据产生式系统的原理,该系统一般由规则库、综合数据库、控制 系统三部分构成。先定义规则库结构体,里面包括Condition[6][20],result[20]和规则数Cnum,再定义综合数据库即事实库,里面包括item[20][20],和事实数Fnum,主要用到的参数就是这些。然后初始化规则库和综合数据库,编辑规则库。之后就是主程序,也就是推理机的作用:先让用户输入事实,然后与规则库中的知识从第一条开始逐条匹配,当匹配成功时,将结论插入事实库并更新事实库,再逐条匹配,依次循环..最终如果能匹配成功就显示‘该动物是..’,否则显示‘无法识别该动物’,程序结束。 三、程序流程图如下图:

图一、系统程序流程图四、我的源程序如下: #include "iostream.h" #include "stdio.h" #include "conio.h" #include "string.h" typedef struct Rule//定义规则库 { char Condition[6][20]; char Result[20]; int Cnum; bool used; }rule;

typedef struct Fact//定义综合数据库 { char item[20][20]; int Fnum; }fact; rule r[100]; fact f; void Create_Rules();//初始化规则库void Create_Facts();//初始化综合数据库int Get_RulesNum(); void Ratiocinate(int n); void main() { int Rnum=0; Create_Rules(); Create_Facts(); Rnum=Get_RulesNum(); //cout<

人工智能深度优先算法课程设计报告

人工智能课程报告 题目: 深 度 优 先 算 法 班级:XXXXXXXXXXX 学号:XXXXXXXXXXX 姓名:XXXXXXXXXXX

【摘要】结合生活中解决搜索问题所常用的思考方法与解题方法,从深度优先探讨了提高程序效率的适用技巧。 【关键词】1搜索顺序;2搜索对象;3搜索优化; 一、深度优先搜索的优化技巧 我们在做事情的时候,经常遇到这类问题——给出约束条件,求一种满足约束条件的方案,这类问题我们叫它“约束满足”问题。对于约束满足问题,我们通常可以从搜索的顺序和搜索的对象入手,进而提高程序的效率。 二、搜索的顺序及对象: 在解决约束满足问题的时候,问题给出的约束条件越强,对于搜索就越有利。之所以深度优先搜索的效率在很大程度上优于穷举,就是因为它在搜索过程中很好的利用了题目中的约束条件进行优化,达到提高程序效率的目的。 显然,在同样的一棵搜索树中,越在接近根接点的位置利用约束条件优化效果就越好。如何在搜索中最大化的利用题目的约束条件为我们提供剪枝的依据,是提高深度优先搜索效率的一个很重要的地方。而不同的搜索顺序和搜索对象就直接影响到我们对于题目约束条件的运用。 三、搜索特点 1.由于深度搜索过程中有保留已扩展节点,则不致于重复构造不必要的子树系统。 2.深度优先搜索并不是以最快的方式搜索到解,因为若目标节点在第i层的某处,必须等到该节点左边所有子树系统搜索完毕之后,才会访问到该节点,因此,搜索效率还取决于目标节点在解答树中的位置。

3.由于要存储所有已被扩展节点,所以需要的内存空间往往比较大。 4.深度优先搜索所求得的是仅仅是目前第一条从起点至目标节点的树枝路径,而不是所有通向目标节点的树枝节点的路径中最短的路径。 5.适用范围:适用于求解一条从初始节点至目标节点的可能路径的试题。若要存储所有解答路径,可以再建立其它空间,用来存储每个已求得的解。若要求得最优解,必须记下达到目前目标的路径和相应的路程值,并与前面已记录的值进行比较,保留其中最优解,等全部搜索完成后,把保留的最优解输出。 四、算法数据结构描述 深度优先搜索时,最关键的是结点扩展(OPEN)表的生成,它是一个栈,用于存放目前搜索到待扩展的结点,当结点到达深度界限或结点不能再扩展时,栈顶结点出栈,放入CLOSE表(存放已扩展节点),继续生成新的结点入栈OPEN 表,直到搜索到目标结点或OPEN栈空为止。 具体算法如下: ①把起始结点S放到非扩展结点OPEN表中(后进先出的堆栈),如果此结点为一目标结点,则得到一个解。 ②如果OPEN为一空表,则搜索失败退出。 ③取OPEN表最前面(栈顶)的结点,并把它放入CLOSED的扩展结点表中,并冠以顺序编号n。 ④如果结点n的深度等于最大深度,则转向2。 ⑤否则,扩展结点n,产生其全部子结点,把它们放入OPEN表的前头(入栈),并配上指向n的返回指针;如果没有后裔,则转向2。 ⑥如果后继结点中有任一个为目标结点,则求得一个解,成功退出;否则,转向2。

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