运行时类生成与联合算法开发
1. 类与类型的概念
在面向对象的知识表示中,超类型(超类)只能定义层次结构中所有成员共有的部分结构和行为,无法定义每个成员的具体特征,因此不能用它创建异构集合中的所有对象。这一问题的根源在于同质类的单一性,即一个同质类只能定义一种类型的对象。
在面向对象编程中,类和类型的概念常被视为相同,但在面向对象动态网络(OODNs)中,非同质类的概念区分了这两个概念。类型定义了一组同质对象,而类可以定义两种或更多相似和(或)不同的类型。非同质类的对象具有由核心(cores)和投影(projections)组成的特定结构。核心定义了一组类型的结构和行为的公共部分,而投影则定义了每种类型的独特部分。
根据类型的相似性,非同质类可以有不同数量的核心和(或)投影。最简单的非同质类形式是单核心非同质类(SCIC),它由一个核心和一组投影组成,能够定义异构对象集合,并体现了OODNs中类和类型概念的差异。此外,SCIC还允许定义有交集或无交集的类型集合。
然而,不同类型对可能有不同的交集,使用SCIC在某些情况下可能导致类型的冗余表示。为避免这一问题,引入了非同质类对象的m级核心的概念。m级核心允许为不同类型定义公共子类型,从而避免表示冗余。使用m级核心的概念,SCIC的概念被推广到多核心非同质类(MCIC)。MCIC定义了特定类型的异构对象集合,并消除了使用SCIC可能导致的表示冗余。
2. 联合算法的开发
联合操作与其他集合论操作不同,它能有效地将新知识集成到知识库中,避免表示冗余。如果通过联合操作获得的非同质类对象至少有一个核心,这意味着新知识与先前获取的知识在某种程度上是相关的。创建的核心数量决定了新
超级会员免费看
订阅专栏 解锁全文
2300

被折叠的 条评论
为什么被折叠?



