Exemple #1
0
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
Exemple #2
0
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
Exemple #3
0
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
Exemple #4
0
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
Exemple #5
0
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
Exemple #6
0
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