import sqlite3 from core.voting_rules import rules_global_dict from core.elicitation_protocols import elicitation_protocols_global_dict from core.dataset_reader import read_dataset from core.experiment import Experiment from core.output_writers import save_result_to_db, create_results_table_with_name DB_PATH = ".\\db\\data.db" retrieve_scheduled_experiments = """ SELECT * FROM experiments WHERE Scheduled = 1 """ conn = sqlite3.connect(DB_PATH) c = conn.cursor() c.execute(retrieve_scheduled_experiments) scheduled_experiments = c.fetchall() conn.close() for experiment_row in scheduled_experiments: rule = rules_global_dict[experiment_row[1]] protocol = elicitation_protocols_global_dict[experiment_row[2]]() dataset_name = experiment_row[3] alternatives, profiles = read_dataset(dataset_name, DB_PATH) results_table = experiment_row[4] create_results_table_with_name(DB_PATH, results_table, dataset_name) experiment = Experiment(alternatives, profiles, rule, protocol, save_result_to_db(DB_PATH, results_table)) experiment.execute()
[ "knowledge_graph", "wikipedia_visualisation", "ship", "satellite", "wine_quality", "image_recognition" ]] alternatives5 = { "knowledge_graph", "wikipedia_visualisation", "ship", "satellite", "wine_quality", "image_recognition" } profile6 = [["train", "bus", "airplane", "walk"], ["bus", "airplane", "train", "walk"], ["airplane", "train", "bus", "walk"]] alternatives6 = {"train", "bus", "airplane", "walk"} profile7 = [["ios", "windows", "android"], ["android", "windows", "ios"], ["windows", "ios", "android"]] alternatives7 = {"ios", "windows", "android"} # Build dataset alternatives = [ alternatives1, alternatives2, alternatives3, alternatives4, alternatives5, alternatives6, alternatives7 ] profiles = [(1, profile1), (2, profile2), (3, profile3), (4, profile4), (5, profile5), (6, profile6), (7, profile7)] random_pairwise = RandomPairwiseElicitationProtocol() test_experiment = Experiment(alternatives, profiles, borda_name, random_pairwise, save_result_to_file) test_experiment.execute()