《用Prolog建专家系统》学习笔记(2)
二、使用Prolog的推理机
Prolog有内建的后向链推理机,用于实现专家系统的一部分功能。Prolog的规则表示知识,推理机用于获得答案。
每项规则有个总目标以及多个子目标,推理机对各个目标给予证明或者否定。推理结果与非确定性无关。
规则的结构和推理策略,适用于许多专家系统。仅需改进与用户的对话机制,以创建简单的专家系统。以下,实现一个简单的“鸟识别专家系统”。
(一)鸟识别系统
(1)规则的格式
IF 前提1, 前提2, ... THEN 结论
IF部分又叫“左半部”(LHS),THEN部分又叫“右半部”(RHS)。
注意,Prolog规则格式为 THEN-IF,LHS和RHS的位置与上述相反:
结论 :- 前提1,前提2,...
(2)关于鸟识别的规则
bird(laysan_albatross) :- family(albatross), color(white).
相当于:IF 它属于信天翁科,并且是白色的 THEN 它是萊珊信天翁
还有定义黑脚信天翁、天鹅的规则:
bird(black_footed_albatross):- family(albatross), color(dark).
bird(whistling_swan) :- family(swan), voice(muffled_musical_whistle).
bird(trumpeter_swan) :- family(swan), voice(loud_trumpeting).
规则的层次关系
信天翁、天鹅在分科(family)的基础上,增加分目(order):