//---
// Iterate over each linguistic term
for( String termName : variable.getLinguisticTerms().keySet() ) {
LinguisticTerm linguisticTerm = variable.getLinguisticTerm(termName);
// Get membership function
MembershipFunction membershipFunction = linguisticTerm.getMembershipFunction();
// Guess epsilon
membershipFunction.estimateUniverse();
double delta = membershipFunction.getUniverseMax() - membershipFunction.getUniverseMin();
if( delta == 0 ) delta = variable.getUniverseMax() - variable.getUniverseMin();
epsilon = delta / UNIVERSE_TO_EPSILON_RATIO;
// Iterate over each membership funciotn's parameter
for( int i = 0; i < membershipFunction.getParametersLength(); i++ ) {
String paramName = variable.getName() + "_" + linguisticTerm.getTermName() + "_" + membershipFunction.getName() + "_" + i;
ParameterMembershipFunction param = new ParameterMembershipFunction(paramName, epsilon, variable, membershipFunction, i);
parameterList.add(param);
}
}
}