【发布时间】:2015-06-23 20:02:41
【问题描述】:
我正在使用 scikit-fuzzy 制作一个模糊代理,它根据长度和动机确定篮球运动员的好坏。显然,这是一个学习项目,而不是实际的实现。
在一个只有长度和质量之间关系的简单示例中,我有以下模糊规则:
R1 = fuzz.relation_product(l_tall, q_good)
R2 = fuzz.relation_product(l_moderate, q_moderate)
R3 = fuzz.relation_product(l_short, q_bad)
R_combined = np.fmax(R1, np.fmax(R2, R3))
fuzz.defuzz(quality, R_combined[length == 180], 'centroid')
这会返回一个清晰的值,正如预期的那样。
但是,当我处理两种关系时:
#Relationships between motivation and quality of player
R1 = fuzz.relation_product(m_very, q_good)
R2 = fuzz.relation_product(m_barely, q_bad)
#Relationships between length and quality of player
R3 = fuzz.relation_product(l_tall, q_good)
R4 = fuzz.relation_product(l_short, q_bad)
我不知道下一步该怎么做才能让它发挥作用。我是合并所有规则,还是只合并相似的规则,之后如何使用去模糊化功能?我需要能够有两个参数(长度和动机),所以我上面使用的方法不起作用。
【问题讨论】:
标签: python logic fuzzy-logic scikits