人工智能及其应用
实验一 产生式系统实验
一、实验目的:熟悉一阶谓词逻辑和产生式表示法,掌握产生式系统的运行机制,以及基于规则推理的基本方法。
二、实验内容
设计并编程实现一个小型产生式系统(如:分类、诊断等类型)
三、实验要求
1.具体应用领域自选,具体系统名称自定。
2.用一阶谓词逻辑和产生式规则作为知识表示,利用产生式系统实验程序,建立知识库,分别运行正、反向推理。
四、实验报告要求
1.系统设置,包括系统名称和系统谓词,给出谓词名及其含义。
⒉.编辑知识库,通过输入规则或修改规则等建立规则库。
3.建立事实库((综合数据库),输入多条事实或结论。
4.运行推理,包括正向推理和反向推理,给出相应的推理过程、事实区和规则区。
5.总结实验心得体会。
1. 系统设置
系统名称:植物识别系统
谓词定义:
2. 编辑知识库
默认规则库:
R1:种子有果皮 -> 被子植物
R2:种子无果皮 -> 裸子植物
R3:无茎叶 & 无根 -> 藻类植物
R4:被子植物 & 有托叶 & 有刺 -> 玫瑰
R5:被子植物 & 水生 & 可食用 & 结果实 -> 荷花
R6:被子植物 & 缺水环境 & 有刺 -> 仙人球
R7:藻类植物 & 水生 & 药用 -> 水棉
R8:被子植物 & 有托叶 & 木本 & 可食用 & 结果实 -> 苹果树
R9:被子植物 & 吸引菜粉蝶 & 十字形花冠 & 黄色花 & 可食用 & 结果实 -> 油菜
R10:藻类植物 & 水生 & 可食用 -> 海带
R11:裸子植物 & 木本 & 叶片针状 & 结果实 -> 松树
3. 建立事实库((综合数据库)
(1) 植物个体:
玫瑰、荷花、仙人球、水棉、苹果树、油菜、海带、松树。
(2) 区别个体的特征:
有刺、水生、喜阳、药用、木本、可食用、有白色粉末、叶片针状、结果实、黄色花。
(3) 区别种类的特征:
种子有果皮、种子无果皮、无茎叶、无根、有托叶、吸引菜粉蝶、十字形花冠、缺水环境。
(4) 种类:
被子植物、裸子植物、藻类植物、蔷薇科、十字花科、仙人掌科。
4. 运行推理
具体源码见:demo.java
https://download.csdn.net/download/hgxiaojiujiu/28342999
import java.util.*; /** * 产生式系统 --- 植物识别系统 * * @author whj | CSDN@hgxiaojiujiu * */ public class demo { //记录数据库植物特征 public static final String data[] = { "有刺", "水生", "药用", "木本", "可食用", "叶片针状", "结果实", "黄色花",//区别个体的特征 //0 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 //规则 public static Map<String, Integer> rule = new HashMap<>(); //记录用户选择 public static List<String> userList = new ArrayList<>(); public static int plant = 0; public static Integer flag = 1; //系统运行入口 public static void main(String[] args) { System.out.println("------------欢迎*植物识别系统*-------------"); InitSys(); System.out.println(); while (flag == 1) { System.out.print("输入植物特征:"); Scanner scanner = new Scanner(System.in); String choose = scanner.nextLine(); //正向推理 if (choose.length() > 3) { ChooseComputer_pos(choose); flag = 0; break; } // 结束 if (Integer.parseInt(choose) == -1) { flag = 0; break; } userList.add(choose); ChooseComputer_rev(userList); //条件逐步逆向推断 } System.out.print("推理过程:"); //推理显示 for (String s : userList) { System.out.print(data[Integer.parseInt(s)] + "->"); } System.out.print(data[plant]); } 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
已经明确植物的所有特征,直接得出植物
已知植物的部分特征,逐步推理
明确植物目标,但不明确植物特征进行推理
5 .总结实验心得体会。
本系统的规则库是静态的,不能很好的进行增删改操作,这使得在实际运用是不便于系统数据库的修改和维护,对于系统功能更方便地实现增加了一定难度。
相关知识
国际经贸学院举办 “人工智能新技术及其应用”主题讲座
国际经贸学院举办“人工智能新技术及其应用”主题讲座
人工智能在生态环境监测中的应用
餐饮业人工智能应用分析
人工智能赋能智慧城市,打开更多应用场景
餐饮业中的人工智能应用
林业技术的人工智能应用.pptx
中国茶叶:人工智能识别茶树病虫害的应用与展望
深度学习及其应用
人工智能渗透应用开发的7大趋势
网址: 人工智能及其应用 https://www.huajiangbk.com/newsview1543341.html
上一篇: 植物科普:黑藻是高等植物还是低等 |
下一篇: 莫斯藻——一种神奇的藻类植物(探 |
推荐分享

- 1君子兰什么品种最名贵 十大名 4012
- 2世界上最名贵的10种兰花图片 3364
- 3花圈挽联怎么写? 3286
- 4迷信说家里不能放假花 家里摆 1878
- 5香山红叶什么时候红 1493
- 6花的意思,花的解释,花的拼音 1210
- 7教师节送什么花最合适 1167
- 8勿忘我花图片 1103
- 9橄榄枝的象征意义 1093
- 10洛阳的市花 1039