def main(): parser = ArgumentParser(description='Sequential Bootstrap Experiments') parser.add_argument('input_file', metavar='input_file', help='a yaml file specifying the required details') parser.add_argument('output_file', metavar='output_file', help='output json suitable for use with the plotting script') args = parser.parse_args() input = yaml.safe_load(open(args.input_file)) results = [{s:{} for s in input['stdevs']} for i in range(input['num_games'])] for i in range(input['num_games']): print i base_game = yaml_builder.construct_game(input['game']) stopping_rule = yaml_builder.construct_stopping_rule(input['stopping_rule'], base_game) for stdev in input['stdevs']: noise_model = yaml_builder.construct_model(stdev, input['noise_model']) matrix, equilibria = add_noise_sequentially(base_game, noise_model, stopping_rule, input['samples_per_step']) sample_game = matrix.toGame() results[i][stdev][0] = [{"profile": eq, "statistic": Regret.regret(base_game, eq), "bootstrap" : Bootstrap.bootstrap(sample_game, eq, Regret.regret, "resample", ["profile"]), "sample_count": sample_game.max_samples } for eq in equilibria] f = open(args.output_file, 'w') f.write(IO.to_JSON_str(results, indent=None))
def main(): parser = ArgumentParser(description='Sequential CI Experiments') parser.add_argument('input_file', metavar='input_file', help='a yaml file specifying the required details') parser.add_argument('output_file', metavar='output_file', help='output json') args = parser.parse_args() input = yaml.safe_load(open(args.input_file)) f = open(args.output_file, 'a') f.write("{") for stdev in input['stdevs']: f.write("\""+str(stdev)+"\""+":[") print stdev noise_model = yaml_builder.construct_model(stdev, input['noise_model']) for i in range(input['num_games']): print i base_game = yaml_builder.construct_game(input['game']) data = single_test(base_game, noise_model, input['samples_per_step'], input['delta'], input['alpha'], input['best_effort']) f.write(GameIO.to_JSON_str(data, indent=None)) if i == input['num_games']-1: f.write("]") else: f.write(",") if stdev != input['stdevs'][-1]: f.write(",") f.write("}")