def get_unproducible(network, seeds, targets): network_f = utils.to_file(network) seed_f = utils.to_file(seeds) target_f = utils.to_file(targets) prg = [unproducible_prg, network_f, seed_f, target_f] options = '' best_model = None models = clyngor.solve(prg, options=options) for model in models.discard_quotes.by_arity: best_model = model os.unlink(network_f) os.unlink(seed_f) os.unlink(target_f) return best_model
def get_optimal_completions(draft, repairnet, seeds, targets, optimum, nmodels=0): instance = TermSet(draft.union(repairnet).union(targets).union(seeds)) ireactions = compute_ireactions(instance) instance = TermSet(instance.union(ireactions)) instance_f = utils.to_file(instance) prg = [minimal_completion_prg, instance_f] options = '--configuration=handy --opt-strategy=usc,0 --opt-mode=optN,{0}'.format( optimum) models = clyngor.solve(prg, options=options, nb_model=nmodels).by_arity.discard_quotes opt_models = clyngor.opt_models_from_clyngor_answers(models) return opt_models
def get_union_of_optimal_completions(draft, repairnet, seeds, targets, optimum): instance = TermSet(draft.union(repairnet).union(targets).union(seeds)) ireactions = compute_ireactions(instance) instance = TermSet(instance.union(ireactions)) instance_f = utils.to_file(instance) prg = [minimal_completion_prg, instance_f] options = '--configuration jumpy --opt-strategy=usc,5 --enum-mode=brave --opt-mode=optN,' + \ str(optimum) models = clyngor.solve(prg, options=options) for model in models.discard_quotes.by_arity: best_model = model os.unlink(instance_f) return best_model
def compute_ireactions(instance): instance_f = utils.to_file(instance) prg = [ireaction_prg, instance_f] best_model = None models = clyngor.solve(prg) for model in models.discard_quotes.by_arity: best_model = model os.unlink(instance_f) output = TermSet() for pred in best_model: if pred == 'ireaction': for a in best_model[pred]: output.add(Atom('ireaction("' + a[0] + '","' + a[1] + '")')) return output
def get_intersection_of_completions(draft, repairnet, seeds, targets): instance = TermSet(draft.union(repairnet).union(targets).union(seeds)) ireactions = compute_ireactions(instance) instance = TermSet(instance.union(ireactions)) instance_f = utils.to_file(instance) prg = [completion_prg, instance_f] options = '--enum-mode=cautious --opt-mode=ignore ' best_model = None models = clyngor.solve(prg, options=options) for model in models.discard_quotes.by_arity: best_model = model os.unlink(instance_f) return best_model
def get_minimal_completion_size(draft, repairnet, seeds, targets): instance = TermSet(draft.union(repairnet).union(targets).union(seeds)) ireactions = compute_ireactions(instance) instance = TermSet(instance.union(ireactions)) instance_f = utils.to_file(instance) prg = [minimal_completion_prg, instance_f] co = "--configuration=jumpy --opt-strategy=usc,5" optimum = None models = clyngor.solve(prg, options=co) for model in models.discard_quotes.by_arity: optimum = model os.unlink(instance_f) return optimum