def __multiply_final_factors(self): if len(self.relevant_factors) > 1: elimination_variable = self.relevant_factors[0].query_variable() sumout.sum_out(elimination_variable, self.relevant_factors, self.mode, self.eliminated_factors, self.query.query_variable) elif self.mode == "verbose": print('No es necesario multiplicar.\n')
def __sum_out_hidden_variables(self): # Obtener las variables ocultas. hidden_vars = sumout.get_hidden_variables(self.relevant_factors, self.query.query_variable) if hidden_vars: # Repetir el proceso mientras queden variables por eliminar. while(hidden_vars): # Obtener la siguiente variable a eliminar segun la heuristica. elimination_variable = heuristics.get_elimination_variable(hidden_vars, self.relevant_factors, self.heuristic) # Eliminar la variable. sumout.sum_out(elimination_variable, self.relevant_factors, self.mode, self.eliminated_factors, self.query.query_variable) # Quitar la variable de las variables ocultas una vez eliminada. hidden_vars.remove(elimination_variable) elif self.mode == "verbose": print('No hay variables ocultas.\n')