专家系统是早期人工智能的一个重要分支,它可以看作是一类具有专门知识和经验的计算机智能程序系统,一般采用人工智能中的知识表示和知识推理技术来模拟通常由领域专家才能解决的复杂问题。一般来说,专家系统=知识库+推理机,因此专家系统也被称为基于知识的系统。一个专家系统必须具备三要素:
1 领域专家级知识
2 模拟专家思维
3 达到专家级的水平
Fact
(事实)
一个新的专家系统是什么都不懂的,所以,最开始我们要告诉它一些事实,比如
jarry 爱 tom
在CLIPS里就表示为:
(love jarry tom)
我们用assert语句在CLIPS里添加一条Facts:
(assert (love jarry tom))
CLIPS会显示:
<Fact-0>
表示新fact已经被添加
查看已有的facts,用(facts)语句
然后系统会提示:
f-0 (love jarry tom)
For a total of 1 fact
如果你去官网看他的文档,很快也能做一个专家系统
关于rule的定义
一个简单的例子:
(defrule tom-loved
(love jarry tom)
=>
(assert(loved tom)))
如果"jarry 爱tom"那么就得到事实"tom是被人爱的"
定义rule的时候大家注意括号的结构和个数
一般的rule格式:
(defrule <rule name> "optional comment"
<rule condition 1>
<rule condition 2>
...
=>
<rule action 1>
<rule action 2>
...)
这里,我们把=>之前的称为LHS (“左手边”, Left-Hand Side);之后的称为RHS(“右手边”, Right-Hand Side)
当且仅当LHS的所有conditions匹配成立(match)时,rule被激活(is fired),被激活后,执行RHS所有行为(action)
呃!很难懂的样子
一类具有专门知识和经验
专家系统 挺难写的
呵呵 做吧