Page 372 - 《软件学报》2024年第4期
P. 372
1950 软件学报 2024 年第 35 卷第 4 期
2.1 实数编码
j 2
j 1
j m
给定一个决策系统 DS , POPS m = (×P i ,≼ P ) 是由 m 个视角 v i 构成的划分序乘积空间, 1 ⩽ i ⩽ m (π ,π ,...,π m )
,
1 2
是一个问题求解层, 1 ⩽ j i ⩽ n i , 其中 n i 表示视角 v i 的层次数. 考虑到对问题求解层使用二进制编码会导致染色体
m , 每一位对应一个视角, 每一位上的基因值对应该视角下的层次序
过长, 本文采用实数编码. 设置染色体长度为
1
3
4
5
1
号. 例如给定问题求解层 (π ,π ,π ,π ,π ) , 其对应的染色体如图 3 所示.
4
5
3
1
2
染色体 1 3 1 5 4
v 1 v 2 v 3 v 4 v 5
图 3 问题求解层的实数编码
2.2 适应度函数
基于粒计算进行问题求解时, 在粗粒度层上可以通过省略细节信息来更抽象和更简略地描述问题, 从而可以
以较高的效率进行问题求解, 但求解结果的精度不高. 而在细粒度层上, 通过更具体和更精细的问题描述, 问题求
解的效率会降低, 但求解结果的精度会增加 [31] . 因此我们希望在划分序乘积空间中选出的问题求解层在满足分类
精度要求的同时粒度尽可能粗. 为此, 根据问题求解层的分类精度和粒度定义两阶段自适应遗传算法的适应度函
数. 首先给出问题求解层的分类精度和粒度的定义.
划分序乘积空间中每个问题求解层是多个单层次视角的集合, 当基于问题求解层进行问题求解时, 需要对多
个视角的层次进行融合. 根据多粒度粗糙集模型 [3,4] , 具体的融合策略很多, 典型的有乐观融合策略, 悲观融合策略,
可变融合策略等. 在本文中, 我们主要以乐观融合策略为例进行算法设计, 所以问题求解层的分类精度是基于乐观
多粒度粗糙集模型定义的. 当基于悲观多粒度粗糙集模型或者可变多粒度粗糙集模型定义问题求解层的分类精度
时, 算法设计过程是类似的. 接下来我们基于乐观多粒度粗糙集模型 [3,4] , 定义问题求解层的分类精度.
定义 8. 给定一个决策系统 DS , POPS m = (×P i ,≼ P ) 是由 m 个视角 v i 构成的划分序乘积空间, n i 表示视角 v i 的层
j 1 j 2 j m j i
次数. l = (π ,π ,...,π m ) 是一个问题求解层, π 表示第 i 个视角的第 j i 层, 1 ⩽ i ⩽ m 1 ⩽ j i ⩽ n i . 假设 U/D = {X 1 ,X 2 ,...,
,
1 2 i
X r } l 关于 D 的分类精度定义为:
.
{ }
∑ r ∑ m
O
l j (X j )
j=1 i=1 π i i
O
r (l,D) = (2)
|U|
∑ m { }
O
其中, l j (X j ) = x : [x] j 1 ⊆ X j ∨...∨[x] jm ⊆ X j , “ |·| ”表示集合的基数.
i=1 π i i π 1 π m
定义 9. 给定一个决策系统 DS , POPS m = (×P i ,≼ P ) 是由 m 个视角 v i 构成的划分序乘积空间, n i 表示视角 v i 的
i
j 1 j 2 j m j i
,
层次数. l = (π ,π ,...,π m ) 是一个问题求解层, π 表示第 个视角的第 j i 层, 1 ⩽ i ⩽ m 1 ⩽ j i ⩽ n i . 则问题求解层 l
i
2
1
的粒度定义为:
i=m
∑
g(l) = j i (3)
i=1
g(l) 值越大我们认为问题求解层 l 的粒度越细, 反之越粗.
根据问题求解层的分类精度和粒度, 两阶段自适应遗传算法的适应度函数定义如下.
定义 10. 给定一个决策系统 DS , POPS m = (×P i ,≼ P ) 是由 m 个视角 v i 构成的划分序乘积空间, n i 表示视角 v i
j 1 j 2 j m j i O
,
的层次数. l = (π ,π ,...,π m ) 是一个问题求解层, π i 表示第 i 个视角的第 j i 层, 1 ⩽ i ⩽ m 1 ⩽ j i ⩽ n i . r (l,D) 和
2
1
l
g(l) 分别是问题求解层 的分类精度和粒度. 适应度函数 f(l) 定义为:
( )
g(l)
O
f(l) = [1−abs(r (l,D)−r a )]×α+ 1− ×β (4)
g Thinnest
其中, α 和 β 分别为分类精度与粒度的权重, 0 ⩽ α ⩽ 1 0 ⩽ β ⩽ 1 α+β = 1 r a 是问题求解层需要达到的分类精
,
,
,
i=m
∑
度, g Thinnest 是划分序乘积空间 POPS m 中最细问题求解层的粒度, g Thinnest = n i , abs() 返回给定参数的绝对值.
i=1