Нечеткие динамо c числа переменных - PullRequest
0 голосов
/ 24 апреля 2020

Я создаю программное обеспечение для диагностики заболеваний по симптомам пациентов, что-то вроде этого http://www.symcat.com/, и я не могу найти способ нечеткой динамики c числа входных симптомов или даже больше одного. Данные и источник данных сейчас не актуальны. Я попробовал этот fuzzylogi c в соответствии с одним введенным симптомом, и это был значимый вывод.

FUNCTION_BLOCK clinic
VAR_INPUT
    symptoms : REAL;
END_VAR

VAR_OUTPUT
    diagnose : REAL;
END_VAR

FUZZIFY symptoms
    TERM A:= (0,0) (1,1) ( 2,1) (3,0);
    TERM B:= (2,0) (3,1) (4,1) (5,0);
    TERM C:= ( 4,0) (5,1) ( 6,1)(7,0);

END_FUZZIFY

DEFUZZIFY diagnose
    TERM D:= (0,1) (2, 0);
    TERM E:= (1,0) (2, 1) ( 4, 1) (4.5 , 0);


    METHOD : COG;
    DEFAULT := 0;
END_DEFUZZIFY

RULEBLOCK No1
    AND : MIN;
    ACT : MIN;
    ACCU : MAX;
    RULE 1: IF symptoms IS A THEN diagnose IS E;
    RULE 2: IF symptoms IS C THEN diagnose IS D;   

END_RULEBLOCK
END_FUNCTION_BLOCK

Что мне действительно нужно, так это что-то вроде

IF symptoms ARE A, B, C THEN diagnoses iS E
IF symptoms ARE A, D THEN diagnoses IS D

Спасибо.

...