年级 姓名
实验目的 建立规则库
班级 熟悉和掌握产生式系统的运行机制,掌握基于规则推理 的基本方法。掌握人工智能的知识表示技术,能用产生 式表示法表示知识。
指导老 师
日期 推理 方法 □ □ 正向推理 反向推理 建立事实库% course(C) is true if C is a university course course(322). course(315). % department(C,D) is true if course C is offered in department D. department(322,comp_science) . department(315,math). % student(S) is true if S is a student enrolled(john,322). student(john). % enrolled(S,C) is true if
% cs_course(C) is true if course C is offered in % the computer science department cs_course(C) <- department(C,comp_science). % math_course(C) is true if course C is offered in % the mathematics department math_course(C) <- department(C,math). % cs_or_math_course(C) is true if course C is offered in % either the computer science department or the % mathematics department cs_or_math_course(C) <- cs_course(C). cs_or_math_course(C) <- math_course(C). % in_dept(S,D) is true if student S is enrolled % in a course offered in deparment D in_dept(S,D) <- enrolled(S,C) & department(C,D) & student(S) & course(C).
student S is enrolled in co
urse C enrolled(john,315).
预测结果
Quest 为“in_dept(john,math)”,最后能够得到求证。 备注(原因等) 1、 首先从规则库取出第一条规则 r1,将 r1中的前提部分与初始事实集中的事实相比较, 匹配失败;于是继续取第二条规则再试,匹配失败…直到 r5才得到 enrolled(john,C) 、 department(C, math)、student(john)course(C),暂取 C=322,构造出假设事实集! 于 是 假 设 事 实 集 为 : enrolled(john, 322) 、 department(322, math) 、 student(john)、course(322) 初 始 事 实 集 为 : course(315) 、 department(315,math) 、 student(john) 、 enrolled(john,315)。 实验过程及结果 2、 可见,假设集与事实集匹配不成功,说明先前的取值有问题,返回再次取值。 (注意观测规则的 3、 取 C=315,构造出假设事实集! 匹配过程和方法) 于 是 假 设 事 实 集 为 : enrolled(john, 315) 、 department(315, math) 、 student(john)、course(315) 初 始 事 实 集 为 : course(315) 、 department(315,math) 、 student(john) 、 enrolled(john,315)。 4、此后,一一匹配,均与事实集匹
配。 5、能够证明——in_dept(john,math)
学生结论 指导老师意见
运用正向和反向推理,产生式系统能够完成有一定难度的推理问题。