getDegreeOfMembership()
是Yuka js库中的一个模糊逻辑函数,用于计算某个值在模糊变量的语义集合中的隶属度(Degree of Membership)程度。
getDegreeOfMembership(value, range)
value
: 需要计算隶属度程度的值。range
: 模糊变量的语义集合,以数组形式提供。getDegreeOfMembership()
函数会返回一个0到1之间的数字,用来表示该值在模糊变量语义集合中的隶属度程度,1表示完全隶属于集合,0则完全不隶属于集合。
const range = [
{ start: 0, end: 10 },
{ start: 5, end: 15 },
{ start: 10, end: 20 },
{ start: 15, end: 25 }
];
getDegreeOfMembership(5, range); // 0.5
getDegreeOfMembership(12, range); // 0.2
getDegreeOfMembership(18, range); // 0.8
getDegreeOfMembership()
函数计算隶属度程度的方法是将输入值与每个语义集合的边界比较,采用的是最小值原则(Minimum). 对于某一个区间[c1,c2],隶属度程度为:
degreeOfMembership(x) = min[(x-c1)/(c2-c1), (c2-x)/(c2-c1), 1]
其中,x 为输入值,在 [c1,c2] 区间内时度量值为1,x 在 [c1,c2] 区间之外时度量值为0。