2016-10-15 20 views
0

Я хочу сделать логический вывод нечеткого двигатель, который выводит 3 тип правил:Умозаключение двигателя - гибридные правила с четкими и нечеткими фактами

  • Четких правил.
  • Нечеткие правила.
  • Гибридные правила с четкими и нечеткими фактами.

Каждое правило имеет набор гипотез, набор выводов и фактор определенности. В фактах множества, если факт является нечетким фактом, то он имеет определенную степень правды.

Есть учебники, чтобы вывести четкие правила и нечеткие правила, но как я могу определить гибридные правила?

ответ

1

Не являются нечеткими правилами обобщения четких правил (если я правильно понимаю, что вы подразумеваете под четкими правилами). Способ преобразования нечеткого правила в четкие правила состоит в том, чтобы убедиться, что функция членства (MF) в антецеденте не перекрывается с какой-либо другой функцией членства, а MF в результате такова, что при defuzzified она по сути дает одно четкое значение.

Например: Input Температура в следующем МЖЕ: скорость

temp_low_mf = fuzz.trimf(x_temp, [0, 0, 10]) 
temp_med_mf = fuzz.trimf(x_temp, [0, 20, 45]) 
temp_high_mf = fuzz.trimf(x_temp, [20, 45, 45]) 

Выходного вентилятора имеет один из МЖА, связанного с хрустящим правилом:

fanspeed_low_mf = fuzz.trimf(x_fanspeed, [0, 0, 0]) 

Так нечеткое правило ниже эффективна хрустящим правило :

rule1 = ctrl.Rule(tempAnt['low'], fanspeedCon['low'], "Cold Climate Rule") 

Viz: Если температура меньше 10, то вентилятор s должно быть 0.