public void T6Implicate() { double axis = 0; LinguisticVariable = LinguisticVariable.fromJson(JsonLingVar); LinguisticVariable.RangeCalibration(1, 0.01); ExternalLVSetUp(); string LogMsg = "[Implicate Test Result]\n==================================\n"; string TmpLog; LinguisticVariable.ApplyRule(LingVars); LinguisticVariable.Implicate(1); foreach (LinguisticRule rule in LinguisticVariable.linguisticRules) { TmpLog = "Linguistic : " + rule.membershipValue.linguistic + "\n"; TmpLog += "Implication Method : " + FuzzyImplication.nameOf(rule.implicationM) + "\n"; TmpLog += "Axis\t| Implication\n"; axis = rule.implData.StartAxis; foreach (double implRes in rule.implData.data) { TmpLog += axis + "\t| " + implRes + "\n"; axis += rule.implData.spacing; } LogMsg += TmpLog + "==================================\n"; TmpLog = ""; } Debug.Log(LogMsg); }
public void T3RangeCalibration() { LinguisticVariable = LinguisticVariable.fromJson(JsonLingVar); LinguisticVariable.RangeCalibration(1, 0.01); string LogMsg = "{Range Calibration Test Result]\n"; LogMsg += string.Format( "{0,-15}\t| {1,-15}{2,-15}\t| {3,-15}{4,-15}\n", "Linguistic", "Start", "", "length", "" ); LogMsg += "=============== <Before> / <After> ===============\n"; foreach (MembershipFunction MF in LinguisticVariable.membershipFunctions) { MembershipFunction PreCalib = MFs.Find( x => x.membershipValue.linguistic == MF.membershipValue.linguistic); LogMsg += string.Format( "{0,-15}\t| {1,15} / {2,-15}\t| {3,15} / {4,-15}\n", MF.membershipValue.linguistic, PreCalib.start, MF.start, PreCalib.length, MF.length ); } Debug.Log(LogMsg); }
public void T8Defuzzify() { LinguisticVariable = LinguisticVariable.fromJson(JsonLingVar); LinguisticVariable.RangeCalibration(1, 0.01); ExternalLVSetUp(); LinguisticVariable.ApplyRule(LingVars); LinguisticVariable.Implicate(1); Debug.Log( "[Defuzzification Test Result]\n" + "Method : " + Defuzzification.nameOf(dfuzz) + " | Result : " + dfuzz.defuzzify(LinguisticVariable.linguisticRules)); }
public void T4Fuzzification() { LinguisticVariable = LinguisticVariable.fromJson(JsonLingVar); LinguisticVariable.RangeCalibration(1, 0.01); LinguisticVariable.Fuzzification(15); Assert.AreEqual( 1, LinguisticVariable.membershipFunctions.Find( mf => mf.membershipValue.linguistic.Equals("HardFight")) .membershipValue.fuzzy ); }