人工智能产生式系统实验报告解读

合集下载

关于人工智能的实习报告

关于人工智能的实习报告

关于人工智能的实习报告在当今科技飞速发展的时代,人工智能(AI)已经成为了引领变革的关键力量。

我有幸在实习公司名称进行了一段关于人工智能的实习,这段经历让我对这一前沿领域有了更深入的了解和认识。

实习初期,我被分配到了一个与自然语言处理相关的项目组。

初涉这个领域,我对许多概念和技术都感到十分陌生。

但在同事们的耐心指导和帮助下,我逐渐熟悉了工作环境和流程。

在实习过程中,我深刻体会到了人工智能的强大功能和广泛应用。

例如,在智能客服领域,通过对大量的客户问题和答案进行学习,人工智能系统能够快速准确地回答用户的咨询,大大提高了服务效率和质量。

在医疗领域,人工智能可以辅助医生进行疾病诊断,通过对大量的医疗影像和病例数据进行分析,为医生提供有价值的参考和建议。

在金融领域,人工智能可以进行风险评估和预测,帮助金融机构做出更明智的决策。

然而,人工智能的发展并非一帆风顺。

数据质量和数量的不足往往会限制模型的性能和准确性。

同时,算法的复杂性和计算资源的需求也给实际应用带来了一定的挑战。

而且,人工智能在某些情况下可能会出现偏差和错误,这就需要我们在开发和应用过程中进行严格的测试和验证。

在实际工作中,我参与了一个利用人工智能进行文本分类的项目。

我们首先需要收集大量的相关文本数据,并对这些数据进行清洗和预处理,去除噪声和无效信息。

然后,选择合适的算法和模型,并使用预处理后的数据进行训练。

在训练过程中,需要不断调整参数,以提高模型的性能和准确性。

经过多次尝试和优化,我们最终得到了一个性能较好的文本分类模型。

通过这个项目,我不仅学到了技术知识和实践经验,还深刻体会到了团队合作的重要性。

在项目开发过程中,不同专业背景的同事们共同协作,发挥各自的优势,解决了一个又一个难题。

同时,我也学会了如何有效地沟通和协调,以确保项目的顺利进行。

另外,我还了解到人工智能的发展也带来了一些伦理和社会问题。

例如,人工智能可能会导致部分工作岗位的消失,从而引发就业结构的调整和社会的不稳定。

人工智能实验报告

人工智能实验报告

人工智能实验报告实验一 在搜索策略实验群实验目的熟悉和掌握启发式搜索的定义、估价函数和算法过程,并利用A*算法求解N 数码难题,理解求解流程和搜索顺序。

搜索图算法比较广度优先深度优先 A*Open 表 节点G ,节点10节点G ,节点6节点3,节点9,节点G ,节点10,节点8Close 表节点s ,节点1,节点2,节点3,节点4,节点5,节点6,节点7,节点8,节点9 节点s,节点1,节点3,节点7,节点4,节点8,节点2,节点5,节点9节点s ,节点2,节点1,节点5,节点6,节点4估价函数无无)()()(n h n g n f +=搜索节点次序记录 节点s ,节点1,节点2,节点3,节点4,节点5,节点6,节点7,节点8,节点9,节点G 节点s,节点1,节点3,节点7,节点4,节点8,节点2,节点5,节点9,节点G 节点s ,节点2,节点1,节点5,节点6,节点4,节点G观测结果 经过11步搜索得到目标节点经过10步搜索得到目标节点经过7步搜索得到目标节点学生结论宽度优先搜索能保证在搜索树 深度优先搜索要沿路径一条一 A*算法是启发式算法的一中找到一条通向目标节点的最短路径,但由于盲目性大所以当搜索数据比较多的时候该方法较为费时。

条的走到底,如果目标在前几条路径中那么该搜索会较为快捷,在本搜索树中虽然比宽度优先少一步,但是若第一条路径或者某几条路径很深,则该搜索会相当耗时且不能保证成功。

种能通过路径的权值找出代价最为小的一条,所以很具优越性,但是算法本身计算较为复杂,要考虑以前的和将来两方面的代价,进行估算,所以没有前两种方法简单。

实验二:产生式系统实验实验目的熟悉和掌握产生式系统的运行机制,掌握基于规则推理的基本方法。

推理方法□ 正向推理 □ 反向推理建立规则库 建立事实库该动物是哺乳动物 <- 该动物有毛发. 该动物是哺乳动物 <- 该动物有奶.该动物是鸟 <- 该动物有羽毛.该动物是鸟 <- 该动物会飞&会下蛋. 该动物是食肉动物 <- 该动物吃肉.该动物是食肉动物 <- 该动物有犬齿&有爪&眼盯前方. 该动物是有蹄类动物 <- 该动物是哺乳动物&有蹄. 该动物是有蹄类动物 <- 该动物是哺乳动物& 是嚼反刍动物.该动物是金钱豹 <- 该动物是哺乳动物&是食肉动物&是黄褐色&身上有暗斑点.该动物是虎 <- 该动物是哺乳动物&是食肉动物&是黄褐色&身上有黑色条纹.该动物是长颈鹿 <- 该动物是有蹄类动物&有长脖子&有长腿&身上有暗斑点.该动物是斑马 <- 该动物是有蹄类动物&身上有黑色条纹.该动物是鸵鸟 <- 该动物是鸟&有长脖子&有长腿&不会飞&有黑白二色.该动物是企鹅 <- 该动物是鸟&会游泳&不会飞&有黑白二色.该动物是信天翁 <- 该动物是鸟&善飞.%------动物识别系统事实集: %--该动物是企鹅 会游泳. 不会飞.有黑白二色. %该动物是鸟.%-------- %--该动物是鸟 该动物会飞.会下蛋.%----该动物是金钱豹 <- 该动物是哺乳动物&是食肉动物&是黄褐色&身上有暗斑点. 该动物有毛发. %是食肉动物. 是黄褐色. 身上有暗斑点. 该动物吃肉.%----该动物是虎 <- 该动物是哺乳动物&是食肉动物&是黄褐色&身上有黑色条纹.该动物是哺乳动物.%是食肉动物. 是黄褐色.身上有黑色条纹.%----该动物是长颈鹿 <- 该动物是有蹄类动物&有长脖子&有长腿&身上有暗斑点. %该动物是有蹄类动物. 有长脖子. 有长腿. 身上有暗斑点.%----该动物是有蹄类动物 <- 该动物是哺乳动物&有蹄. %有蹄.预测结果在相关询问:该动物是哺乳动物? 该动物是鸟? 该动物是食肉动物? 该动物是金钱豹?该动物是鸵鸟?该动物是企鹅?时为真,其余为假。

人工智能课内实验报告1

人工智能课内实验报告1

人工智能课内实验报告(一)----主观贝叶斯一、实验目的1.学习了解编程语言, 掌握基本的算法实现;2.深入理解贝叶斯理论和不确定性推理理论;二、 3.学习运用主观贝叶斯公式进行不确定推理的原理和过程。

三、实验内容在证据不确定的情况下, 根据充分性量度LS 、必要性量度LN 、E 的先验概率P(E)和H 的先验概率P(H)作为前提条件, 分析P(H/S)和P(E/S)的关系。

具体要求如下:(1) 充分考虑各种证据情况: 证据肯定存在、证据肯定不存在、观察与证据 无关、其他情况;(2) 考虑EH 公式和CP 公式两种计算后验概率的方法;(3) 给出EH 公式的分段线性插值图。

三、实验原理1.知识不确定性的表示:在主观贝叶斯方法中, 知识是产生式规则表示的, 具体形式为:IF E THEN (LS,LN) H(P(H))LS 是充分性度量, 用于指出E 对H 的支持程度。

其定义为:LS=P(E|H)/P(E|¬H)。

LN 是必要性度量, 用于指出¬E 对H 的支持程度。

其定义为:LN=P(¬E|H)/P(¬E|¬H)=(1-P(E|H))/(1-P(E|¬H))2.证据不确定性的表示在证据不确定的情况下, 用户观察到的证据具有不确定性, 即0<P(E/S)<1。

此时就不能再用上面的公式计算后验概率了。

而要用杜达等人在1976年证明过的如下公式来计算后验概率P(H/S):P(H/S)=P(H/E)*P(E/S)+P(H/~E)*P(~E/S) (2-1)下面分四种情况对这个公式进行讨论。

(1) P (E/S)=1当P(E/S)=1时, P(~E/S)=0。

此时, 式(2-1)变成 P(H/S)=P(H/E)=1)()1()(+⨯-⨯H P LS H P LS (2-2) 这就是证据肯定存在的情况。

(2) P (E/S)=0当P(E/S)=0时, P(~E/S)=1。

人工智能产生式系统实验报告

人工智能产生式系统实验报告

实验报告【实验名称】______________产生式系统_______________________ 【实验目的】1. 理解产生式系统的结构原理与实际应用。

2. 掌握产生式规则表示及规则库组建的实现方法。

3. 熟悉和掌握产生式系统的运行机制,掌握基于规则推理的基本方法。

【实验原理】产生式系统用来描述若干个不同的以一个基本概念为基础的系统,这个基本概念就是产生式规则或产生式条件和操作对。

在产生式系统中,论域的知识分为两部分:用事实表示静态知识;用产生式规则表示推理过程和行为。

【实验内容】1.自己建造产生式系统(包括规则库和事实库),然后进行推理,即可以自己输入任何的事实,并基于原有的规则和输入的事实进行推理。

2.建造动物识别系统,能根据输入的动物特征判断是那种动物或给出相应的回答。

3.算法设计①首先建立事实库事实库是在程序的开始直接输入的,用户根据需要选择,即要求用户先输入特征个数,然后输入动物的特征,进行识别。

如果未识别出来,则可以重新选择,或者退出。

动物的特征如下:1有奶2有毛发3有羽毛4会飞5生蛋6有爪7有犬齿8目盯前方9吃肉10有蹄11反刍食物12黄褐色13黑色条纹14黑色斑点15长腿16长脖子17暗斑点18白色19不会飞20黑白色21会游泳22善飞23不怕风浪24哺乳动物25鸟26食肉动物27有蹄动物28偶蹄动物29海燕30老虎31金钱豹32长颈鹿33斑马34鸵鸟35企鹅②建立静态规则库即建立产生式规则,本算法采用了产生中间事实的方法,便于建立和使用规则。

为了便于设计,我们把要识别的动物限于7种,这样所需要的产生式规则就比较少。

本算法共有15种规则,如下:R1: 如果动物有奶,则它是哺乳动物R2: 如果动物有毛发,则它是哺乳动物R3: 如果动物有羽毛,则它是鸟R4: 如果动物会飞且生蛋,则它是鸟R5: 吃肉的哺乳动物是食肉动物R6: 有爪有犬齿木钉前方的哺乳动物是食肉动物R7: 有蹄的哺乳动物是有蹄动物R8: 反刍食物的有蹄动物是偶蹄动物R9: 黄褐色有黑条纹的食肉动物是老虎R10:黄褐色有黑色斑点的食肉动物是金钱豹R11:长腿长脖子有黄褐色暗斑点的有蹄动物是长颈鹿R12:有黑白条纹的有蹄动物是斑马R13:不会飞长腿长脖的鸟是鸵鸟R14:不会飞会游泳黑白色的鸟是企鹅R15:善飞不怕风浪的鸟是海燕具体表示如下:R1: 1->24R2: 2->24R3: 3->25R4: 4*5->25R5: 6*7*8*24->26R6: 9*24->26R7: 10*24->27R8: 11*27->28R9: 12*13*24->30R10: 12*14*24->31R11: 12*15*16*17*27->32R12: 13*18*27->33R13: 15*16*19*25->34R14: 19*20*21*25->35R15: 22*23*25->29③正向推理过程从已知事实出发,通过规则库求得结论,或称数据驱动方式。

人工智能实验报告

人工智能实验报告

人工智能实验报告引言人工智能(AI)已经成为当今科技领域的热门话题。

随着计算机处理能力和算法的不断提高,AI在医疗、金融、农业等多个领域已经得到广泛应用。

本文将分享一个关于AI的实验报告,旨在展示AI的应用和未来的发展。

实验目的本实验旨在通过使用两种不同的AI技术,即监督式学习和无监督式学习,来对预测特定事件的准确性进行比较。

实验过程我们使用了UCI机器学习库中提供的一个数据集进行分析。

该数据集提供了2008年美国总统选举的相关信息,其中包括每个州选民的人口统计数据、支持民主党和共和党的百分比等。

第一个实验是使用监督式学习算法——支持向量机(SVM)模型。

我们使用前80%的数据进行训练,剩余的20%用于测试。

结果表明,SVM模型在测试集上的准确率达到了94%。

第二个实验是使用无监督式学习算法——k均值聚类算法。

使用相同的数据集进行训练,将数据分为7个簇。

我们将簇中的重心作为一个基准点,并计算该点的距离来对其余数据进行分类。

这种方法的准确率略低,为88%。

结果分析结果表明,监督式学习算法SVM的分类能力优于无监督式学习算法。

这表明在面对已知的数据集时,监督式学习可以更好地进行分类,因为它需要一个“导师”的指导。

此外,实验还表明,AI技术的能力已经开始威胁到传统的分析方法。

AI在数据分析中的作用越来越重要,其应用范围将不断扩大。

未来展望人工智能技术将会在未来的发展中迅速成长,其应用将进入所有行业和领域。

相信在未来,AI能够更加精准地预测事件或做出决策。

AI能够解决传统方法无法解决的问题。

它不仅可以帮助人们更好地探索未知的数据集并洞察信息,还可以为未来的决策提供有关数据和分析。

结论本实验表明在面对已知数据集的情况下,监督式学习算法SVM比无监督式学习算法k均值聚类在分类能力上更为优秀。

人工智能技术在未来的发展中将会在所有领域得到广泛应用,为人们解决更多问题,满足社会需求。

产生式系统实验报告

产生式系统实验报告

NBA球星识别系统
一、实验目的
熟悉一阶谓词逻辑和产生式表示法,掌握产生式系统的运行机制,以及基于规则推理的基本方法。

二、实验内容
运用所学知识,设计并编程实现一个小型交通工具人工智能识别系统。

三、实验步骤
1)系统设置,包括设置系统名称为“交通工具识别系统”和系统谓词,给出谓词名及其含义。

2)编辑知识库,通过输入规则或修改规则等,完成整个规则库的建立。

3)建立事实库(综合数据库),输入多条事实或结论。

4)运行推理,包括正向推理和反向推理,给出相应的推理过程、事实区和规则区。

四、实验结果
1. 系统名称及谓词定义
2. 系统知识库
3. 系统正、反向推理过程、事实区和规则区。

正向推理:
反向推理:
五、实验总结
这次实验,我设计了一个“NBA球星识别系统”。

此系统可以识别“库里”、“杜兰特”、“哈登”、“韦德”、“霍华德”、“詹姆斯”6位NBA球星。

上诉问题的求解过程是一个不断地从规则库中选择可用规则与综合数据库中的已知事实进行匹配的过程,规则的每一次成功匹配都使综合数据库增加了新的内容,并朝着问题的解决方向前进了一步。

通过本次实验,我感性得认识了产生式系统,收获良多。

2016/4/12。

产生式实验报告

产生式实验报告

产生式实验报告一、引言产生式(Production)是一种用于表示语法规则的形式化工具,它在人工智能领域具有广泛的应用。

本实验报告旨在介绍产生式的基本概念、产生式的应用领域以及在实验中如何使用产生式来实现推理和搜索。

二、产生式的基本概念1. 产生式的定义产生式是一种形式化的表示语法规则的工具。

它由一个左部(Left-hand side)和一个右部(Right-hand side)组成,左部表示一个非终结符号,右部则表示一串终结符号和非终结符号的序列。

2. 产生式的形式产生式的形式通常为:左部 -> 右部,其中右部由终结符和非终结符组成,可以为空。

3. 产生式的应用产生式在人工智能领域有广泛的应用,例如在自然语言处理中,可以使用产生式来表示句子的语法结构;在专家系统中,可以使用产生式来表示知识库中的规则;在编译原理中,可以使用产生式来描述语言的语法规则等。

三、产生式的应用领域1. 自然语言处理在自然语言处理中,产生式被广泛应用于句子的语法分析、语义分析以及机器翻译等任务。

通过定义一系列产生式规则,可以构建一个语法分析器,用于自动识别和分析句子的结构和意义。

2. 专家系统专家系统是一种基于知识库的智能系统,其中的知识被表示为一组产生式规则。

通过使用产生式来表示知识和推理规则,专家系统可以根据用户提供的问题和条件进行推理和决策,给出相应的解答和建议。

3. 编译原理编译原理是计算机科学中的一个重要领域,其中的产生式被广泛应用于编译器的前端处理,用于描述语言的语法规则和语义规则。

通过使用产生式和对应的语法分析算法,可以将源代码转化为中间代码或目标代码。

四、产生式在实验中的应用在实验中,我们可以使用产生式来实现推理和搜索。

以人工智能领域的经典问题“图搜索”为例,我们可以使用产生式规则来描述搜索的过程。

1. 初始状态假设我们需要解决一个迷宫问题,迷宫可以表示为一个二维矩阵,其中的元素可以是墙壁、路径或终点。

人工智能实验报告解读

人工智能实验报告解读

人工智能课内实验报告主观贝叶斯方法的研究一、实验题目主观Bayes方法的研究。

二、实验目的在证据不确定的情况下,根据充分性量度LS、必要性量度LN、E的先验概率P(E)和H的先验概率P(H)作为前提条件,分析P(H/S)和P(E/S)的关系。

三、实验原理1、证据不确定性的表示1. 在主观Bayes方法中,证据的不确定性用概率表示。

对于证据E,由用户根据观察S给出P(E|S),即动态强度。

用P(E|S)描述证据的不确定性(证据E不是可以直接观测的)。

2. 证据肯定存在时,P(E|S)=1;3. 证据肯定不存在时, P(E|S)=0;4. 证据具有不确定性时, 0<P(E|S)<1。

2、LN和LS的意义1.当证据E愈是支持H为真时,则应是使相应的LS值愈大。

若证据E对H愈是必要,则相应LN的值愈小。

2.不能出现LS>1且LN>1的取值因为: LS>1:表明证据E是对H有利的证据。

LN>1:表明证据¬E是对H有利的证据。

3.不能出现LS<1且LN<1的取值因为:LS<1: 表明证据 E是对H不利的证据。

LN<1:表明证据¬E是对H不利的证据。

4. 一般情况下,取LS>1, LN<1。

3、证据不确定的情况在现实中,证据肯定存在和肯定不存在的极端情况是不多的,更多的是介于二者之间的不确定情况。

对初始证据来说,由于用户对客观事物或现象的观察不是很精确,因而所提供的证据是不确定的;另外,一条知识的证据往往来源于另一条知识推出的结论,一般也具有某种程度的不确定性。

所以我们要在S对E的观察的先验概率0<P(E/S)<1的情况下确定H的后验概率P(H/S)。

在证据确定的情况下,我们因该用杜达等人1976年证明了的公式来进一步讨论:(/)(/)*(/)(/)*(/)P H S P H E P E S P H E P E S =+--分四种情况讨论这个公式:1. P(E/S)=1当P(E/S)=1时,P(-E/S)=0。

人工智能实验报告

人工智能实验报告

人工智能实验报告一、引言人工智能(AI)已经成为当今科技领域的热门话题。

作为一种模拟人类智能的技术,它正在找到广泛的应用,从语音助手到无人驾驶汽车,从医疗诊断到金融分析。

本次实验旨在深入探索人工智能算法在图像分类方面的应用,通过搭建一个基于卷积神经网络(CNN)的图像分类系统,进一步了解人工智能的工作原理。

二、实验目的本次实验的主要目的是设计、实现并测试一个基于CNN的图像分类系统,并通过在不同数据集上的表现评估其性能。

通过这个实验,我们可以探索CNN在图像分类问题上的优势和限制,并深入了解与其相关的算法。

三、实验步骤1. 数据集准备:首先,我们需要准备一个用于图像分类的数据集。

为了让模型具有普适性,我们选择了包含多个类别和不同图像样本的数据集。

2. 数据预处理:在输入数据到CNN之前,我们需要对其进行预处理。

这包括图像缩放、灰度化、归一化等步骤,以确保输入数据的质量一致。

3. 搭建CNN模型:接下来,我们根据实验需求搭建一个合适的CNN模型。

这个模型可以包括多个卷积层、池化层和全连接层,用于提取图像特征并进行分类。

4. 训练模型:使用准备好的数据集,我们将模型进行训练。

这个过程需要迭代多次,通过优化算法不断调整模型参数,以实现更好的分类效果。

5. 模型性能评估:在训练完成后,我们需要使用一个独立的测试数据集对模型进行性能评估。

通过计算准确率、召回率等指标,可以了解模型的分类能力和泛化能力。

四、实验结果经过实验,我们得到了一个在图像分类问题上表现良好的CNN 模型。

在经过大规模的训练和调优后,该模型在测试数据集上达到了90%以上的准确率,表明其具备较好的泛化性能。

五、讨论与展望基于CNN的图像分类系统是目前人工智能领域的热门研究方向。

通过本次实验,我们深入了解了CNN模型的搭建和训练过程,并在一个具体的应用案例中应用之。

然而,我们也认识到了目前该系统仍存在着一些限制和挑战。

首先,CNN模型对于大规模数据集的需求较高,而且训练过程非常耗费时间和计算资源。

人工智能原理及应用实验报告

人工智能原理及应用实验报告

2019 年秋季学期研究生课程考核(人工智能原理及应用实验报告)考核科目:人工智能原理及应用学生所在院(系):学生所在学科:学生姓名:学号:学生类别:全日制考核结果阅卷人实验2知识表示实验一、 问题描述猴子摘香蕉问题,给出它的产生式系统表示。

猴子摘香蕉问题,给出它的产生式系统表示。

1.1 待解决问题的解释一个房间里,天花板上挂有一串香蕉,有一只猴子可在房间里任意活动(到处走动,推移箱子,攀登箱子等)。

设房间里还有一只可被猴子移动的箱子,且猴子登上箱子时才能摘到香蕉,问猴子在某一状态下(设猴子位置为A ,箱子位置在B ,香蕉位置为C ),如何行动可摘取到香蕉。

,如何行动可摘取到香蕉。

1.2 问题的形式化描述该问题的本质是利用知识表示的方法来解决猴子摘香蕉的问题。

该问题的本质是利用知识表示的方法来解决猴子摘香蕉的问题。

如果把猴子、如果把猴子、箱子和香蕉的位置用箱子和香蕉的位置用{-1{-1{-1,,0,1}1}里的数字表示里的数字表示(分别对应为A,B,C A,B,C)),则可以用一个三元组来表示问题的状态,任意输入一个合法的状态,即可输出一个从初始状态到目标状态的过程。

实际实现需要使用四元组,因为还需要记录猴子与箱子的相对位置。

相对位置。

1.3 解决方案介绍(原理)根据题目要求需要采用产生式系统表示。

根据题目要求需要采用产生式系统表示。

首先定义一个综合数据库,包含所有状态的状态空间(monkey, monkey, box, banana, box, banana, monkey_box monkey_box)),分别表示猴子、箱子和香蕉的位置及猴子与箱子的相对位置,用{-1{-1,,0,1}1}表示。

表示。

表示。

接着不妨定义猴子的行动规则,即规则数据库:走到X 位置处;跳到箱子上;从箱子上跳下来;从箱子上跳下来;将箱子移到另一个位置;将箱子移到另一个位置;将箱子移到另一个位置;如果站在箱子上且有香蕉,如果站在箱子上且有香蕉,如果站在箱子上且有香蕉,则可以摘则可以摘香蕉。

人工智能开发实验报告

人工智能开发实验报告

人工智能开发实验报告人工智能(Artificial Intelligence,AI)作为当今信息技术领域的热门研究方向,其在各个领域的应用越来越广泛。

本实验旨在通过开发一个简单的人工智能程序,来探讨人工智能的基本原理和应用方法。

在本实验中,我们将介绍人工智能开发的过程,并展示最终的实验结果。

首先,我们需要确定人工智能程序的具体任务。

在本实验中,我们选择开发一个简单的聊天机器人程序,用于回答用户提出的问题。

聊天机器人是人工智能在自然语言处理领域的典型应用,通过对用户输入的文本进行分析和理解,然后生成相关的回复。

接下来,我们将介绍程序的具体设计和实现过程。

在开发人工智能程序之前,我们需要收集和整理相关的语料库,用于训练程序的模型。

语料库是指大量的文本数据,包括了用户问题和模型回复的对话内容。

通过对语料库的学习和训练,程序能够学习到不同问题的对应回答,并在实际应用中进行推理和回复。

接着,我们使用Python编程语言和开源的人工智能库来实现聊天机器人程序。

在程序的设计中,我们采用了基于规则的方法和机器学习方法相结合的方式。

基于规则的方法包括了预设的一些规则和规则库,用于匹配用户输入的问题和生成对应的回复。

而机器学习方法则是通过训练和学习,让程序能够更智能地回答用户的问题。

在实验过程中,我们不断优化程序的性能和准确率。

通过对程序进行测试和调试,我们逐步改进算法和模型,提高了程序的智能程度和交互体验。

最终,我们得到了一个能够准确回答用户问题的聊天机器人程序,并实现了人工智能的开发目标。

综上所述,本实验通过开发一个简单的聊天机器人程序,展示了人工智能的基本原理和应用方法。

通过对程序的设计、实现和优化过程的介绍,我们深入理解了人工智能技术的发展和应用前景。

人工智能作为一个新兴的领域,将在未来更多领域得到应用并产生深远的影响。

愿本实验能给学习人工智能的同学带来帮助,激发更多人对人工智能技术的兴趣和热情。

《人工智能》实验报告之产生式系统

《人工智能》实验报告之产生式系统

《人工智能》实验报告
实验序号:09260021-01 实验项目名称:产生式系统的设计与实现
说明:实验检查方式(7-8周)
1.系统演示
a) 界面显示要求
(1)有若干选择初始事实的选择列表;
(2)显示规则的调用次序及综合数据库的变化过程;(正向推理中显示每使用一次规则后,产生的新事实。

反向推理中显示新的目标事实有哪些需要证明及哪些已经得到证实);
(3)显示最后的推理结果。

b) 代码基本功能的实现要求
初始事实的输入;规则的存储与载入;规则匹配、冲突消解、规则执行;结果输出。

2.提交实验报告。

人工智能产生式系统实验报告

人工智能产生式系统实验报告

人工智能产生式系统实验报告嘿,大家好,今天咱们聊聊人工智能产生式系统,听起来挺高大上的,其实说白了,就是一套能模仿人类思维过程的工具。

这就像是一个聪明的小伙伴,随时准备给你出主意,帮你解决问题。

想象一下,你在厨房里忙得不可开交,正想做道新菜,结果小伙伴跳出来说:“嘿,试试加点这个,或者换个做法!”是不是感觉特别贴心?产生式系统的基本原理就像是“做菜”,你得先有一堆食材。

这些食材就是知识,系统需要从中找到合适的配方来“做饭”。

系统里有规则,就像是菜谱,按照这些规则,系统能够在特定情况下给出合理的建议,甚至解决复杂问题。

听起来简单,但其实背后可是有一番“打磨”的过程。

就像学做饭,你不能一开始就能做出五星级大餐,总得经历一些“翻车”的瞬间,才能掌握窍门。

在实验过程中,我的任务就是建立一个这样的产生式系统。

先得定义一些基本的知识库。

就像咱们平时积累的生活经验,知识库里包含各种规则和事实。

这部分就得耐心一点,像写日记一样,把每条信息整理好,方便随时调取。

我还得设定一些规则,这些规则就像是行驶在高速公路上的交通信号灯,得让系统知道在不同情况下该怎么反应。

比如说,如果客户问“这道菜怎么做”,系统就得立刻提供相关的做法。

在实际操作中,偶尔也会遇到些小麻烦。

比如,有时候规则设定得不够清晰,导致系统给出的建议让人哭笑不得。

有一回,我设定了一个规则,让系统根据食材推荐菜品。

结果系统调侃了一句:“你只剩下一根黄瓜,不如做个黄瓜沙拉吧。

”我当时真是有点无奈,想说你这小子太现实了,难道我就不能做个大餐吗?不过这也让我意识到,规则得具体一些,不能随便应付。

然后我开始进行测试,看看系统反应如何。

每次测试都是个惊喜,或者说是惊吓。

比如某次,我故意问:“我想吃点特别的,有什么推荐?”结果系统居然给出了“草莓酱炒牛肉”的创意。

这让我想起了那些网红菜,口味奇特,但未必人人都能接受。

系统的建议让我感受到了一种“脑洞大开”的乐趣,真是让人哭笑不得。

智能制造系统实验报告(3篇)

智能制造系统实验报告(3篇)

第1篇一、实验背景随着科技的飞速发展,智能制造已成为制造业转型升级的重要方向。

智能制造系统通过整合信息技术、自动化技术和人工智能技术,实现了生产过程的智能化、网络化和协同化。

为了深入了解智能制造系统的应用,本实验报告将围绕智能制造系统的基本原理、关键技术及其实验过程进行阐述。

二、实验目的1. 理解智能制造系统的基本原理和关键技术;2. 掌握智能制造系统的实验方法和步骤;3. 分析智能制造系统在实际生产中的应用效果;4. 提高对智能制造系统的认识,为今后从事相关工作奠定基础。

三、实验原理智能制造系统基于以下关键技术:1. 传感器技术:通过传感器实时采集生产过程中的各种数据,为智能制造系统提供数据支持。

2. 通信技术:利用有线或无线通信技术,实现设备、系统和人之间的信息交换。

3. 控制技术:通过控制算法对生产设备进行实时控制,确保生产过程的稳定性和效率。

4. 人工智能技术:利用机器学习、深度学习等技术,实现智能决策和优化。

四、实验内容1. 实验环境搭建:搭建智能制造实验平台,包括传感器、控制器、执行器等设备。

2. 数据采集:通过传感器实时采集生产过程中的各种数据,如温度、压力、流量等。

3. 数据传输:利用通信技术将采集到的数据传输至中央控制系统。

4. 数据处理:对采集到的数据进行预处理、特征提取和建模分析。

5. 智能决策:根据数据处理结果,利用人工智能技术进行智能决策和优化。

6. 执行控制:根据智能决策结果,控制执行器对生产过程进行调整。

五、实验步骤1. 搭建实验平台:根据实验要求,搭建智能制造实验平台,包括传感器、控制器、执行器等设备。

2. 安装传感器:将传感器安装在实验设备上,确保传感器能够实时采集生产过程中的数据。

3. 配置通信模块:配置通信模块,实现传感器与控制器之间的数据传输。

4. 编写控制程序:编写控制程序,实现生产设备的实时控制。

5. 数据采集与分析:通过传感器采集生产数据,利用数据处理软件进行数据预处理、特征提取和建模分析。

实验一:产生式系统-动物识别系统

实验一:产生式系统-动物识别系统

《人工智能导论》实验报告实验一:产生式系统——动物识别系统一、实验目的1、掌握知识的产生式表示法2、掌握用程序设计语言编制智能程序的方法二、实验内容1、所选编程语言:C语言;2.拟订的规则:(1)若某动物有奶,则它是哺乳动物。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2、设计思路:用户界面:采用问答形式;知识库(规则库):存放产生式规则,推理时用到的一般知识和领域知识,比如动物的特征,动物的分类标准,从哺乳动物、食肉动物来分,再具体地添加一些附加特征得到具体动物;建立知识库的同时也建立了事实库。

事实库是一个动态链表,一个事实是链表的一个结点。

知识库通过事实号与事实库发生联系。

数据库:用来存放用户回答的问题,存放初始状态,中间推理结果,最终结果;推理机:采用正向推理,推理机是动物识别的逻辑控制器,它控制、协调系统的推理,并利用知识库中的规则对综合数据库中的数据进行逻辑操作。

推理机担负两项基本任务:一是检查已有的事实和规则,并在可能的情况下增加新的事实;二是决定推理的方式和推理顺序。

将推理机制同规则对象封装在一起,事实对象记录了当前的状态,规则对象首先拿出前提条件的断言(只有这些前提都有符合时才会做这条规则的结论),询问事实对象集,如事实对象集不知道,则询问用户,如所有前提条件都被证实为真则结论为真,否则系统不知道结论真假。

人工智能实验报告

人工智能实验报告

暨南大学人工智能实验报告题目:动物识别系统院系:信科院计算机系专业:计算机软件与理论学号: 0934061004学生姓名:张韶远成绩:日期: 2009年11月10日一、目的与要求1.掌握人工智能的知识表示技术,能用产生式表示法表示知识,并实现一个用于识别的专家系统。

2.推理策略采用正向推理和反向推理两种。

二、主要内容1.学习人工智能的知识表示技术,关键掌握产生式知识表示的具体应用方法。

2.实现的动物识别系统的主要功能如下:2.1系统能通过正向、反向推理得到正确的动物识别结果。

2.2系统能动态地添加规则、能显示推理过程。

三.实验原理产生式表示:产生式表示是知识表示的一种。

这种方法是建立在因果关系的基础上的,可很容易的描述事实、规则及其不确定性度量。

1.事实的表示:事实可看成是断言一个语言变量的值或是多个语言变量间的关系的陈述句,语言变量的值或语言变量间的关系可以是一个词。

不一定是数字。

一般使用三元组(对象,属性,值)或(关系,对象1,对象2)来表示事实,其中对象就是语言变量,若考虑不确定性就成了四元组表示(增加可信度)。

这种表示的机器内部实现就是一个表。

如事实“老李年龄是35岁”,便写成(Lee,age,35)事实“老李、老张是朋友”,可写成(friend,Lee,Zhang)2.规则的表示:规则用于表示事物间的因果关系,以if condition then action 的单一形式来描述,将规则作为知识的单位。

其中的condition 部分称为条件式前件或模式,而action部分称作动作、后件或结论。

后件。

前件和后件也可以是有“与”、“或”、“非”等逻辑运算符的组合的表达式。

条件部分常是一些事实的合取或析取,而结论常是某一事实B。

如果不考虑不确定性,需另附可信度度量值。

产生式过则的含义是:如果前件满足,则可得到后件的结论或者执行后件的相应动作,即后件由前件来触发。

一个产生式生成的结论可以作为另一个产生式的前提或语言变量使用,进一步可构成产生式系统。

产生式系统实验报告

产生式系统实验报告
必须也只能有一个结论。选择变量名,输入条件(符号),选择变量值,按确定按钮就完成了一个结论的输入。重复以上两步,完成整个规则库的建立。
3、建立事实库(总数据库):建立过程同步骤2。重复操作,可输入多条事实。
4、然后按“确定”按钮即可。
此外,利用实例演示,可以运行系统默认的产生式系统,并且可以进行正反向推理。
((CButton*)GetDlgItem(IDC_CHECK9))->SetCheck(BST_UNCHECKED);
((CButton*)GetDlgItem(IDC_CHECK10))->SetCheck(BST_UNCHECKED);
((CButton*)GetDlgItem(IDC_CHECK11))->SetCheck(BST_UNCHECKED);
((CButton*)GetDlgItem(IDC_CHECK19))->SetCheck(BST_UNCHECKED);
((CButton*)GetDlgItem(IDC_CHECK20))->SetCheck(BST_UNCHECKED);
((CButton*)GetDlgItem(IDC_CHECK21))->SetCheck(BST_UNCHECKED);
((CButton*)GetDlgItem(IDC_CHECK15))->SetCheck(BST_UNCHECKED);
((CButton*)GetDlgItem(IDC_CHECK16))->SetCheck(BST_UNCHECKED);
((CButton*)GetDlgItem(IDC_CHECK17))->SetCheck(BST_UNCHECKED);
((CButton*)GetDlgItem(IDC_CHECK3))->SetCheck(BST_UNCHECKED);

人工智能实习报告

人工智能实习报告

人工智能实习报告一、引言通过这次人工智能实习,我有幸参与了一项令人兴奋的工作,探索人工智能领域的应用和技术在实习期间,我深入学习了机器学习算法的原理和实践,了解了模型训练和优化的过程,同时也面对了一些挑战和困难。

在本次实习报告中,我将介绍我在人工智能领域的工作经验和成果,分享我在实习过程中遇到问题的思路和解决方式。

二、机器学习算法的应用在实习期间,我参与了一个项目,旨在应用机器学习算法解决一个实际问题。

具体来说,我们团队使用了经典的监督学习算法,如线性回归、决策树和支持向量机,对大量数据进行训练和建模。

我们的目标是开发一个能够根据输入数据做出准确预测的模型。

通过数据的分析和特征工程,我们成功地优化了模型,并取得了令人满意的实验结果。

三、模型训练和优化实习期间,我深入了解了模型训练和优化的过程。

我们团队首先进行了数据的预处理,包括数据清洗、特征选择和数据归一化等。

然后,我们使用训练数据对模型进行训练,并使用验证数据对模型进行评估和调优。

我们尝试了不同的算法和参数组合,优化模型的性能。

在模型训练和优化的过程中,我学到了很多关于机器学习的知识和技巧。

四、成果展示通过实习期间的努力,我们团队成功地开发了一个准确预测的模型。

经过对测试数据的验证,我们的模型在准确率和召回率等指标上表现出色。

我们的模型在实际应用中具有很高的可行性和价值,可以帮助企业做出更准确的预测和决策。

我们的成果得到了导师和团队的认可,也获得了一定的社会影响力。

五、遇到的困难和解决方式在实习过程中,我们也面临了一些挑战和困难。

例如,数据的质量和可用性是一个问题。

有时候,数据缺失或者存在异常值,影响了模型的训练和性能。

为了解决这个问题,我们进行了数据清洗和特征选择等工作,尽量消除数据的噪音和不完整性。

此外,模型的选择和参数调优也是一个挑战。

我们不断尝试不同的算法和参数组合,通过实验和验证,选择了最适合我们项目的模型。

六、实习心得体会通过这次实习,我深刻体会到了人工智能在实际应用中的重要性和潜力。

人工智能实验报告 产生式系统推理 动物识别

人工智能实验报告 产生式系统推理 动物识别

i++; } rulenum=i; fclose(fp); } 3. 规则库的匹配算法是什么?如何选用可用规则集中的规则?分别使用哪些函数实现 的? 程序中的正向与逆向搜索分别是在 void main() 中调用 forwardFinger() 和 backFinger() 来 实现的。 正向搜索 从下向上的推理。由于建立规则库时的内在要求,即子规则必在父规则前,故进行正向 推理的时候只要将规则库从前到后扫一遍看是否能由规则推出相应结果即可。 如果能匹配推 出结果则看该结果是否为动物,如果已经推出动物则推理成功。否则更新事实库,匹配下一 个规则。代码如下: void forwardFinger() { int flag;//1:工作已完成 0:还未完成 int flagFit; int flagCNew;//记录本次循环有没有推出新事实
功。推某一个事实时,仍然是从该事实的前提出发,逐个匹配,若所有的前提满足,则该事 实满足。代码如下: void backFinger() { int i; bQueueNode markdCod[MAXNUM];//stat 字段用来存它的结论的序号 int flagFitAll; int markdCodNum; double fitDegree; int flagExistAns; flagFitAll=0; flagExistAns=0; for(i=0;i<goalnum&&flagFitAll==0;i++)//一种动物 { initBack(&fitDegree,&markdCodNum,i); while(bqueue.head!=bqueue.tail) { if(bqueue.head==9&&bqueue.tail==11) { bqueue.head=bqueue.head; } findCod(); recMarkdCod(markdCod,&markdCodNum); if(bqueue.bNode[bqueue.head].stat==0) { addNodeToQueue(); takeToClose(bqueue.bNode[bqueue.head].codXuh,bqueue.tail-1); } bqueue.head++; if(bqueue.head==bqueue.tail) { if(close.head!=close.tail) { takeTobqueue(close.head); } } } fitDegree=workFitDegree(markdCod,markdCodNum); if(fitDegree>1e-5) { if(StillCodNoUseAndContradict(i+codnum)) { printf("它不是%s。\n",goal[i].valu); }
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告【实验名称】______________产生式系统_______________________ 【实验目的】1. 理解产生式系统的结构原理与实际应用。

2. 掌握产生式规则表示及规则库组建的实现方法。

3. 熟悉和掌握产生式系统的运行机制,掌握基于规则推理的基本方法。

【实验原理】产生式系统用来描述若干个不同的以一个基本概念为基础的系统,这个基本概念就是产生式规则或产生式条件和操作对。

在产生式系统中,论域的知识分为两部分:用事实表示静态知识;用产生式规则表示推理过程和行为。

【实验内容】1.自己建造产生式系统(包括规则库和事实库),然后进行推理,即可以自己输入任何的事实,并基于原有的规则和输入的事实进行推理。

2.建造动物识别系统,能根据输入的动物特征判断是那种动物或给出相应的回答。

3.算法设计①首先建立事实库事实库是在程序的开始直接输入的,用户根据需要选择,即要求用户先输入特征个数,然后输入动物的特征,进行识别。

如果未识别出来,则可以重新选择,或者退出。

动物的特征如下:1有奶2有毛发3有羽毛4会飞5生蛋6有爪7有犬齿8目盯前方9吃肉10有蹄11反刍食物12黄褐色13黑色条纹14黑色斑点15长腿16长脖子17暗斑点18白色19不会飞20黑白色21会游泳22善飞23不怕风浪24哺乳动物25鸟26食肉动物27有蹄动物28偶蹄动物29海燕30老虎31金钱豹32长颈鹿33斑马34鸵鸟35企鹅②建立静态规则库即建立产生式规则,本算法采用了产生中间事实的方法,便于建立和使用规则。

为了便于设计,我们把要识别的动物限于7种,这样所需要的产生式规则就比较少。

本算法共有15种规则,如下:R1: 如果动物有奶,则它是哺乳动物R2: 如果动物有毛发,则它是哺乳动物R3: 如果动物有羽毛,则它是鸟R4: 如果动物会飞且生蛋,则它是鸟R5: 吃肉的哺乳动物是食肉动物R6: 有爪有犬齿木钉前方的哺乳动物是食肉动物R7: 有蹄的哺乳动物是有蹄动物R8: 反刍食物的有蹄动物是偶蹄动物R9: 黄褐色有黑条纹的食肉动物是老虎R10:黄褐色有黑色斑点的食肉动物是金钱豹R11:长腿长脖子有黄褐色暗斑点的有蹄动物是长颈鹿R12:有黑白条纹的有蹄动物是斑马R13:不会飞长腿长脖的鸟是鸵鸟R14:不会飞会游泳黑白色的鸟是企鹅R15:善飞不怕风浪的鸟是海燕具体表示如下:R1: 1->24R2: 2->24R3: 3->25R4: 4*5->25R5: 6*7*8*24->26R6: 9*24->26R7: 10*24->27R8: 11*27->28R9: 12*13*24->30R10: 12*14*24->31R11: 12*15*16*17*27->32R12: 13*18*27->33R13: 15*16*19*25->34R14: 19*20*21*25->35R15: 22*23*25->29③正向推理过程从已知事实出发,通过规则库求得结论,或称数据驱动方式。

推理过程是:规则集中的规则前件与事实库中的事实进行匹配,得匹配的规则集合。

从匹配规则集合中选择一条规则作为使用规则。

执行使用规则的后件,将该使用规则的后件送入事实库中。

重复这个过程直至达到目标。

如有多条匹配规则需从中选一条作为使用规则,本算法是根据规则的顺序依次选择,且规则中不存在同一组事实对应多条匹配规则。

④实验流程图⑤实验结果及分析如输入如下事实:有羽毛、善飞、不怕风浪。

系统的推理过程如下:先从规则库中取出第一条规则R1,检查其前提是否可与事实库中的已知事实相匹配。

R1的前提是“有奶”,但事实库中无此事实,故匹配失败;然后取R2,匹配失败;接着取R3,该前提与已知事实“有羽毛”相匹配,故R3被执行,并将其结论“鸟”作为新的事实加入到事实库中。

此时,事实库的内容变为:有羽毛、善飞、不怕风浪、鸟;此后,R4~R14均匹配失败,接着取R15,该前提“善飞+不怕风浪+鸟”与已知事实相匹配,R15被执行,并推出“该动物是海燕”。

由于“海燕”已是目标集合中的一个结论,即已推出最终结果,故问题求解过程结束。

下面是程序运行的结果:【实验程序】#include<stdio.h>#define N 23void main(){int i,j,k,a,b,c;int num;int fact[N],temp[N];int flag=1;while(flag==1){printf("动物的特征如下:\n");printf("1有奶2有毛发3有羽毛4会飞5生蛋\n6有爪7有犬齿8目盯前方9吃肉10有蹄\n11反刍食物12黄褐色13黑色条纹14黑色斑点15长腿\n16长脖子17暗斑点18白色19不会飞20黑白色\n21会游泳22善飞23不怕风浪\n");printf("请输入描述该动物特征的个数:");scanf("%d",&num);printf("请输入对这只动物的特征描述的序号(按序号由小到大):\n");for(i=0;i<num;i++){scanf("%d",&a);fact[i]=a;}//********************************for(i=0;i<num;i++){if(fact[i]==1){fact[num]=24;num++;printf("使用规则1,新增加的事实为: 哺乳动物\n");break;}}//********************************for(i=0;i<num;i++){if(fact[i]==2){fact[num]=24;num++;printf("使用规则2,新增加的事实为: 哺乳动物\n");break;}}//********************************for(i=0;i<num;i++){if(fact[i]==3){fact[num]=25;num++;printf("使用规则3,新增加的事实为:鸟\n");break;}}//********************************k=0;for(i=0;i<num;i++){if(fact[i]==4){temp[k]=fact[i];k++;continue;}if(fact[i]==5){temp[k]=fact[i];break;}}if(temp[0]==4&&temp[1]==5){fact[num]=25;num++;printf("使用规则4,新增加的事实为:鸟\n");}//******************************** k=0;for(i=0;i<num;i++){if(fact[i]==6){temp[k]=fact[i];k++;continue;}if(fact[i]==7){temp[k]=fact[i];k++;continue;}if(fact[i]==8){temp[k]=fact[i];k++;continue;}if(fact[i]==24){temp[k]=fact[i];break;}}if(temp[0]==6&&temp[1]==7&&temp[2 ]==8&&temp[3]==24){fact[num]=26;num++;printf("使用规则5,新增加的事实为:食肉动物\n");}//********************************k=0;for(i=0;i<num;i++){if(fact[i]==9){temp[k]=fact[i];k++;continue;}if(fact[i]==24){temp[k]=fact[i];break;}}if(temp[0]==9&&temp[1]==24){fact[num]=26;num++;printf("使用规则6,新增加的事实为:食肉动物\n");}//********************************k=0;for(i=0;i<num;i++){if(fact[i]==10){temp[k]=fact[i];k++;continue;}if(fact[i]==24){temp[k]=fact[i];break;}}if(temp[0]==10&&temp[1]==24){fact[num]=27;num++;printf("使用规则7,新增加的事实为:有蹄动物\n");}//********************************k=0;for(i=0;i<num;i++){if(fact[i]==11){temp[k]=fact[i];k++;continue;}if(fact[i]==27){temp[k]=fact[i];break;}}if(temp[0]==11&&temp[1]==27){fact[num]=28;num++;printf("使用规则8,新增加的事实为:偶蹄动物\n");}//********************************k=0;for(i=0;i<num;i++){if(fact[i]==12){temp[k]=fact[i];k++;continue;}if(fact[i]==13){temp[k]=fact[i];k++;continue;}if(fact[i]==24){temp[k]=fact[i];break;}}if(temp[0]==12&&temp[1]==13&&temp [2]==24){fact[num]=30;//num++;printf("使用规则9,新增加的事实为:老虎\n该动物为老虎\n");}//********************************k=0;for(i=0;i<num;i++){if(fact[i]==12){temp[k]=fact[i];k++;continue;}if(fact[i]==14){temp[k]=fact[i];k++;continue;}if(fact[i]==24){temp[k]=fact[i];break;}}if(temp[0]==12&&temp[1]==14&&temp [2]==24){fact[num]=31;//num++;printf("使用规则10,新增加的事实为:金钱豹\n该动物为金钱豹\n");}//********************************k=0;for(i=0;i<num;i++){if(fact[i]==12){temp[k]=fact[i];k++;continue;}if(fact[i]==15){temp[k]=fact[i];k++;continue;}if(fact[i]==16){temp[k]=fact[i];k++;continue;}if(fact[i]==17){temp[k]=fact[i];k++;continue;}if(fact[i]==27){temp[k]=fact[i];break;}}if(temp[0]==12&&temp[1]==15&&temp [2]==16&&temp[3]==17&&temp[4]==27){fact[num]=32;//num++;printf("使用规则11,新增加的事实为:长颈鹿\n该动物为长颈鹿\n");}//********************************k=0;for(i=0;i<num;i++){if(fact[i]==13){temp[k]=fact[i];k++;continue;}if(fact[i]==18){temp[k]=fact[i];k++;continue;}if(fact[i]==27){temp[k]=fact[i];break;}}if(temp[0]==13&&temp[1]==18&&temp [2]==27){fact[num]=33;//num++;printf("使用规则12,新增加的事实为:斑马\n该动物为斑马\n");}//********************************k=0;for(i=0;i<num;i++){if(fact[i]==15){temp[k]=fact[i];k++;continue;}if(fact[i]==16){temp[k]=fact[i];k++;continue;}if(fact[i]==19){temp[k]=fact[i];k++;continue;}if(fact[i]==25){temp[k]=fact[i];break;}}if(temp[0]==15&&temp[1]==16&&temp [2]==19&&temp[3]==25){fact[num]=34;//num++;printf("使用规则13,新增加的事实为:鸵鸟\n该动物为鸵鸟\n");}//********************************k=0;for(i=0;i<num;i++){if(fact[i]==19){temp[k]=fact[i];k++;continue;}if(fact[i]==20){temp[k]=fact[i];k++;continue;}if(fact[i]==21){temp[k]=fact[i];k++;continue;}if(fact[i]==25){temp[k]=fact[i];break;}}if(temp[0]==19&&temp[1]==20&&temp [2]==21&&temp[3]==25){fact[num]=35;//num++;printf("使用规则14,新增加的事实为:企鹅\n该动物为企鹅\n");}//********************************k=0;for(i=0;i<num;i++){if(fact[i]==22){temp[k]=fact[i];k++;continue;}if(fact[i]==23){temp[k]=fact[i];k++;continue;}if(fact[i]==25){temp[k]=fact[i];break;}}if(temp[0]==22&&temp[1]==23&&temp [2]==25){fact[num]=29;//num++;printf("使用规则15,新增加的事实为:海燕\n该动物为海燕\n");}//********************************if(fact[num]<29)printf("现有事实无法推断出结果!\n");printf("\n");printf("继续请按1,退出按其它数字键:");scanf("%d",&c);if(c==1)flag=c;else break;}}【小结或讨论】本系统的规则库是静态的,不能动态增加新的规则。

相关文档
最新文档