Exemplo n.º 1
0
repetitions = 4
k = 10
n = 100
m = 100
phi = 0.1

multigoal_rule = MultigoalBlocBorda
distribution = mallows
distribution_name = get_distribution_name(distribution)

start = 90
step = 2
dir_name = 'results_{}_{}_{}_{}_phi{}_k{}_n{}_m{}'.format(
    start, step, multigoal_rule.__name__, distribution_name, phi, k, n, m)

configs = []
for _ in range(repetitions):
    config = MultigoalExperimentConfig()
    config.mallows(phi, m, n)
    config.set_distribution_name(distribution_name)

    configs.append(config)

generate_winner_files_for_pareto(dir_name,
                                 configs,
                                 multigoal_rule,
                                 k,
                                 start=start,
                                 step=step)
draw_pareto_chart_from_winner_files(dir_name, m, n, k, multigoal_rule,
                                    distribution)
Exemplo n.º 2
0
# Configuration
k = 10  # committee_size
m = 100  # candidates number
n = 100  # voters number

repetitions = 60
k_ccs = range(0, k + 1)

methods = ['Approx_P', 'Approx_Greedy']
multigoal_rule = MultigoalCCBorda
distribution = generate_uniform

experiments = []
for _ in range(repetitions):
    config = MultigoalExperimentConfig()
    config.add_candidates(distribution(-3, -3, 3, 3, m, 'None'))
    config.add_voters(distribution(-3, -3, 3, 3, n, 'None'))
    config.set_distribution_name(get_distribution_name(distribution))

    experiment = MultigoalExperiment(config)
    experiment.set_multigoal_election(MultigoalCCBorda,
                                      k,
                                      percent_thresholds=[0, 0])
    experiments.append(experiment)

for repetition, experiment in enumerate(experiments):
    for i, k_cc in enumerate(k_ccs):
        file_prefix = 'kcc' + str(k_cc)
        experiment.set_filename(file_prefix)
        experiment.run(n=1,
Exemplo n.º 3
0
multigoal_rule = MultigoalCCBorda
# multigoal_rule = MultigoalBlocBorda
# multigoal_rule = MultigoalBordaSNTV
# multigoal_rule = MultigoalBlocSNTV
distribution = impartial
distribution_name = get_distribution_name(distribution)

start = 80
step = 1
dir_name = 'results_{}_{}_{}_{}_k{}_n{}_m{}'.format(start, step,
                                                    multigoal_rule.__name__,
                                                    distribution_name, k, n, m)

configs = []
for _ in range(repetitions):
    config = MultigoalExperimentConfig()
    config.impartial(m, n)
    config.set_distribution_name(distribution_name)

    configs.append(config)

generate_winner_files_for_pareto(dir_name,
                                 configs,
                                 multigoal_rule,
                                 k,
                                 start=start,
                                 step=step)
draw_pareto_chart_from_winner_files(dir_name, m, n, k, multigoal_rule,
                                    distribution)