本文主要是介绍粗糙集的概念笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
面对日益增长的数据库,人们将如何从这些浩瀚的数据中找出有用的知识?我们如何将所学到的知识去粗取精?什么是对事物的粗线条描述什么是细线条描述?
粗糙集合论回答了上面的这些问题。要想了解粗糙集合论的思想,我们先要了解一下什么叫做知识?假设有8个积木构成了一个集合A,我们记:A={x1,x2,x3,x4,x5,x6,x7,x8},每个积木块都有颜色属性,按照颜色的不同,我们能够把这堆积木分成
R1={红,黄,兰}三个大类,那么所有
红颜色的积木构成集合X1={x1,x2,x6},
黄颜色的积木构成集合X2={x3,x4},
兰颜色的积木构成集合X3={x5,x7,x8}。
按照颜色这个属性我们就把积木集合A进行了一个划分(所谓A的划分就是指对于A中的任意一个元素必然属于且仅属于一个分类),那么我们就说颜色属性就是一种知识。在这个例子中我们不难看到,一种对集合A的划分就对应着关于A中元素的一个知识,假如还有其他的属性,比如还有形状R2={三角,方块,圆形},大小R3={大,中,小},这样加上R1属性对A构成的划分分别为:
A/R1={X1,X2,X3}={{x1,x2,x6},{x3,x4},{x5,x7,x8}} (颜色分类)
A/R2={Y1,Y2,Y3}={{x1,x2},{x5,x8},{x3,x4,x6,x7}} (形状分类)
A/R3={Z1,Z2,Z3}={{x1,x2,x5},{x6,x8},{x3,x4,x7}} (大小分类)
上面这些所有的分类合在一起就形成了一个基本的知识库。那么这个基本知识库能表示什么概念呢?除了红的{x1,x2,x6}、大的{x1,x2,x5}、三角形的{x1,x2}这样的概念以外还可以表达例如
大的且是三角形的{x1,x2,x5}∩{x1,x2}={x1,x2},
大三角{x1,x2,x5}∩{x1,x2}={x1,x2},
兰色的小的圆形({x5,x7,x8}∩{x3,x4,x7}∩{x3,x4,x6,x7}={x7},
兰色的或者中的积木{x5,x7,x8}∪{x6,x8}={x5,x6,x7,x8}。
而类似这样的概念可以通过求交运算得到,比如X1与Y1的交就表示红色的三角形。所有的这些能够用交、并表示的概念以及加上上面的三个基本知识(A/R1,A/R2.A/R3)一起就构成了一个知识系统记为R=R1∩R2∩R3,它所决定的所有知识是A/R={{x1,x2},{x3},{x4},{x5},{x6},{x7},{x8}}以及A/R中集合的并。
这篇关于粗糙集的概念笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!