人工智能专家系统.docx
文本预览下载声明
实验题目
关于中日战争的小型专家系统
实验目的及要求
目的:通过设计一个小型专家系统,加强学生对于人工智能知识的理解和认识,并强化学生的实践能力,中间的编程环节也可以锻炼学生的编程能力,培养学生的综合素质。
要求:
1、确定推理方法(正向还是反向),并根据问题设计实现一个简单的不通用推理机(匹配、冲突消解)
2、规则库要求至少包含15条规则
3、初始事实可以任意给定,输入初始事实后能够得到推理结果
4、设计人机界面,解释模块提供查询规则的功能
5、可以不考虑知识库管理模块
6、提交实验报告
7、报告中要有推理树
产生式推理
产生式系统的推理
正向推理
从已知事实出发,与规则库中的规则匹配的方式
自底向上,也称为数据驱动方式
反向推理
从目标出发,反向使用规则,直到找到已知事实
自顶向下,也称为目标驱动方式
双向推理
正向推理与反向推理同时使用,直到在某一中间结果重合
正向推理
步1 将初始事实置入动态数据库;
步2 用动态数据库中的事实,匹配目标条件,若目标条件满足,则推理成功,结束。
步3 用规则库中各规则的前件匹配动态数据库中的事实,将匹配成功的规则组成冲突集;
步4 若冲突集为空,则运行失败,退出。
步5 对冲突集做冲突消解,对选择执行的各规则,将其结论加入动态数据库,或执行其动作,转步2
逆向推理
步1 将初始事实置入动态数据库,将目标条件置入目标集;
步2 若目标集为空,则推理成功,结束。
步3 取目标集中第一个目标,用动态数据库中的事实同其匹配,若匹配成功,删除该目标,转步2;
步4 用规则集中的各规则的后件同该目标匹配,若匹配成功,则将第一个匹配成功且未用过的规则的前件作为新的目标,并取代原来的父目标而加入目标集,转步3;
步5 若该目标是初始目标,则推理失败,退出。
步6 将该目标的父目标移回目标集,取代该目标及其兄弟目标,转步3。
正向推理的流程图
实验分析
4.1实验题目
关于中日战争分析的专家系统
4.2战争分析各阶段
1、产生摩擦
2、各方调停
3、中日会谈
4.1、谈判破裂 4.2(和平解决)
5、战争爆发
6、日本战败
7、第三次世界大战爆发
4.3产生式规则
R1: if 东海问题 then 中日产生摩擦
R2: if 钓鱼岛危机then中日产生摩擦
R3: if 朝核问题then中日产生摩擦
R4: if 中日历史问题then中日产生摩擦
R5: if中日产生摩擦∧美国调停 then 中日历史领土会谈
R6: if中日产生摩擦∧欧盟调停then中日历史领土会谈
R7: if中日产生摩擦∧联合国调停then中日历史领土会谈
R8: if中日产生摩擦∧俄罗斯调停 then中日历史领土会谈
R9: if 中日历史领土会谈∧(日本不承认历史∨ 参拜靖国神社) then 中日谈判破裂
R10: if 中日历史领土会谈∧(朝核成功V日本拒不归还钓鱼岛) then 中日谈判破裂
R11: if中日历史领土会谈∧日本归还钓鱼岛 then 和平解决,中国收回钓鱼岛
R12: if中日历史领土会谈∧(日本退出东海V承认历史道歉)then 和平解决,中国收回钓鱼岛
R13: if中日谈判破裂∧(朝核攻击日本V中国解放钓鱼岛战役V日本袭击春晓油田) then中日战争爆发
R14: if战争爆发∧(日本钓鱼岛战败V中国攻占日本本土) then日本战败
R15: if 战争爆发∧ 美俄参战 then 第三次世界大战爆发
R16: if 日本战败∧ 美俄参战 then日本战败后,第三次世界大战依然爆发啦
R17: if 中日产生摩擦∧(朝核攻击日本V中国解放钓鱼岛战役V日本袭击春晓油田) then中日直接就开战啦
4.3 初始事实(例子)
1、东海问题
2、欧盟调停
3、日本参拜靖国神社
4、中国解放钓鱼岛战役
5、中国攻占日本本土
美俄参战
目标条件:日本战败后,第三次世界大战爆发
设动态数据库、冲突集、待测试规则集均为空
4.4 推理图
日本战败后,第三次世界大战爆发
日本战败后,第三次世界大战爆发
日本战败
日本战败
战争爆发
战争爆发
谈判破裂
谈判破裂
中日会谈
中日会谈
中日摩擦
中日摩擦
美俄参战攻占日本本土钓鱼岛战役欧盟调停东海问题
美俄参战
攻占日本本土
钓鱼岛战役
欧盟调停
东海问题
参拜靖国神社
参拜靖国神社
4.5人机界面(程序结果图)
程序运行后的结果
(自己也可以选择其他的初始事实测试结果)
1如果你胡乱选择,不按要求来会提示::(请您不要胡乱选择,一定要先选第一项,想想没有问题危机怎么有后面的战争呢)
和平解决的情况】
核心代码
1、判断分析
显示全部