Skip to content
Snippets Groups Projects
Commit a8a03539 authored by Bariatti Francesco's avatar Bariatti Francesco
Browse files

Added settings file for mcts

parent 2aeb9047
No related branches found
No related tags found
No related merge requests found
#ifndef __MCTS_SETTINGS_HPP__
#define __MCTS_SETTINGS_HPP__
// Allocated memory for the mcts. If not enough the program may crash
#define MCTS_ALLOCATOR_SIZE 1000000U
// Reflection time for every turn of the mcts (in ms)
#define MCTS_TURN_TIME 5000
#endif
......@@ -2,6 +2,7 @@
#define __ALLOCATOR_HPP__
#include "node.hpp"
#include "MCTS_SETTINGS.hpp"
namespace mcts
{
......@@ -15,7 +16,7 @@ namespace mcts
void copy(node* n1, node* n2, unsigned int prunning = 0);
public:
allocator(unsigned int size = 40000000U);
allocator(unsigned int size = MCTS_ALLOCATOR_SIZE);
~allocator();
node* allocate(unsigned int size);
void clear();
......
......@@ -3,6 +3,7 @@
#include "openings.hpp"
#include "mcts_two_players.hpp"
#include "MCTS_SETTINGS.hpp"
#include <string>
#include <iostream>
#include <map>
......@@ -21,10 +22,10 @@ namespace mcts
void self_play(Game g);
void self_play(Game g, int n, bool with_openings = false);
void self_play_learn_openings(Game g, int n);
void test_openings(Game g, int nb_learning, int nb_testing);
void test_openings(Game g, int nb_learning, int nb_testing);
int select_move(Game& game);
public:
test_mcts_two_players(const Game& g);
test_mcts_two_players(const Game& g);
};
template <typename Game>
......@@ -69,7 +70,7 @@ namespace mcts
void test_mcts_two_players<Game>::play(Game g)
{
// ProfilerStart("theturk.prof");
auto the_turk = make_mcts_two_players(g, 5000, 0.4, 8);
auto the_turk = make_mcts_two_players(g, MCTS_TURN_TIME, 0.4, 8);
std::cout << "play one game" << std::endl;
std::cout << "who's first? (h)uman/(c)omputer ";
std::string ans;
......@@ -155,7 +156,7 @@ namespace mcts
g.set_state(state);
openings_.update(g, moves, v);
g.set_state(state);
for (std::uint16_t m : moves)
for (std::uint16_t m : moves)
{
g.play(m);
v = -v;
......@@ -174,10 +175,10 @@ namespace mcts
}
std::cout << "number of learning examples: " << learning_examples.size() << std::endl;
std::ofstream output("learning_examples.txt");
for (const auto& example : learning_examples)
for (const auto& example : learning_examples)
{
output << example.second.second;
for (int index : example.first)
for (int index : example.first)
{
output << " " << index << ":" << 1;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment