对于某些QoS属性以不确定的形式给出可以增强模型的描述能力,目前不确定的形式有两种:区间型描述和语言性描述。语言型描述虽然准确但是却不易计算,为了解决这一问题,提出了三角模糊数的概念。三角模糊数相当于一种特殊的区间表示,他是用三个数来表示区间,如[s,m,u]。其中s、u分别是上下限,m表示为最有可能取到的值。
以QoS的可靠性为例。许多用户会对一个服务类中的有限个候选服务的可靠性进行评价,评价描述为:好,较好,一般,较差,差这五个档次。QoS专家或者客户专家就会对这些语言性描述进行三角模糊数处理,由于可靠性是一个效益型属性,其值越大越好,所以,我个人认为,好可以表述为类似[0.6,0.8,0.9]这样的数,以此类推。处理完毕后,这些数不用进行实数化处理,直接可以作为FOWGA算法的输入,进而评选出较好的那个候选服务。我的实验结果是所选出的值就是理论上的最优值。当然,在客户较多,候选服务较多时,不一定是这样,还要测试。
这种语言性描述的QoS属性如果利用蚁群算法进行判断,不可避免的要遇到一个问题就是三角模糊数去模糊化。这里要用到隶属函数,并积分。进而将三角模糊数化为实数。再利用蚁群算法进行判断。
如果QoS属性是混合的。既有模糊又有明确的情况下,利用蚁群算法,常规的做法是去模糊化后变为实数,和其他明确的属性值共同组成一个决策矩阵,进行判断。这里我有两个疑问:1.去模糊化的过程中会不会对原有的信息造成缺失,尽管可能性是很小的。但这可能也会影响判断结果。2.如果是很多个客户进行评价,去模糊化的过程会变复杂。
个人认为,这种情况下是不是可以把模糊的属性单独分出去,用FOWGA判断,明确的属性照常用蚁群算法,然后再把两个结果综合起来,加上一定的限制,找到最优服务组合?这是近一段时间要搞清的问题。