Beispiel #1
0
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()
Beispiel #2
0
            [
                "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()