人工智能产生式系统实验报告解读
关于人工智能的实习报告

关于人工智能的实习报告在当今科技飞速发展的时代,人工智能(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.学习了解编程语言, 掌握基本的算法实现;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。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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;}}【小结或讨论】本系统的规则库是静态的,不能动态增加新的规则。