public function get_inference_result(Language_variable_collection $langvar_coll) { $output_coll = new Output_language_variable_collection(); $weight_array = $langvar_coll->get_weight_array(); $membership_matrix = $langvar_coll->get_membership_matrix(); for ($x = 0; $x < $output_coll->get_number(); $x++) { $min_array = array(); for ($y = 0; $y < count($weight_array); $y++) { $min_array[] = min(array($weight_array[$y], $membership_matrix[$y][$x])); } $max = max($min_array); $output_coll->set_membership($x, $max); } return $output_coll; }
public function get_inference_result(Language_variable_collection $langvar_coll) { $output_coll = new Output_language_variable_collection(); $weight_array = $langvar_coll->get_weight_array(); $membership_matrix = $langvar_coll->get_membership_matrix(); for ($x = 0; $x < $output_coll->get_number(); $x++) { $multiplication_array = array(); for ($y = 0; $y < count($weight_array); $y++) { $r = $weight_array[$y] * $membership_matrix[$y][$x]; $multiplication_array[] = $r; } $result = 0; for ($z = 0; $z < count($multiplication_array); $z++) { $result = $result + $multiplication_array[$z]; } if ($result > 1) { $result = 1; } $output_coll->set_membership($x, $result); } return $output_coll; }