ã¯ããã«
ããŸããŸãLotfi Zadehãšããååã«èšåããŠããã¡ãžãŒããžãã¯ã«é¢ããèšäºãå§ããã®ãæ £äŸãšãªã£ãŠããŸãã ãããŠãç§ãäŸå€ã§ã¯ãããŸããã å®éããã®ç·ã¯1965幎ã«åºç€ç 究ããã¡ãžã£ã»ããããæžããŠç§åŠçè«å šäœã®åµå§è ã«ãªã£ãã ãã§ãªãããã®å®çšåã«åããŠããŸããŸãªå¯èœæ§ãèãåºããŸããã 圌ã¯ã1973幎ã®ããã¹ããè€éãªã·ã¹ãã ãšææ決å®ããã»ã¹ã®åæãžã®æ°ããã¢ãããŒãã®æŠèŠãïŒIEEE Transactions on Systemsã§å ¬éïŒã§ã¢ãããŒãã説æããŸããã 泚ç®ã«å€ããã®ã¯ã1ã€ã®é²åçãªãã³ããŒã¯äŒæ¥ããªãªãŒã¹çŽåŸã«ãè€éãªçç£ããã»ã¹ã®ç®¡çã·ã¹ãã ãæ¹åããããã«ãããã«èšèŒãããŠããååãéåžžã«ããŸãé©çšããããšã§ãã
ããããLãã¶ãŒãã®ãã¹ãŠã®é·æã«ããããã®çè«ã®æ¯æè ãã¡ãåæ§ã«éèŠãªè²¢ç®ãããŸããã ããšãã°ãè±åœã®æ°åŠè E. MamdaniïŒEbrahim MamdaniïŒã 1975幎ã圌ã¯èžæ°ãšã³ãžã³ã®å¶åŸ¡æ¹æ³ãšããŠææ¡ãããã¢ã«ãŽãªãºã ãéçºããŸããã ãã¡ãžã£æšè«ã«åºã¥ããŠåœŒãææ¡ããã¢ã«ãŽãªãºã ã¯ãé床ã«å€§éã®èšç®ãåé¿ããããšãå¯èœã«ããå°é家ã«é«ãè©äŸ¡ãããŸããã ãã®ã¢ã«ãŽãªãºã ã¯çŸåšããã¡ãžãŒã¢ããªã³ã°ã®åé¡ã§æãå®çšçãªã¢ããªã±ãŒã·ã§ã³ã«ãªã£ãŠããŸãã
ããŒå®çŸ©
ã¢ã«ãŽãªãºã ã«æ £ããåã«ã次ã®å®çŸ©ãç°¡åã«ç解ããããšãéèŠã§ãã
ãã¡ãžãŒå€æ°ã¯ã<αã X ã Î >ãšãã圢åŒã®ã¿ãã«ã§ããããã§ã
αã¯ãã¡ãžãŒå€æ°ã®ååã§ãã
Xã¯ãã®å®çŸ©ã®ãã¡ã€ã³ã§ãã
Aã¯ããŠãããŒã¹Xäžã®ãã¡ãžãŒã»ããã§ãã
äŸïŒãã¡ãžãŒå€æ°<"Heavy body armor"ã{ x | 0 kg < x <35 kg}ã B = { x ãÎŒïŒ x ïŒ}>ã¯ãè»çšããã£ã¢ãŒããŒã®è³ªéãç¹åŸŽã¥ããŸãã 質éã16 kgãè¶ ããå Žåã¯ãééã倧ãããšèŠãªãããŸãïŒå³1ïŒã
å³ 1.ãã¡ãžãŒã»ããBã®ã¡ã³ããŒã·ããé¢æ°ÎŒïŒ x ïŒã®ã°ã©ã
èšèªå€æ°ã¯ã¿ãã«<βã TãXãGãM >ã§ããããã§ïŒ
βã¯èšèªå€æ°ã®ååã§ãã
Tã¯ãã®æå³ïŒçšèªïŒã®ã»ããã§ãã
Xã¯ãã¡ãžãŒå€æ°ã®å®å®ã§ãã
Gã¯ãæ°ããçšèªã圢æããããã®æ§ææé ã§ãã
Mã¯ãç¹å®ã®èšèªå€æ°ã®åçšèªã«å¯ŸããŠãã¡ãžãŒã»ããã圢æããã»ãã³ãã£ãã¯ããã·ãŒãžã£ã§ãã
äŸïŒããã£ã¢ãŒããŒã®ééã®äž»èŠ³çãªè©äŸ¡ããããšããŸãã ããšãã°ããã®ãããªåŒŸè¬ãçŽæ¥æ±ãè»äººïŒå°é家ãšããŠè¡åããïŒããå ¥æã§ããŸãã ãã®æšå®ã¯ã次ã®èšèªå€æ°<βã TãXãGãM >ïŒå³2ïŒã䜿çšããŠåœ¢åŒåã§ããŸããããã§ã
β-ããã£ã¢ãŒããŒã
T- {ãã©ã€ãããã£ã¢ãŒããŒïŒã©ã€ãïŒãããããã£ã¢ã ãŠã§ã€ãããã£ãŒã¢ãŒããŒïŒããã£ã¢ã ïŒããããããŒããã£ãŒã¢ãŒããŒïŒãããŒïŒã};
X = [0; 35];
G-è«çæ¥ç¶è©ãšä¿®é£Ÿåã䜿çšããæ°ããçšèªã®åœ¢ææé ã ããšãã°ããéåžžã«éãããã£ã¢ãŒããŒãã
Mã¯ãŠãããŒã¹ã®ã¿ã¹ã¯ããã·ãŒãžã£X = [0; 35]èšèªå€æ°ã®å€ãããªãã¡ ã»ããTããã®çšèª
å³ 2.èšèªå€æ°ãé²åŒŸãã§ãããã®å€ã®ã¡ã³ããŒã·ããé¢æ°ã®ã°ã©ã
ãã¡ãžãŒã¹ããŒãã¡ã³ãã¯ã ãβISαããšãã圢åŒã®ã¹ããŒãã¡ã³ãã§ããããã§ã
βã¯èšèªå€æ°ã§ãã
αã¯ãã®å€æ°ã®é ã®1ã€ã§ãã
äŸïŒ ãIS軜éããã£ã¢ãŒããŒãã ããã§ããé²åŒŸãã§ãããã¯èšèªå€æ°ã§ããããã®ã軜ããæå³ã§ãã
ç°¡åã«èšãã°ã ãã¡ãžãŒè£œåã®ã«ãŒã« ïŒä»¥äžãåã«ã«ãŒã«ïŒã¯ããIF ... THEN ...ããšãã圢åŒã®å€å žçãªã«ãŒã«ã§ããããã¡ãžãŒã¹ããŒãã¡ã³ããæ¡ä»¶ãšçµè«ãšããŠäœ¿çšãããŸãã ãã®ãããªã«ãŒã«ã¯ã次ã®åœ¢åŒã§èšè¿°ãããŸãã
IFïŒÎ²1 ISα1ïŒANDïŒÎ²2 ISα2ïŒTHENïŒÎ²3 ISα3ïŒã
ãANDãã«å ããŠãè«çæ¥ç¶è©ãORãã䜿çšãããŸãã ãããã圌ãã¯éåžžããã®ãããªã«ãŒã«ãããã€ãã®ããåçŽãªã«ãŒã«ïŒãORããªãïŒã«åå²ããããšã§ããã®ãããªã¬ã³ãŒããåé¿ããããšããŸãã ãŸããã«ãŒã«ã®æ¡ä»¶ã«ããåãã¡ãžãŒæã¯ã ãµãæ¡ä»¶ãšåŒã°ããŸãã åæ§ã«ãçµè«ã®åæã¯å¯æ¬¡å¥ãšåŒã°ããŸãã
äŸïŒæ¬¡ã®äŸã¯ãå®çŸ©ããã£ããã£ããã®ã«åœ¹ç«ã¡ãŸãã
1ïŒIFïŒéé²åŒŸãã§ããïŒTHENïŒé圹è»äººïŒ;
2ïŒIFïŒå€«ã¯å·éïŒANDïŒé«çµŠïŒTHENïŒæºè¶³ãã劻ïŒã
ããã ãã§ã ãã®æå°å€ã¯ãã¢ã«ãŽãªãºã ã®åçãç解ããã®ã«ååã§ãã
Mamdaniã¢ã«ãŽãªãºã
ãã®ã¢ã«ãŽãªãºã ã¯ãããã€ãã®é£ç¶ãã段éãèšè¿°ããŸãïŒå³3ïŒã åæã«ãåŸç¶ã®åã¹ããŒãžã¯ãåã®ã¹ãããã§ååŸããå€ãå ¥åãšããŠåãåããŸãã
å³ 3.ãã¡ãžãŒæšè«ããã»ã¹ã®ã¢ã¯ãã£ããã£å³
ãã®ã¢ã«ãŽãªãºã ã¯ãããã©ãã¯ããã¯ã¹ãã®åçã§æ©èœããç¹ã§æ³šç®ã«å€ããŸãã å ¥åã¯å®éçãªå€ãåãåããåºåã¯åãã§ãã äžé段éã§ã¯ããã¡ãžãŒããžãã¯ã®è£ 眮ãšãã¡ãžãŒã»ããã®çè«ã䜿çšãããŸãã ããã¯ããã¡ãžãŒã·ã¹ãã ã䜿çšããããšã®åªé ãã§ãã éåžžã®æ°å€ããŒã¿ãæäœã§ããŸãããåæã«ãã¡ãžãŒæšè«ã·ã¹ãã ãæäŸããæè»ãªæ©èœã䜿çšããŸãã
ã¢ã«ãŽãªãºã ãå®è£ ããããã«ããªããžã§ã¯ãæåã®ã¢ãããŒãã䜿çšãããŸããã ãœãŒã¹ã³ãŒãã¯Javaããã°ã©ãã³ã°èšèªã§èšè¿°ãããŠããŸãã å³ïŒå³4ïŒã¯ãæãéèŠãªé¢ä¿ãšãã¢ã«ãŽãªãºã ã«é¢ä¿ããã¯ã©ã¹éã®é¢ä¿ã瀺ããŠããŸãã
å³ 4. Mamdaniã¢ã«ãŽãªãºã ã®å®è£ ã®ã¯ã©ã¹å³
ã«ãŒã«ïŒã«ãŒã«ïŒã¯æ¡ä»¶ïŒæ¡ä»¶ïŒãšçµè«ïŒçµè«ïŒã§æ§æããããããã¯ãã¡ãžãŒã¹ããŒãã¡ã³ãïŒã¹ããŒãã¡ã³ãïŒã§ãã ãã¡ãžãŒã¹ããŒãã¡ã³ãã«ã¯ãèšèªå€æ°ïŒå€æ°ïŒãšããã¡ãžãŒã»ããã§è¡šãããçšèªïŒFuzzySetïŒãå«ãŸããŸãã ã¡ã³ããŒã·ããé¢æ°ã¯ãã¡ãžãŒã»ããã§å®çŸ©ããããã®å€ã¯getValueïŒïŒã¡ãœããã䜿çšããŠååŸã§ããŸãã ããã¯ãFuzzySetIfaceã€ã³ã¿ãŒãã§ã€ã¹ã§å®çŸ©ãããŠããã¡ãœããã§ãã ã¢ã«ãŽãªãºã ãå®è¡ããå Žåããæå¹åããã¡ãžãŒã»ããïŒActivatedFuzzySetïŒã䜿çšããå¿ èŠããããŸããããã¯ãäœããã®æ¹æ³ã§ãã¡ãžãŒã»ããïŒFuzzySetïŒã®ã¡ã³ããŒã·ããé¢æ°ãåå®çŸ©ããŸãã ãã®ã¢ã«ãŽãªãºã ã¯ããã¡ãžãŒã»ããã®åéåïŒUnionOfFuzzySetsïŒã䜿çšããŸãã ãŠããªã³ããã¡ãžãŒã»ããã§ãããããã¡ã³ããŒã·ããé¢æ°ïŒFuzzySetIfaceã§å®çŸ©ïŒããããŸãã
Mamdaniã¢ã«ãŽãªãºã ïŒMamdaniAlgorithmïŒã¯ããã¹ãŠã®ã¹ããŒãžãå«ã¿ïŒå³3ïŒãã«ãŒã«ããŒã¹ïŒãªã¹ã<ã«ãŒã«>ïŒãå ¥åãšããŠäœ¿çšããŸãã ãã®ã¢ã«ãŽãªãºã ã«ã¯ããã¢ã¯ãã£ãåãããããã¡ãžãŒã»ããïŒActivatedFuzzySetsïŒãšãããã®é¢é£ä»ãïŒUnionOfFuzzySetsïŒã®äœ¿çšãå«ãŸããŸãã
ãããã£ãŠããã¡ãžãŒæšè«ã®æ®µéã¯é£ç¶ããŠå®è¡ãããŸãã ãããŠãåã®ã¹ãããã§ååŸãããã¹ãŠã®å€ã¯ã次ã®ã¹ãããã§äœ¿çšã§ããŸãã
1.ã«ãŒã«ããŒã¹ã®åœ¢æ
ã«ãŒã«ããŒã¹ã¯ãåå¯æ¬¡å¥ãç¹å®ã®éã¿ä¿æ°ã«é¢é£ä»ããããŠããäžé£ã®ã«ãŒã«ã§ãã
ã«ãŒã«ããŒã¹ã«ã¯æ¬¡ã®åœ¢åŒã䜿çšã§ããŸãïŒããšãã°ãããŸããŸãªæ§é ã®ã«ãŒã«ã䜿çšãããŸãïŒã
RULE_1ïŒãCondition_1ãã®å ŽåããConclusion_1ãïŒ F 1 ïŒããã³ãConclusion_2ãïŒ F 2 ïŒã
RULE_2ïŒãCondition_2ãããã³ãCondition_3ãã®å ŽåããConclusion_3ãïŒ F 3 ïŒã
...
RULE_nïŒãCondition_kãã®å ŽåããConclusion_ïŒq-1ïŒãïŒ F q-1 ïŒããã³ãConclusion_qãïŒ F q ïŒã
ããã§ã F i-éã¿ä»ãä¿æ°ãçµæã®ãµãã³ã³ãã©ã¯ãã®ççã«å¯Ÿããä¿¡é ŒåºŠã瀺ããŸãïŒ i = 1 .. q ïŒã ããã©ã«ãã§ã¯ãéã¿ä¿æ°ã¯1ãšèŠãªãããŸããæ¡ä»¶ã«ååšããèšèªå€æ°ã¯inputãšåŒã°ããçµè«ã§ã¯outputãšåŒã°ããŸã ã
æå®ïŒ
nã¯ãã¡ãžãŒçæèŠåã®æ°ïŒnumberOfRulesïŒã§ãã
m-å ¥åå€æ°ã®æ°ïŒnumberOfInputVariablesïŒã
s-åºåå€æ°ã®æ°ïŒnumberOfOutputVariablesïŒã
kã¯ãã«ãŒã«ããŒã¹ã®ãµãæ¡ä»¶ã®ç·æ°ïŒnumberOfConditionsïŒã§ãã
qã¯ãã«ãŒã«ããŒã¹å ã®ãµãæ¥ç¶ã®ç·æ°ïŒnumberOfConclusionsïŒã§ãã
泚ïŒãããã®èšå·ã¯ã以éã®æé ã§äœ¿çšãããŸãã æ¬åŒ§å ã¯ããœãŒã¹ã³ãŒãå ã®å¯Ÿå¿ããå€æ°ã®ååã§ãã
2.å ¥åå€æ°ã®ãã¡ãžãŒå
ãã®æé ã¯ããããŸããã®è»œæžãšåŒã°ããŸãã 圢æãããã«ãŒã«ããŒã¹ãšå ¥åããŒã¿é åA = {a 1 ã...ãa m }ãå ¥åãããŸãã ãã®é åã«ã¯ããã¹ãŠã®å ¥åå€æ°ã®å€ãå«ãŸããŸãã ãã®ã¹ãããã®ç®çã¯ãã«ãŒã«ããŒã¹ãããã¹ãŠã®ãµãæ¡ä»¶ã®ççå€ãååŸããããšã§ãã ããã¯æ¬¡ã®ããã«çºçããŸããåå¯æ¡ä»¶ã«ã€ããŠãå€b i =ÎŒïŒ a i ïŒãèŠã€ãããŸãã ãããã£ãŠãå€ã®ã»ããb i ïŒ i = 1 .. k ïŒãååŸãããŸãã
å®è£ ïŒ
private double [] fuzzification( double [] inputData) {
int i = 0;
double [] b = new double [numberOfConditions];
for (Rule rule : rules) {
for (Condition condition : rule.getConditions()) {
int j = condition.getVariable().getId();
FuzzySet term = condition.getTerm();
b[i] = term.getValue(inputData[j]);
i++;
}
}
return b;
}
泚ïŒå ¥åããŒã¿é åã¯ãé åã®içªç®ã®èŠçŽ ãiçªç®ã®å ¥åå€æ°ã«å¯Ÿå¿ããããã«åœ¢æãããŸãïŒå€æ°çªå·ã¯æŽæ°ãã£ãŒã«ããidãã«æ ŒçŽãããŸãïŒã
3.åææ¡ä»¶ã®éçŽ
äžèšã®ããã«ãã«ãŒã«æ¡ä»¶ã¯è€åãã€ãŸã è«çæŒç®ãANDãã䜿çšããŠçžäºæ¥ç¶ããããµãæ¡ä»¶ãå«ããŸãã ãã®æ®µéã®ç®çã¯ããã¡ãžãŒæšè«ã·ã¹ãã ã®åã«ãŒã«ã®æ¡ä»¶ã®çå®åºŠãå€æããããšã§ãã ç°¡åã«èšãã°ãåæ¡ä»¶ã«ã€ããŠããã®ãã¹ãŠã®ãµãæ¡ä»¶ã®ççã®æå°å€ãèŠã€ããŸãã æ£åŒã«ã¯ã次ã®ããã«ãªããŸãã
c j = min { b i }ã
ã©ãã§ïŒ
j = 1 .. n ;
iã¯ã jçªç®ã®å ¥åå€æ°ãå«ãŸãããµãæ¡ä»¶ã®æ°ã®ã»ããã®æ°ã§ãã
å®è£ ïŒ
private double [] aggregation( double [] b) {
int i = 0;
int j = 0;
double [] c = new double [numberOfInputVariables];
for (Rule rule : rules) {
double truthOfConditions = 1.0;
for (Condition condition : rule.getConditions()) {
truthOfConditions = Math .min(truthOfConditions, b[i]);
i++;
}
c[j] = truthOfConditions;
j++;
}
return c;
}
4.å€æ³šã®æå¹å
ãã®æ®µéã§ã¯ãæ¡ä»¶ããäžè«ããžã®ç§»è¡ããããŸãã åãµãã¯ã«ãŒãžã§ã³ã«ã€ããŠãçã®åºŠåãã¯d i = c i * F iã§ããã i = 1 .. qã§ãã 次ã«ãåiçªç®ã®ãµãã¯ã«ãŒãžã§ã³ã«ã€ããŠãã»ããD iãæ°ããã¡ã³ããŒã·ããé¢æ°ã«é¢é£ä»ããããŸãã ãã®å€ã¯ãå°ãªããšãd iãšå¯æ¬¡é ã®é ã¡ã³ããŒã·ããé¢æ°ã®å€ãã決å®ãããŸãã ãã®ã¡ãœããã¯min-activationãšåŒã°ããæ£åŒã«ã¯æ¬¡ã®ããã«èšè¿°ãããŸãã
ÎŒ ' i ïŒ x ïŒ= min { d i ãÎŒiïŒ x ïŒ}ã
ã©ãã§ïŒ
ÎŒ ' i ïŒ x ïŒ-ãã¢ã¯ãã£ãåããããã¡ã³ããŒã·ããé¢æ°ã
ÎŒiïŒ x ïŒ-æéã¡ã³ããŒã·ããé¢æ°ã
d i - içªç®ã®ãµãã³ãã¯ã·ã§ã³ã®çå®åºŠã
ãããã£ãŠããã®æ®µéã®ç®æšã¯ãã«ãŒã«ããŒã¹ïŒ i = 1 .. q ïŒã®åå¯æ¬¡å¥ã«ã€ããŠããã¢ã¯ãã£ããªããã¡ãžãŒã»ããD iã®ã»ãããååŸããããšã§ãã
å®è£ ïŒ
private List <ActivatedFuzzySet> activation( double [] c) {
int i = 0;
List <ActivatedFuzzySet> activatedFuzzySets = new ArrayList <ActivatedFuzzySet>();
double [] d = new double [numberOfConclusions];
for (Rule rule : rules) {
for (Conclusion conclusion : rule.getConclusions()) {
d[i] = c[i]*conclusion.getWeight();
ActivatedFuzzySet activatedFuzzySet = (ActivatedFuzzySet) conclusion.getTerm();
activatedFuzzySet.setTruthDegree(d[i]);
activatedFuzzySets.add(activatedFuzzySet);
i++;
}
}
return activatedFuzzySets;
}
private double getActivatedValue( double x) {
return Math .min(super.getValue(x), truthDegree);
}
5.çµè«ã®èç©
ãã®ã¹ããŒãžã®ç®çã¯ãååºåå€æ°ã®ãã¡ãžãŒã»ããïŒãŸãã¯ãã®çµã¿åããïŒãååŸããããšã§ãã 次ã®ããã«å®è¡ãããŸããiçªç®ã®åºåå€æ°ã¯ãéåE i =âªD jã®åéåã«é¢é£ä»ããããŸãã jã¯ã içªç®ã®åºåå€æ°ïŒ i = 1 .. s ïŒãå«ãŸãããµãã³ãã¯ã·ã§ã³ã®æ°ã§ãã 2ã€ã®ãã¡ãžãŒã»ããã®åéåã¯ã次ã®ã¡ã³ããŒã·ããé¢æ°ãæã€3çªç®ã®ãã¡ãžãŒã»ããã§ãã
ÎŒ ' i ïŒ x ïŒ= max {ÎŒ1ïŒ x ïŒãÎŒ2ïŒ x ïŒ}ãããã§ÎŒ1ïŒ x ïŒãÎŒ2ïŒ x ïŒã¯çµåéåã®ã¡ã³ããŒã·ããé¢æ°ã§ãã
å®è£ ïŒ
private List <UnionOfFuzzySets> accumulation( List <ActivatedFuzzySet> activatedFuzzySets) {
List <UnionOfFuzzySets> unionsOfFuzzySets =
new ArrayList <UnionOfFuzzySets>(numberOfOutputVariables);
for (Rule rule : rules) {
for (Conclusion conclusion : rule.getConclusions()) {
int id = conclusion.getVariable().getId();
unionsOfFuzzySets. get (id).addFuzzySet(activatedFuzzySets. get (id));
}
}
return unionsOfFuzzySets;
}
private double getMaxValue( double x) {
double result = 0.0;
for (FuzzySet fuzzySet : fuzzySets) {
result = Math .max(result, fuzzySet.getValue(x));
}
return result;
}
6.åºåå€æ°ã®éãã¡ãžãŒå
éãã¡ãžãŒåã®ç®çã¯ãåºåèšèªå€æ°ããšã«å®éçãªå€ïŒé®®æãªå€ïŒãååŸããããšã§ãã æ£åŒã«ã¯ãããã¯æ¬¡ã®ããã«çºçããŸãã içªç®ã®åºåå€æ°ãšããã«é¢é£ããéåE i ïŒ i = 1 .. s ïŒãèæ ®ãããŸãã 次ã«ãéãã¡ãžãŒåæ¹æ³ã䜿çšããŠãåºåå€æ°ã®æçµçãªå®éå€ãæ€åºãããŸãã ãã®ã¢ã«ãŽãªãºã ã®å®è£ ã§ã¯ãéå¿æ³ã䜿çšããã içªç®ã®åºåå€æ°ã®å€ã¯æ¬¡ã®åŒã§èšç®ãããŸãã
ã©ãã§ïŒ
ÎŒiïŒ x ïŒã¯ã察å¿ãããã¡ãžãŒã»ããE iã®ã¡ã³ããŒã·ããé¢æ°ã§ãã
æå°ããã³æ倧ã¯ããã¡ãžãŒå€æ°ã®å®å®ã®å¢çã§ãã
y iã¯ããã¡ãžãŒåã®çµæã§ãã
å®è£ ïŒ
private double [] defuzzification( List <UnionOfFuzzySets> unionsOfFuzzySets) {
double [] y = new double [numberOfOutputVariables];
for ( int i = 0; i < numberOfOutputVariables; i++) {
double i1 = integral(unionsOfFuzzySets. get (i), true );
double i2 = integral(unionsOfFuzzySets. get (i), false );
y[i] = i1 / i2;
}
return y;
}
ãããã«
Mamdaniã®ã¢ã«ãŽãªãºã ãšä»ã®å€ãã®ãã¡ãžãŒæšè«ã¢ã«ãŽãªãºã ã¯ãFuzzy Logic ToolboxïŒMatLabã®æ¡åŒµæ©èœïŒãfuzzyTECHãªã©ã®ãã°ããã補åã«æ¢ã«å®è£ ãããŠããŸãã ãããã£ãŠããã®èšäºã®ããã«ããã®ãããªã¢ã«ãŽãªãºã ã®è©³çŽ°ãªæ€èšã«ã¯ãå®çšçãšãããããçè«çãªäŸ¡å€ããããŸãã ãã ããã¢ã«ãŽãªãºã ã®åºç€ã«é¢ããç¥èãšç解ã®åŒ·åºãªåºç€ããªããã°ãæ倧éã®å¹æã§ãããé©çšããããšã¯ã§ããŸããã
æåŠ
説æããã¢ã«ãŽãªãºã ã®ã¢ããªã±ãŒã·ã§ã³ã®ç¹å®ã®äŸã詳ããèŠããå Žåã¯ã次ã®æç®ãåç §ããããšããå§ãããŸãã
1.ã¬ãªãã³ã³ãA.V. MATLABã§ã®ãã¡ãžãŒã¢ããªã³ã°ãšfuzzyTECH / A. Leonenkovã -ãµã³ã¯ãããã«ãã«ã¯ïŒBHV-Petersburgã2003ã-736 pã
2. Shtovba S.D. MATLAB / S. Shtovbaã䜿çšãããã¡ãžãŒã·ã¹ãã ã®èšèšã -MïŒãããã©ã€ã³â Telecomã2007ã-288 pã