首页 理论教育 面向对象的表示及其推理

面向对象的表示及其推理

时间:2022-05-01 理论教育 版权反馈
【摘要】:面向对象的知识表示的基本原则是以对象为中心来组织知识库的结构,将对象的属性、知识以及知识处理过程统一在对象结构中,即将对象知识和作用于其上的知识处理过程封装在一个独立的单元中,其结构形式如图13-5所示。所以,对象具有高度隐蔽性。对象内部的推理进程由与该对象关联的元规则控制。

(一)面向对象的知识表示

面向对象的知识表示的基本原则是以对象为中心来组织知识库的结构,将对象的属性、知识以及知识处理过程统一在对象结构中,即将对象知识和作用于其上的知识处理过程封装在一个独立单元中,其结构形式如图13-5所示。

在对象中,以对象标识来区分不同的对象类,以槽表示对象的静态属性,以知识处理方法来表示对象的动态行为,具体为:①对象标识:对象名、超类名、类型;②槽:对象内部状态描述,即事物的特征属性;③知识处理方法:有关对象的操作,即对象的动态行为。

以下是工艺设计软件中应用面向对象知识表达方法的两个实例。

1.对象标识

对象名:特征加工元 超类:无

槽:

槽1:加工方法 TYPE:字符串

槽2:特征名 TYPE:字符串

槽3:粗糙度 TYPE:浮点数

知识处理方法:

(虚拟方法)

2.对象标识

对象名:外圆柱特征加工元 超类:特征加工元

槽:

槽1:直径 TYPE:浮点数

槽2:长度 TYPE:浮点数

槽3:机床 TYPE:字符串

知识处理方法:

对象推理(元规则组)

规则1 IF(机床=EMPTY),然后(STEP=机床选择)

ELSE(STEP=刀具选择)

规则2 IF(刀具=EMPTY),然后(STEP=刀具选择)

ELSE(STEP=余量选择)

图13-5 对象的结构

机床选择:

规则1 IF(加工方法=粗车)和(直径<300)

THEN(机床=C620)

规则2 IF(加工方法=精车)和(直径<300)

THEN(机床=C6l4O)

刀具选择:

规则1……

对象作为一个整体使用,从其外部只能看到其外部特征,即该对象能够接收的消息,具有的知识处理能力。在对象外部不能直接修改对象的内部状态,也不能直接调用其内部的知识处理。对象内部的知识调度和推理进程由对象内的元规则组控制。所以,对象具有高度隐蔽性。

(二)面向对象的推理

面向对象的推理分为对象的内部推理和对象之间的推理两种。

1.对象的内部推理 由于对象将知识和处理这些知识的方法封装在—起,所以,一个对象可以描述和求解一个独立的领域子问题。从这个角度来看,一个对象如同一个小型的产生式规则系统,产生式规则系统中使用的链接原理与方法也就同样适用于对象内部的推理。一般产生式规则系统中的规则匹配,冲突消除转换为面向对象的事实与规则相匹配。匹配过程中,若发现某规则与对象表示的事实(包括继承事实)不相符,则放弃该规则,如此反复,直到问题解决。对象内部的推理进程由与该对象关联的元规则控制。

2.对象间的推理 对象与对象之间的推理是通过对象间的消息通信实现的。通过向对象发送消息,其本质是一个间接的处理过程调用,即驱动与接收者中的消息选择符合所指明的操作相对应的知识处理过程,接收者在执行与消息相应的处理过程时,若需要,可以通过发送消息给其他对象要求完成某部分处理工作并返回结果。

基于对象的多态性,同一消息对不同的接收者来说,可以有不同的解释,因而可以有不同的知识处理过程,以及不同的返回结果。如在特征超类中定义了有关加工方法选择的虚拟方法,当不同的特征对象接收到选择加工方法消息时,依据各自的特征定义,自动选择各自特征的加工方法。把一个对象可以响应的消息集合称为该对象与其他对象的消息接口,它是对象之间进行相互作用的唯—接口,每个消息所对应的处理内容是由对象内部所定义的消息方法决定的。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈