Example #1
0
int main(int argc, char* argv[]) {
    if (argc != 3) {
        printf("%s config-file node_id\n", argv[0]);
        exit(EXIT_FAILURE);
    }
    Config *conf = parse_conf(argv[1]);
    struct application *app = malloc(sizeof(struct application));
    app->server_id = atoi(argv[2]);
    app->sock = create_socket();
    app->conf = conf;
    LearnerCtx *learner_ctx = make_learner(conf);
    set_app_ctx(learner_ctx, app);
    register_deliver_cb(learner_ctx, deliver);
    event_base_dispatch(learner_ctx->base);
    free_learner(learner_ctx);
    free(conf);
    free(app);
    return (EXIT_SUCCESS);
}
Example #2
0
/*
 * Initialize AI.
 */
static void ai_initialize(game *g, int who)
{
	char fname[1024], buf[1024];

	/* Create neural net */
	make_learner(&learner[who], NET_INPUT, HIDDEN_NODES, 2);

	/* Set learning rate */
	learner[who].alpha = 0.0001;
	/* learner[who].alpha = 0.0; printf("WARNING: alpha is 0\n"); */

	/* Create network filename */
	sprintf(fname, DATADIR "/networks/bluemoon.net.%s.%s",
	                                     g->p[who].p_ptr->name,
	                                     g->p[!who].p_ptr->name);

	/* Attempt to load net weights from disk */
	if (load_net(&learner[who], fname))
	{
		/* Create warning message */
		sprintf(buf,
		        _("WARNING: Couldn't open %s, expect random play!\n"),
		        fname);

		/* Send message */
		message_add(buf);
	}

	/* Evaluate starting position */
	eval_game(g, who);

	/* Message */
	if (verbose >= 1)
	{
		/* Print win probabilities of starting state */
		printf("%s Start prob: %f %f\n", g->p[who].p_ptr->name,
						 learner[who].win_prob[0],
						 learner[who].win_prob[1]);
	}
}