关于一个人工智能的问题(100分)

  • 主题发起人 主题发起人 peterwang
  • 开始时间 开始时间
P

peterwang

Unregistered / Unconfirmed
GUEST, unregistred user!
现要作一个题目:动物识别系统,有一大堆if then语句,要从if中推出
是什么动物,我现在作出来的动物可以识别,但中间结果无法剔除,应该怎么
作呢?
例如:
rule1: if 会飞 then 是海燕
rule2: if 反刍 then 是偶蹄动物
rule3: if 是偶蹄动物
有毛
颜色黄色 then 是牛
我把if 部分的事实放在事实库中,结论放在结论库中,rule放在规则库,
那么选取事实库中的事实,推出结论,
结果选取事实是会飞和反刍时居然得出是海燕!这是因为没有办法剔除中间
结果“偶蹄动物”!
如果各位感兴趣,我把源码帖出来。
 
最好贴出 your source code!
 
可能数据结构更重要。
 
设计有问题,应该嵌套的吧。
 
是不是应该用else.
 
建议重点设计rules表结构,例如:
<hr>
动物 属性
牛 反刍,有毛, 颜色黄色
偶蹄动物 反刍
<hr>
层次表
上层 下层
偶蹄动物 牛
<hr>
对输入的条件对照属性查找动物,如果有多个结果,用另一张表比较他们的层次关系,找到最下层的一个就是真正解了.

要去吃饭了.
 
对于无法确定层数、或非单纯“一对多关系”的机构,是不是可以
用下表来试试,它在检索上会麻烦些,慢些,但灵活。



属性类ID 101
属性 会飞
子属性ID 102


属性类ID 102
属性 飞鸟类
子属性ID 103

属性类ID 103
属性 海燕
子属性ID 0


属性类ID 102
属性 瞎蛾子
子属性ID 0


属性类ID 201
属性 有蹄
子属性ID 202

属性类ID 202
属性 牛
子属性ID 0
 
这个最好用PROLOG语言来开发,人工智能系统好象基本上都用它开发的。
要用DELPHI+数据库来开发,可就惨了。
要实现一个推理机制,太难。
 
难.难..难...难....难.....难.......难........难
 
peterwang应该是在做人工智能的作业吧?
不用prolog实现没有问题.
 
会飞 和 反刍 没有任何关系,所以结果应该是没有。
 
我当然知道,可用什么算法让计算机知道呢?
 
呵呵,这个不是强项,胡说一下:
table1 table2 table3
Attribute midtable(m2m) aminal
会飞 燕子
反X 狮子

每加一个条件,都判断一下,是否满足所有条件的就是只有一种动物。
如果是则可确定,否则,则继续要条件。
 
呵呵,你的推理机制是什么?
没有置信度之类的东西么?
不区分信息的有效程度吗?
识别系统可不是简单的if then就行了。
 
找本人工智能的书看看,这个问题属专家系统(我记得当时苹果机上有这个程序)
本来人工智能我略知一二,不过今天没时间,下次有空再说
 
谢谢,已经搞掂了!
 
后退
顶部