from writer import writeResults, makeResultsAverage hosts_p = 2 results = marlExperiment( n_teams=2, #5, n_inters=2, n_learners=3, host_range=[hosts_p, hosts_p], explore_episodes=0.3, episodes= 10, #50,#500, Since mininet keeps running out of files even e/ cleanup episode_length=10000, separate_episodes=True, alpha=0.05, epsilon=0.2, discount=0, dt=0.05, # old_style=True, rf="ctl", use_controller=True, actions_target_flows=True, estimate_const_limit=True, ) writeResults("../../results/soln-cap-2.csv", results) makeResultsAverage("../../results/soln-cap-2.csv", "../../results/soln-cap-2-avg.csv")
from writer import writeResults, makeResultsAverage hosts_p = 16 results = marlExperiment( n_teams=2, #5, n_inters=2, n_learners=3, host_range=[hosts_p, hosts_p], explore_episodes=0.8, episodes= 10, #50,#500, Since mininet keeps running out of files even e/ cleanup episode_length=100000, separate_episodes=True, alpha=0.05, epsilon=0.2, discount=0, dt=0.01, # old_style=True, rf="ctl", use_controller=True, actions_target_flows=True, estimate_const_limit=True, ) writeResults("../../results/soln-ext-cap-16.csv", results) makeResultsAverage("../../results/soln-ext-cap-16.csv", "../../results/soln-ext-cap-16-avg.csv")
from marl import * from writer import writeResults, makeResultsAverage hosts_p = 14 results = marlExperiment( n_teams=2, #5, n_inters=2, n_learners=3, host_range=[hosts_p, hosts_p], explore_episodes=0.3, episodes=10, #500, Since mininet keeps running out of files even e/ cleanup episode_length=10000, separate_episodes=True, alpha=0.05, epsilon=0.2, discount=0, dt=0.01, rf="ctl", rand_seed=0xcafed00d) writeResults("../../results/online-14.csv", results) makeResultsAverage("../../results/online-14.csv", "../../results/online-14-avg.csv")
from marl import * from writer import writeResults, makeResultsAverage results = marlExperiment( n_teams = 5, n_inters = 2, n_learners = 3, host_range = [2, 2], explore_episodes = 0.3, episodes = 50,#500, Since mininet keeps running out of files even e/ cleanup episode_length = 10000, separate_episodes = True, alpha = 0.05, epsilon = 0.2, discount = 0, #break_equal = True, dt = 0.01, # old_style=True, rf = "ctl" ) writeResults("../../results/online-uneven.csv", results) makeResultsAverage("../../results/online-uneven.csv", "../../results/online-avg-uneven.csv")
10, #50,#500, Since mininet keeps running out of files even e/ cleanup episode_length=10000, separate_episodes=True, alpha=0.05, epsilon=0.2, discount=0.9, #model = "nginx", dt=0.05, #0.01, # old_style=True, rf="ctl", use_controller=True, #reward_direction = "out", actions_target_flows=True, #estimate_const_limit = True, spiffy_mode=True, #randomise = True, #randomise_count = 1, #randomise_new_ip = True, split_codings=True, trs_maxtime=0.001, feature_max=18, single_learner=True, ) writeResults("../../results/spf-d5.csv", results) makeResultsAverage("../../results/spf-d5.csv", "../../results/spf-d5-avg.csv")
hosts_p = 8 results = marlExperiment( n_teams=2, #5, n_inters=2, n_learners=3, host_range=[hosts_p, hosts_p], explore_episodes=0.8, episodes= 10, #50,#500, Since mininet keeps running out of files even e/ cleanup episode_length=100000, separate_episodes=True, alpha=0.05, epsilon=0.2, discount=0, dt=0.05, # old_style=True, rf="ctl", use_controller=True, actions_target_flows=True, #estimate_const_limit = True, ) writeResults("../../results/soln-ext-8.csv", results) makeResultsAverage("../../results/soln-ext-8.csv", "../../results/soln-ext-8-avg.csv")
results = marlExperiment( n_teams = 5, n_inters = 2, n_learners = 3, host_range = [2, 2], explore_episodes = 0.3, episodes = 10,#50,#500, Since mininet keeps running out of files even e/ cleanup episode_length = 10000, separate_episodes = True, alpha = 0.05, epsilon = 0.2, discount = 0, break_equal = True, dt = 0.01, # old_style=True, protect_final_hop = False, with_ratio = True, rf = "ctl" ) writeResults("../../results/online-noprot.csv", results) makeResultsAverage("../../results/online-noprot.csv", "../../results/online-noprot-avg.csv")
hosts_p = 7 results = marlExperiment( n_teams = 2,#5, n_inters = 2, n_learners = 3, host_range = [hosts_p, hosts_p], explore_episodes = 0.3, episodes = 10,#500, Since mininet keeps running out of files even e/ cleanup episode_length = 10000, separate_episodes = True, alpha = 0.05, epsilon = 0.2, discount = 0, break_equal = True, dt = 0.05,#0.01, rf = "ctl", rand_seed = 0xcafed00d ) writeResults("../../results/online-7-even.csv", results) makeResultsAverage("../../results/online-7-even.csv", "../../results/online-7-even-avg.csv")
# test to handle bi-directional evil_range=[4, 7], explore_episodes=0.8, episodes= 10, #50,#500, Since mininet keeps running out of files even e/ cleanup episode_length=10000, separate_episodes=True, alpha=0.05, epsilon=0.2, discount=0, model="nginx", dt=0.05, #0.01, # old_style=True, rf="ctl", use_controller=True, reward_direction="out", actions_target_flows=True, estimate_const_limit=True, spiffy_mode=True, randomise=True, randomise_count=1, randomise_new_ip=False, split_codings=True, ) writeResults("../../results/spf-8-ng.csv", results) makeResultsAverage("../../results/spf-8-ng.csv", "../../results/spf-8-avg-ng.csv")
from marl import * from writer import writeResults, makeResultsAverage results = marlExperiment( P_good=1, n_teams=2, #5, n_inters=2, n_learners=3, host_range=[2, 2], explore_episodes=0.3, episodes= 10, #50,#500, Since mininet keeps running out of files even e/ cleanup episode_length=10000, separate_episodes=True, alpha=0.05, epsilon=0.2, discount=0, model="nginx", submodel="http", dt=0.05, #0.01, # old_style=True, rf="ctl", use_controller=True, ) writeResults("../../results/ag-http.csv", results) makeResultsAverage("../../results/ag-http.csv", "../../results/ag-http-avg.csv")
from marl import * from writer import writeResults, makeResultsAverage results = marlExperiment( n_teams=5, n_inters=2, n_learners=3, host_range=[2, 2], explore_episodes=0.3, episodes= 10, #50,#500, Since mininet keeps running out of files even e/ cleanup episode_length=10000, separate_episodes=True, alpha=0.05, epsilon=0.2, discount=0, dt=0.05, #0.01, # old_style=True, with_ratio=True, rf="ctl") writeResults("../../results/online-scale.csv", results) makeResultsAverage("../../results/online-scale.csv", "../../results/online-scale-avg.csv")
results = marlExperiment( n_teams = 2,#5, n_inters = 2, n_learners = 3, host_range = [2, 2], explore_episodes = 0.3, episodes = 10,#50,#500, Since mininet keeps running out of files even e/ cleanup episode_length = 10000, separate_episodes = True, alpha = 0.05, epsilon = 0.2, discount = 0, dt = 0.05,#0.01, # old_style=True, rf = "ctl", override_action = 0.0, manual_early_limit = 26.0, ) writeResults("../../results/baseline-2.csv", results) makeResultsAverage("../../results/baseline-2.csv", "../../results/baseline-2-avg.csv")
from marl import * from writer import writeResults, makeResultsAverage hosts_p = 32 results = marlExperiment( n_teams=2, #5, n_inters=2, n_learners=3, host_range=[hosts_p, hosts_p], explore_episodes=0.3, episodes=10, #500, Since mininet keeps running out of files even e/ cleanup episode_length=10000, separate_episodes=True, alpha=0.05, epsilon=0.2, discount=0, dt=0.01, rf="ctl", rand_seed=0xcafed00d) writeResults("../../results/online-32.csv", results) makeResultsAverage("../../results/online-32.csv", "../../results/online-32-avg.csv")
from marl import * from writer import writeResults, makeResultsAverage hosts_p = 4 results = marlExperiment( n_teams=2, #5, n_inters=2, n_learners=3, host_range=[hosts_p, hosts_p], explore_episodes=0.3, episodes= 10, #50,#500, Since mininet keeps running out of files even e/ cleanup episode_length=10000, separate_episodes=True, alpha=0.05, epsilon=0.2, discount=0, dt=0.05, #0.01, # old_style=True, rf="ctl", use_controller=True, actions_target_flows=True, ) writeResults("../../results/soln-4.csv", results) makeResultsAverage("../../results/soln-4.csv", "../../results/soln-4-avg.csv")
from marl import * from writer import writeResults, makeResultsAverage host_p = 2 results = marlExperiment( n_teams=2, #5, n_inters=2, n_learners=3, host_range=[host_p, host_p], explore_episodes=0.8, episodes= 10, #50,#500, Since mininet keeps running out of files even e/ cleanup episode_length=10000, separate_episodes=True, alpha=0.05, epsilon=0.2, discount=0, dt=0.05, #0.01, # old_style=True, rf="ctl") writeResults("../../results/online-2-e-8.csv", results) makeResultsAverage("../../results/online-2-e-8.csv", "../../results/online-2-e-8-avg.csv")
from marl import * from writer import writeResults, makeResultsAverage results = marlExperiment( n_teams=2, #5, n_inters=2, n_learners=3, host_range=[2, 2], explore_episodes=0.3, episodes= 10, #50,#500, Since mininet keeps running out of files even e/ cleanup episode_length=10000, separate_episodes=True, alpha=0.05, epsilon=0.2, discount=0, model="nginx", submodel="udp-flood", dt=0.05, #0.01, # old_style=True, rf="ctl", use_controller=True, ) writeResults("../../results/a-udp.csv", results) makeResultsAverage("../../results/a-udp.csv", "../../results/a-udp-avg.csv")
host_range = [hosts_p, hosts_p], explore_episodes = 0.3, episodes = 10,#50,#500, Since mininet keeps running out of files even e/ cleanup episode_length = 10000, separate_episodes = True, alpha = 0.05, epsilon = 0.2, discount = 0, model = "nginx", dt = 0.05,#0.01, # old_style=True, rf = "ctl", use_controller = True, reward_direction = "out", evil_range = [4,7], randomise = True, randomise_count = 3, randomise_new_ip = True, ) writeResults("../../results/online-{}-ng.csv".format(hosts_p), results) makeResultsAverage("../../results/online-{}-ng.csv".format(hosts_p), "../../results/online-{}-avg-ng.csv".format(hosts_p))
n_learners=3, host_range=[2, 2], # test to handle bi-directional evil_range=[4, 7], explore_episodes=0.3, episodes= 10, #50,#500, Since mininet keeps running out of files even e/ cleanup episode_length=10000, separate_episodes=True, alpha=0.05, epsilon=0.2, discount=0, model="nginx", dt=0.05, #0.01, # old_style=True, rf="ctl", use_controller=True, reward_direction="out", actions_target_flows=True, manual_early_limit=26.0, ) writeResults("../../results/soln-2-ng.csv", results, times_dir="../../results/new-calc-times.csv") makeResultsAverage("../../results/soln-2-ng.csv", "../../results/soln-2-avg-ng.csv")
deps.append(algos) (indiv_prefix, single_learner) = expt_part(single_learners, deps) params["single_learner"] = single_learner params["estimate_const_limit"] = True deps.append(single_learners) (machine) = expt_part(machines, deps) deps.append(machine) results = marlExperiment(**params) (rewards, good_traffic_percents, total_loads, store_sarsas, rng, action_comps) = results file_name_part = "beast-validation-{}{}".format(broken_math, machine) file_name = file_name_part + ".csv" file_name_avg = file_name_part + ".avg.csv" file_name_sarsas = file_name_part + ".pickle" file_name_deltas = file_name_part + ".deltas.csv" csv_dir = results_dir + file_name avg_csv_dir = results_dir + file_name_avg sarsas_dir = results_dir + file_name_sarsas deltas_dir = results_dir + file_name_deltas writeResults(csv_dir, results) makeResultsAverage(csv_dir, avg_csv_dir) dumbWriter(deltas_dir, action_comps) with open(sarsas_dir, "wb") as f: cPickle.dump(store_sarsas, f) #print "{} would write to: {}".format(experiment, csv_dir)
explore_episodes = 0.3, episodes = 10,#50,#500, Since mininet keeps running out of files even e/ cleanup episode_length = 10000, separate_episodes = True, alpha = 0.05, epsilon = 0.2, discount = 0, model = "nginx", dt = 0.05,#0.01, # old_style=True, rf = "ctl", use_controller = True, override_action = 0.0, #manual_early_limit = 26.0, reward_direction = "out", randomise = True, randomise_count = 3, ) writeResults("../../results/baseline-2-uncap-ng.csv", results) makeResultsAverage("../../results/baseline-2-uncap-ng.csv", "../../results/baseline-2-uncap-avg-ng.csv")