我有一个模糊图G=(V, E)
,其中V
是顶点集,E
是边集。每个顶点都是模糊顶点,这意味着它具有与之相关联的隶属函数的属性(以某种方式存储在顶点中)。每个边缘都是模糊边缘,这意味着它具有一个属性,该属性具有与之关联的隶属函数(以某种方式存储在边缘中)。这样,G
就边缘和顶点而言是模糊图。
鉴于G
和G2
,这是另一个具有不同(或相等)边和/或顶点数量的模糊图,我需要以模糊方式比较两个图。我想检查G2
是子图还是G
(反之亦然)。有解决这个问题的算法吗?
答案 0 :(得分:2)
首先,要比较两个图,您应该求解Subgraph isomorphism problem,它可以是多项式,也可以不是多项式。
但是您没有图,您有模糊图。我不知道是否存在显式算法,但我会尝试两种方法:
如果您可以将隶属度定义为概率,则可以首先假设普通图形(P{is member}=1
)找到“最大相似度”,然后尝试使用Bayesian networks查找某些关系(如果非循环)或使用Markov random fields的更一般的方式。
您可以使用Monte Carlo methods在模糊图之间定义度量。作为一个示例,只需走动两个图形并在一步产生差异时停止。步骤数是一个度量。运行n
次并获得max
,avg
,... ...最终算法在很大程度上取决于您的隶属函数是否具有状态,您知道“最大相似度”等等... < / p>
前一种方法应该快速且可靠,但是如果找不到足够的方程式,那么您将一无所有。后一种方法看起来更可行,但效率低得多。
无论如何,已定义指标的可用性是主观性的(如果您不解释要求,则任何指标都可以有效)。
答案 1 :(得分:1)