From cfe9818aff95e7eb17e48b8fb8a43c059952a505 Mon Sep 17 00:00:00 2001
From: Francesco Bariatti <francesco.bariatti@insa-rennes.fr>
Date: Wed, 14 Oct 2015 16:08:36 +0200
Subject: [PATCH] Added initial project

---
 .gitignore                           |   1 +
 Makefile                             |  30 +++
 src/game/connect4.cpp                | 363 +++++++++++++++++++++++++++
 src/game/connect4.hpp                |  79 ++++++
 src/game/game.hpp                    |  48 ++++
 src/game/lines_of_action.cpp         | 214 ++++++++++++++++
 src/game/lines_of_action.hpp         |  88 +++++++
 src/game/test_connect4.cpp           |  58 +++++
 src/game/test_connect4.hpp           |  14 ++
 src/game/test_lines_of_action.cpp    |  38 +++
 src/game/test_lines_of_action.hpp    |  15 ++
 src/main/main.cpp                    |  26 ++
 src/mcts/allocator.cpp               |  84 +++++++
 src/mcts/allocator.hpp               |  28 +++
 src/mcts/allocator.hpp~              |  28 +++
 src/mcts/mcts.hpp                    |  31 +++
 src/mcts/mcts_two_players.cpp        |   7 +
 src/mcts/mcts_two_players.hpp        | 274 ++++++++++++++++++++
 src/mcts/node.cpp                    |  24 ++
 src/mcts/node.hpp                    | 138 ++++++++++
 src/mcts/openings.cpp                |  30 +++
 src/mcts/openings.hpp                | 115 +++++++++
 src/mcts/statistics.cpp              |  16 ++
 src/mcts/statistics.hpp              |  16 ++
 src/mcts/test_allocator.cpp          | 109 ++++++++
 src/mcts/test_allocator.hpp          |  29 +++
 src/mcts/test_mcts_two_players.cpp   | 280 +++++++++++++++++++++
 src/mcts/test_mcts_two_players.hpp   |  25 ++
 src/minmax/connect4_heuristic.cpp    |  11 +
 src/minmax/connect4_heuristic.hpp    |  14 ++
 src/minmax/heuristic.hpp             |  26 ++
 src/minmax/minmax.hpp                | 135 ++++++++++
 src/minmax/test_minmax.cpp           |  67 +++++
 src/minmax/test_minmax.hpp           |  16 ++
 src/monte_carlo/monte_carlo.cpp      |  12 +
 src/monte_carlo/monte_carlo.hpp      |  95 +++++++
 src/monte_carlo/test_monte_carlo.cpp |  58 +++++
 src/monte_carlo/test_monte_carlo.hpp |  18 ++
 src/util/bits.cpp                    |  16 ++
 src/util/bits.hpp                    |  27 ++
 src/util/bits.hpp.gch                | Bin 0 -> 2016048 bytes
 src/util/display_node.cpp            |  82 ++++++
 src/util/display_node.hpp            |  22 ++
 src/util/fast_log.cpp                |  29 +++
 src/util/fast_log.hpp                |  34 +++
 src/util/learning.hpp                |  46 ++++
 src/util/omp_util.cpp                |  23 ++
 src/util/omp_util.hpp                |  15 ++
 src/util/pow.hpp                     |  25 ++
 src/util/test_bits.cpp               |  37 +++
 src/util/test_bits.hpp               |  14 ++
 src/util/test_fast_log.cpp           |  50 ++++
 src/util/test_fast_log.hpp           |  19 ++
 53 files changed, 3099 insertions(+)
 create mode 100644 Makefile
 create mode 100644 src/game/connect4.cpp
 create mode 100644 src/game/connect4.hpp
 create mode 100644 src/game/game.hpp
 create mode 100644 src/game/lines_of_action.cpp
 create mode 100644 src/game/lines_of_action.hpp
 create mode 100644 src/game/test_connect4.cpp
 create mode 100644 src/game/test_connect4.hpp
 create mode 100644 src/game/test_lines_of_action.cpp
 create mode 100644 src/game/test_lines_of_action.hpp
 create mode 100644 src/main/main.cpp
 create mode 100644 src/mcts/allocator.cpp
 create mode 100644 src/mcts/allocator.hpp
 create mode 100644 src/mcts/allocator.hpp~
 create mode 100644 src/mcts/mcts.hpp
 create mode 100644 src/mcts/mcts_two_players.cpp
 create mode 100644 src/mcts/mcts_two_players.hpp
 create mode 100644 src/mcts/node.cpp
 create mode 100644 src/mcts/node.hpp
 create mode 100644 src/mcts/openings.cpp
 create mode 100644 src/mcts/openings.hpp
 create mode 100644 src/mcts/statistics.cpp
 create mode 100644 src/mcts/statistics.hpp
 create mode 100644 src/mcts/test_allocator.cpp
 create mode 100644 src/mcts/test_allocator.hpp
 create mode 100644 src/mcts/test_mcts_two_players.cpp
 create mode 100644 src/mcts/test_mcts_two_players.hpp
 create mode 100644 src/minmax/connect4_heuristic.cpp
 create mode 100644 src/minmax/connect4_heuristic.hpp
 create mode 100644 src/minmax/heuristic.hpp
 create mode 100644 src/minmax/minmax.hpp
 create mode 100644 src/minmax/test_minmax.cpp
 create mode 100644 src/minmax/test_minmax.hpp
 create mode 100644 src/monte_carlo/monte_carlo.cpp
 create mode 100644 src/monte_carlo/monte_carlo.hpp
 create mode 100644 src/monte_carlo/test_monte_carlo.cpp
 create mode 100644 src/monte_carlo/test_monte_carlo.hpp
 create mode 100644 src/util/bits.cpp
 create mode 100644 src/util/bits.hpp
 create mode 100644 src/util/bits.hpp.gch
 create mode 100644 src/util/display_node.cpp
 create mode 100644 src/util/display_node.hpp
 create mode 100644 src/util/fast_log.cpp
 create mode 100644 src/util/fast_log.hpp
 create mode 100644 src/util/learning.hpp
 create mode 100644 src/util/omp_util.cpp
 create mode 100644 src/util/omp_util.hpp
 create mode 100644 src/util/pow.hpp
 create mode 100644 src/util/test_bits.cpp
 create mode 100644 src/util/test_bits.hpp
 create mode 100644 src/util/test_fast_log.cpp
 create mode 100644 src/util/test_fast_log.hpp

diff --git a/.gitignore b/.gitignore
index e69de29..e660fd9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+bin/
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..210e189
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,30 @@
+CC=g++-4.9
+BIN=bin
+INCLUDE=-I src/game -I src/util -I src/monte_carlo -I src/mcts -I src/minmax
+CFLAGS=-g -O3 -ffast-math -fopenmp -c -Wall -std=c++11 $(INCLUDE)
+LDFLAGS=-fopenmp -std=c++11 #-lprofiler -Wl,-no_pie
+SOURCES=omp_util.cpp fast_log.cpp display_node.cpp connect4.cpp test_connect4.cpp monte_carlo.cpp test_monte_carlo.cpp test_fast_log.cpp\
+statistics.cpp node.cpp allocator.cpp test_allocator.cpp openings.cpp mcts_two_players.cpp test_mcts_two_players.cpp test_minmax.cpp\
+bits.cpp test_bits.cpp main.cpp
+OBJECTS=$(addprefix $(BIN)/, $(SOURCES:.cpp=.o))
+EXECUTABLE=$(BIN)/theturk
+vpath %.cpp src/game:src/main:src/util:src/monte_carlo:src/mcts:src/gdl:src/minmax
+
+all: $(EXECUTABLE)
+
+$(EXECUTABLE): $(OBJECTS)
+	$(CC) $(LDFLAGS) $(OBJECTS) -o $@
+
+-include $(BIN)/$(OBJECTS:.o=.d)
+
+$(BIN)/%.o: %.cpp
+	$(CC) -c $(CFLAGS) $< -o $(BIN)/$*.o
+	$(CC) -MM $(CFLAGS) $< > $(BIN)/$*.d
+	@mv -f $(BIN)/$*.d $(BIN)/$*.d.tmp
+	@sed -e 's|.*:|$(BIN)/$*.o:|' < $(BIN)/$*.d.tmp > $(BIN)/$*.d
+	@sed -e 's/.*://' -e 's/\\$$//' < $(BIN)/$*.d.tmp | fmt -1 | \
+	sed -e 's/^ *//' -e 's/$$/:/' >> $(BIN)/$*.d
+	@rm -f $(BIN)/$*.d.tmp
+
+clean:
+	rm -f $(BIN)/*.o $(BIN)/*.d $(EXECUTABLE)
diff --git a/src/game/connect4.cpp b/src/game/connect4.cpp
new file mode 100644
index 0000000..c7d4a71
--- /dev/null
+++ b/src/game/connect4.cpp
@@ -0,0 +1,363 @@
+#include "connect4.hpp"
+#include <sstream>
+
+using namespace std;
+
+namespace game
+{
+  static vector<vector<uint64_t>> create_hash_values()
+  {
+    default_random_engine generator;
+    uniform_int_distribution<uint64_t> distribution;
+    vector<vector<uint64_t>> res(7, vector<uint64_t>(6, 0));
+    for (int i = 0; i < 7; ++i) 
+      {
+	for (int j = 0; j < 6; ++j)
+	  {
+	    res[i][j] = distribution(generator);
+	  }
+      }
+    return res;
+  }
+
+  vector<vector<uint64_t>> connect4::cross_hash_values = create_hash_values();
+  vector<vector<uint64_t>> connect4::circle_hash_values = create_hash_values();
+
+  connect4::connect4()
+  {
+  }
+
+  shared_ptr<game<connect4_state>> connect4::do_copy() const
+  {
+    return shared_ptr<connect4>(new connect4(*this));
+  }
+
+  connect4_state connect4::get_state()
+  {
+    return state;
+  }
+  
+  void connect4::set_state(const connect4_state& s)
+  {
+    state = s; 
+  }
+
+  bool connect4::end_of_game() const
+  {
+    return state.first_player_win || state.second_player_win || state.total_moves == 42;
+  }
+
+  bool connect4::won(std::uint8_t player) const
+  {
+    if (player == 0) return state.first_player_win;
+    return state.second_player_win;
+  }
+  
+  bool connect4::lost(std::uint8_t player) const
+  {
+    if (player == 0) return state.second_player_win;
+    return state.first_player_win;
+  }
+
+  bool connect4::draw(std::uint8_t player) const
+  {
+    if (state.first_player_win || state.second_player_win) return false;
+    return state.total_moves == 42;
+  }
+
+  uint8_t connect4::current_player() const
+  {
+    return state.total_moves & 1 ? CIRCLE : CROSS; 
+  }
+
+  // uint8_t connect4::current_player_representation() const
+  // {
+  //   return state.total_moves & 1 ? CIRCLE_REPRESENTATION : CROSS_REPRESENTATION; 
+  // }
+
+  // uint8_t connect4::player_representation_to_player(uint8_t player) const
+  // {
+  //   return player == CIRCLE_REPRESENTATION ? CIRCLE : (player == CROSS_REPRESENTATION ? CROSS : -1); 
+  // }
+
+  int connect4::value(uint8_t player) const
+  {
+    if (player == CROSS)
+      {
+	return state.first_player_win ? 1 : (state.second_player_win ? -1 : 0);
+      }
+    else if (player == CIRCLE)
+      {
+	return state.second_player_win ? 1 : (state.first_player_win ? -1 : 0);
+      }
+    return 0;
+  }
+
+  uint16_t connect4::number_of_moves() const
+  {
+    return state.nb_moves;
+  }
+
+  bool connect4::get(uint64_t bitboard, uint8_t col, uint8_t row) const
+  {
+    return bitboard & (1LL << ((col << 3) + row));
+    //return (state.board[i] >> (j << 1)) & 3;
+  }
+
+#define set(bitboard, col, row) (bitboard |= (1LL << (((col) << 3) + (row))))
+
+  // bool connect4::vertical(uint8_t position, uint8_t free, uint8_t player) const
+  // {
+  //   return free >= 3 && get(position, free - 1) == player && get(position, free - 2) == player && get(position, free - 3) == player;
+  // }
+
+  // bool connect4::horizontal(uint8_t position, uint8_t free, uint8_t player) const
+  // {
+  //   uint8_t sum = 0;
+  //   if (position >= 1 && get(position - 1, free) == player)
+  //     {
+  // 	++sum;
+  // 	if (position >= 2 && get(position - 2, free) == player)
+  // 	  {
+  // 	    ++sum;
+  // 	    if (position >= 3 && get(position - 3, free) == player) ++sum;
+  // 	  }
+  //     }
+  //   if (position <= 5 && get(position + 1, free) == player)
+  //     {
+  // 	++sum;
+  // 	if (position <= 4 && get(position + 2, free) == player)
+  // 	  {
+  // 	    ++sum;
+  // 	    if (position <= 3 && get(position + 3, free) == player) ++sum;
+  // 	  }
+  //     }
+  //   return sum >= 3;
+  // }
+
+  // bool connect4::diagonal(uint8_t position, uint8_t free, uint8_t player) const
+  // {
+  //   uint8_t sum = 0;
+  //   if (position >= 1 && free <= 4 && get(position - 1, free + 1) == player)
+  //     {
+  // 	++sum;
+  // 	if (position >= 2 && free <= 3 && get(position - 2, free + 2) == player)
+  // 	  {
+  // 	    ++sum;
+  // 	    if (position >= 3 && free <= 2 && get(position - 3, free + 3) == player) ++sum;
+  // 	  }
+  //     }
+  //   if (position <= 5 && free >= 1 && get(position + 1, free - 1) == player)
+  //     {
+  // 	++sum;
+  // 	if (position <= 4 && free >= 2 && get(position + 2, free - 2) == player)
+  // 	  {
+  // 	    ++sum;
+  // 	    if (position <= 3 && free >= 3 && get(position + 3, free - 3) == player) ++sum;
+  // 	  }
+  //     }
+  //   return sum >= 3;
+  // }
+
+  // bool connect4::other_diagonal(uint8_t position, uint8_t free, uint8_t player) const
+  // {
+  //   uint8_t sum = 0;
+  //   if (position >= 1 && free >= 1 && get(position - 1, free - 1) == player)
+  //     {
+  // 	++sum;
+  // 	if (position >= 2 && free >= 2 && get(position - 2, free - 2) == player)
+  // 	  {
+  // 	    ++sum;
+  // 	    if (position >= 3 && free >= 3 && get(position - 3, free - 3) == player) ++sum;
+  // 	  }
+  //     }
+  //   if (position <= 5 && free <= 4 && get(position + 1, free + 1) == player)
+  //     {
+  // 	++sum;
+  // 	if (position <= 4 && free <= 3 && get(position + 2, free + 2) == player)
+  // 	  {
+  // 	    ++sum;
+  // 	    if (position <= 3 && free <= 2 && get(position + 3, free + 3) == player) ++sum;
+  // 	  }
+  //     }
+  //   return sum >= 3;
+  // }
+
+  // void connect4::update_win(uint8_t position, uint8_t free)
+  // {
+  //   uint8_t player = current_player_representation();
+  //   bool win = 
+  //     vertical(position, free, player)
+  //     ||
+  //     horizontal(position, free, player)
+  //     ||
+  //     diagonal(position, free, player)
+  //     ||
+  //     other_diagonal(position, free, player);
+  //   if (win) 
+  //     {
+  // 	if (player == CROSS_REPRESENTATION) state.first_player_win = true;
+  // 	else state.second_player_win = true;
+  //     }
+  // }
+
+  void connect4::update_win()
+  {
+    if (has_won(state.cross_bitboard)) state.first_player_win = true;
+    else if (has_won(state.circle_bitboard)) state.second_player_win = true;
+  }
+
+  bool connect4::has_won(uint64_t bitboard)
+  {
+    int64_t y = bitboard & (bitboard >> 7);
+    if (y & (y >> 2 * 7)) // check \ diagonal
+      return true;
+    y = bitboard & (bitboard >> 8);
+    if (y & (y >> 2 * 8)) // check horizontal -
+      return true;
+    y = bitboard & (bitboard >> 9);
+    if (y & (y >> 2 * 9)) // check / diagonal
+      return true;
+    y = bitboard & (bitboard >> 1);
+    if (y & (y >> 2))     // check vertical |
+      return true;
+    return false;
+  }
+
+  void connect4::update_moves(uint16_t move)
+  {
+    --state.nb_moves;
+    uint32_t prefix = state.moves >> ((move + 1) * 3);
+    uint8_t shift = 32 - move * 3;
+    state.moves = (uint32_t)((uint64_t)state.moves << shift) >> shift;
+    state.moves |= prefix << (move * 3);
+  }
+
+  void connect4::play(uint16_t m)
+  {    
+    uint8_t position = ((state.moves >> (m * 3)) & 7);
+    uint8_t p = position * 3;
+    uint8_t f = (state.free >> p) & 7;
+    //    state.hash_value ^= current_player() == CIRCLE ? circle_hash_values[position][f] : cross_hash_values[position][f];
+    //    state.board[position] |= current_player_representation() << (f << 1);
+    if (current_player() == CROSS)
+      {
+	set(state.cross_bitboard, position, f);
+      }
+    else
+      {
+	set(state.circle_bitboard, position, f);
+      }
+    update_win();
+    ++f;
+    state.free = (state.free & ~(((uint32_t)7) << p)) | (f << p);
+    if (f == 6)
+      {
+	update_moves(m);
+      }
+    ++state.total_moves;
+  }
+
+  string connect4::player_to_string(uint8_t player) const
+  {
+    return player == CROSS ? "X" : (player == CIRCLE ? "O" : " ");
+  }
+
+  string connect4::move_to_string(uint16_t m) const
+  {
+    uint8_t position = ((state.moves >> (m * 3)) & 7);
+    return std::to_string(position);
+  }
+
+  set<int> connect4::to_input_vector() const
+  {
+    set<int> res;
+    int k = 0;
+    if (current_player()) res.insert(k++);
+    for (int col = 0; col < 7; ++col) 
+      {
+	for (int row = 0; row < 6; ++row)
+	  {
+	    if (get(state.cross_bitboard, col, row)) res.insert(k++);
+	  }
+      }
+    for (int col = 0; col < 7; ++col)
+      {
+	for (int row = 0; row < 6; ++row)
+	  {
+	    if (get(state.circle_bitboard, col, row)) res.insert(k++);
+	  }
+      }
+    return res;
+  }
+
+  void connect4::from_input_vector(const std::set<int>& input)
+  {
+    state = connect4_state();
+    for (int index : input) 
+      {
+	if (index == 1) continue;
+	if (index <= 43)
+	  {
+	    index -= 2;
+	    state.cross_bitboard |= 1LL << (index + (index / 6) * 2);
+	  }
+	else 
+	  {
+	    index -= 44;
+	    state.circle_bitboard |= 1LL << (index + (index / 6) * 2);
+	  }
+	state.total_moves += 1;
+      }
+  }
+
+  string connect4::to_string() const
+  {
+    stringbuf buffer;
+    ostream os(&buffer);
+    for (int y = 5; y >= 0; --y) 
+      {
+	for (int k = 0; k < 7; ++k) os << "+-";
+	os << "+" << endl;
+	for (int x = 0; x < 7; ++x)
+	  {
+	    os << "|" << (get(state.cross_bitboard, x, y) ? player_to_string(CROSS) : (get(state.circle_bitboard, x, y) ? player_to_string(CIRCLE) : " "));
+	  }
+	os << "|" << endl;
+      }
+    for (int k = 0; k < 7; ++k) os << "+-";
+    os << "+" << endl;
+    for (int k = 0; k < 7; ++k) os << " " << k;
+    os << endl;
+    return buffer.str();
+  }
+
+  void connect4::playout(mt19937& engine, int max_depth)
+  {
+    while (!end_of_game())
+      {
+  	uniform_int_distribution<uint16_t> distribution(0, number_of_moves() - 1);
+  	uint16_t move = distribution(engine);
+  	play(move);
+      }
+  }
+
+  std::uint64_t connect4::hash() const
+  {
+    return state.hash_value;
+  }
+
+  std::uint64_t connect4::hash(std::uint16_t m) const
+  {
+    uint8_t position = ((state.moves >> (m * 3)) & 7);
+    uint8_t p = position * 3;
+    uint8_t f = (state.free >> p) & 7;
+    return state.hash_value ^ (current_player() == CIRCLE ? circle_hash_values[position][f] : cross_hash_values[position][f]);
+  }
+  
+  ostream& operator<<(ostream& os, const connect4& c4)
+  {
+    os << c4.to_string() << endl;
+    return os;
+  }
+}
diff --git a/src/game/connect4.hpp b/src/game/connect4.hpp
new file mode 100644
index 0000000..369bd8e
--- /dev/null
+++ b/src/game/connect4.hpp
@@ -0,0 +1,79 @@
+#ifndef __CONNECT4_HPP__
+#define __CONNECT4_HPP__
+
+#include "game.hpp"
+#include <random>
+#include <array>
+#include <iostream>
+#include <memory>
+
+namespace game
+{
+
+  struct connect4_state
+    {
+      uint64_t cross_bitboard = 0;
+      uint64_t circle_bitboard = 0;      
+      //      std::array<uint16_t, 7> board{};
+      std::uint32_t moves = 0x1AC688;
+      std::uint32_t free = 0;
+      uint64_t hash_value = 0;
+      std::uint16_t nb_moves = 7;
+      uint8_t total_moves = 0;
+      bool first_player_win = false;
+      bool second_player_win = false;
+    };
+
+  class connect4 : public game<connect4_state>
+  {
+  public:
+    connect4();
+    connect4(const connect4& c4) = default;
+    connect4& operator=(const connect4& c4) = default;
+    bool end_of_game() const;
+    int value(std::uint8_t player) const;
+    bool won(std::uint8_t player) const;
+    bool lost(std::uint8_t player) const;
+    bool draw(std::uint8_t player) const;
+    uint8_t current_player() const;
+    std::uint16_t number_of_moves() const;
+    void play(std::uint16_t m);
+    void undo(std::uint16_t m) {}
+    std::string player_to_string(std::uint8_t player) const;
+    std::string move_to_string(std::uint16_t m) const;
+    std::string to_string() const;
+    void playout(std::mt19937& engine, int max_depth = -1);
+    std::set<int> to_input_vector() const;
+    void from_input_vector(const std::set<int>& input);
+    connect4_state get_state();
+    void set_state(const connect4_state& state);
+    std::shared_ptr<game<connect4_state>> do_copy() const;
+    std::uint64_t hash(std::uint16_t m) const;
+    std::uint64_t hash() const;
+    
+  private:
+    inline void update_win();
+    inline bool has_won(uint64_t bitboard);
+    inline void update_moves(uint16_t move);
+    inline bool get(uint64_t bitboard, uint8_t i, uint8_t j) const;
+    // inline bool vertical(uint8_t position, uint8_t free, uint8_t player) const;
+    // inline bool horizontal(uint8_t position, uint8_t free, uint8_t player) const;
+    // inline bool diagonal(uint8_t position, uint8_t free, uint8_t player) const;
+    // inline bool other_diagonal(uint8_t position, uint8_t free, uint8_t player) const;
+    // inline uint8_t current_player_representation() const;
+    // inline uint8_t player_representation_to_player(uint8_t player) const;
+
+    const uint8_t CROSS = 0;
+    const uint8_t CIRCLE = 1;
+    // const uint8_t CROSS_REPRESENTATION = 1;
+    // const uint8_t CIRCLE_REPRESENTATION = 2;
+
+    connect4_state state;
+
+    static std::vector<std::vector<uint64_t>> cross_hash_values;
+    static std::vector<std::vector<uint64_t>> circle_hash_values;
+  };
+  std::ostream& operator<<(std::ostream& os, const connect4& c4);
+}
+
+#endif
diff --git a/src/game/game.hpp b/src/game/game.hpp
new file mode 100644
index 0000000..20f5e2f
--- /dev/null
+++ b/src/game/game.hpp
@@ -0,0 +1,48 @@
+#ifndef __GAME_HPP__
+#define __GAME_HPP__
+
+#include <string>
+#include <cstdint>
+#include <random>
+#include <memory>
+#include <set>
+
+namespace game
+{
+  template <typename State>
+  struct game
+  {
+    virtual bool end_of_game() const = 0;
+    virtual int value(std::uint8_t player) const = 0;
+    int value_for_current_player() const;
+    virtual bool won(std::uint8_t player) const = 0;
+    virtual bool lost(std::uint8_t player) const = 0;
+    virtual bool draw(std::uint8_t player) const = 0;
+    virtual uint8_t current_player() const = 0;
+    virtual std::uint16_t number_of_moves() const = 0;
+    virtual void play(std::uint16_t m) = 0;
+    virtual void undo(std::uint16_t m) = 0;
+    virtual std::string player_to_string(std::uint8_t player) const = 0;
+    virtual std::string move_to_string(std::uint16_t m) const = 0;
+    virtual std::string to_string() const = 0;
+    virtual void playout(std::mt19937& engine, int max_depth = -1) = 0;
+    virtual std::set<int> to_input_vector() const = 0; 
+    virtual void from_input_vector(const std::set<int>& input) = 0;
+    virtual State get_state() = 0;
+    virtual void set_state(const State& state) = 0;
+    virtual std::shared_ptr<game<State>> do_copy() const = 0;
+    virtual std::uint64_t hash(std::uint16_t m) const = 0;
+    virtual std::uint64_t hash() const = 0;
+    virtual ~game() {}
+  };
+  template<typename Game> std::shared_ptr<Game> copy(const Game& g)
+  {
+    return std::dynamic_pointer_cast<Game>(g.do_copy());
+  }
+  template<typename State> int game<State>::value_for_current_player() const
+  {
+    return value(current_player());
+  }
+}
+
+#endif
diff --git a/src/game/lines_of_action.cpp b/src/game/lines_of_action.cpp
new file mode 100644
index 0000000..48120d0
--- /dev/null
+++ b/src/game/lines_of_action.cpp
@@ -0,0 +1,214 @@
+#include "lines_of_action.hpp"
+#include <sstream>
+
+using namespace std;
+
+namespace game
+{
+  static vector<vector<uint64_t>> create_hash_values()
+  {
+    default_random_engine generator;
+    uniform_int_distribution<uint64_t> distribution;
+    vector<vector<uint64_t>> res(8, vector<uint64_t>(8, 0));
+    for (int i = 0; i < 8; ++i) 
+      {
+	for (int j = 0; j < 8; ++j)
+	  {
+	    res[i][j] = distribution(generator);
+	  }
+      }
+    return res;
+  }
+
+  vector<vector<uint64_t>> lines_of_action::black_hash_values = create_hash_values();
+  vector<vector<uint64_t>> lines_of_action::white_hash_values = create_hash_values();
+
+  shared_ptr<game<lines_of_action_state>> lines_of_action::do_copy() const
+  {
+    return shared_ptr<lines_of_action>(new lines_of_action(*this));
+  }
+
+  lines_of_action_state lines_of_action::get_state()
+  {
+    return state;
+  }
+  
+  void lines_of_action::set_state(const lines_of_action_state& s)
+  {
+    state = s; 
+  }
+
+  bool lines_of_action::end_of_game() const
+  {
+    return state.first_player_win || state.second_player_win;
+  }
+
+  bool lines_of_action::won(std::uint8_t player) const
+  {
+    if (player == 0) return state.first_player_win;
+    return state.second_player_win;
+  }
+  
+  bool lines_of_action::lost(std::uint8_t player) const
+  {
+    if (player == 0) return state.second_player_win;
+    return state.first_player_win;
+  }
+
+  bool lines_of_action::draw(std::uint8_t player) const
+  {
+    return false;
+  }
+
+  uint8_t lines_of_action::current_player() const
+  {
+    return state.depth & 1 ? WHITE : BLACK;
+  }
+
+  int lines_of_action::value(uint8_t player) const
+  {
+    if (player == BLACK)
+      {
+	return state.first_player_win ? 1 : (state.second_player_win ? -1 : 0);
+      }
+    else if (player == WHITE)
+      {
+	return state.second_player_win ? 1 : (state.first_player_win ? -1 : 0);
+      }
+    return 0;
+  }
+
+  uint16_t lines_of_action::number_of_moves() const
+  {
+    return state.nb_moves;
+  }
+
+#define coord2bit(i, j) (1LL << (((i)<<3) + (j)))
+
+  uint8_t lines_of_action::get(uint8_t i, uint8_t j) const
+  {
+    if (state.black_bitboard & coord2bit(i, j)) return BLACK;
+    if (state.white_bitboard & coord2bit(i, j)) return WHITE;
+    return EMPTY;
+  }
+
+#define is_set(bitboard, i, j) (bitboard & coord2bit(i, j))
+
+  bool lines_of_action::is_valid_row_right(uint64_t bitboard1, uint64_t bitboard2, uint8_t from_i, uint8_t from_j, uint8_t n) const
+  {
+    uint8_t dest_j = from_j + n;
+    if (dest_j > 7) return false;
+    if (is_set(bitboard1, from_i, dest_j)) return false;
+    for (int j = from_j + 1; j < dest_j; ++j)
+      {
+	if (is_set(bitboard2, from_i, j)) return false;
+      }
+    return true;
+  }
+
+  bool lines_of_action::is_valid_row_left(uint64_t bitboard1, uint64_t bitboard2, uint8_t from_i, uint8_t from_j, uint8_t n) const
+  {
+    if (n > from_j) return false;
+    uint8_t dest_j = from_j - n;
+    if (is_set(bitboard1, from_i, dest_j)) return false;
+    for (int j = from_j - 1; j > dest_j; --j)
+      {
+	if (is_set(bitboard2, from_i, j)) return false;
+      }
+    return true;
+  }
+
+  bool lines_of_action::is_valid_column_up(uint64_t bitboard1, uint64_t bitboard2, uint8_t from_i, uint8_t from_j, uint8_t n) const
+  {
+    if (n > from_i) return false;
+    uint8_t dest_i = from_i - n;
+    if (is_set(bitboard1, dest_i, from_j)) return false;
+    for (int i = from_i - 1; i > dest_i; --i)
+      {
+	if (is_set(bitboard2, i, from_j)) return false;
+      }
+    return true;
+  }
+
+  bool lines_of_action::is_valid_column_down(uint64_t bitboard1, uint64_t bitboard2, uint8_t from_i, uint8_t from_j, uint8_t n) const
+  {
+    uint8_t dest_i = from_i + n;
+    if (dest_i > 7) return false;
+    if (is_set(bitboard1, dest_i, from_j)) return false;
+    for (int i = from_i + 1; i < dest_i; ++i)
+      {
+	if (is_set(bitboard2, i, from_j)) return false;
+      }
+    return true;
+  }
+
+  void lines_of_action::update_state(const move& m)
+  {
+
+  }
+
+  void lines_of_action::play(uint16_t m)
+  {    
+    update_state(move_index_to_move(m));
+  }
+
+  string lines_of_action::player_to_string(uint8_t player) const
+  {
+    return player == BLACK ? "@" : (player == WHITE ? "O" : " ");
+  }
+
+  string lines_of_action::move_to_string(uint16_t m) const
+  {
+    return move_index_to_move(m).to_string();
+  }
+
+  string lines_of_action::to_string() const
+  {
+    stringbuf buffer;
+    ostream os(&buffer);
+    os << "  a b c d e f g h" << endl;
+    for (int i = 0; i < 8; ++i) 
+      {
+	os << " ";
+	for (int k = 0; k < 8; ++k) os << "+-";
+	os << "+" << endl;
+	os << 8 - i << "|";
+	for (int j = 0; j < 8; ++j) 
+	  {
+	    os << player_to_string(get(i, j)) << "|";
+	  }
+	os << 8 - i << endl;
+      }
+    os << " ";
+    for (int k = 0; k < 8; ++k) os << "+-";
+    os << "+" << endl;
+    os << "  a b c d e f g h" << endl;
+    return buffer.str();
+  }
+
+  void lines_of_action::playout(mt19937& engine, int max_depth)
+  {
+    while (state.depth <= max_depth && !end_of_game())
+      {
+  	uniform_int_distribution<uint16_t> distribution(0, number_of_moves() - 1);
+  	uint16_t move = distribution(engine);
+  	play(move);
+      }
+  }
+
+  std::uint64_t lines_of_action::hash() const
+  {
+    return state.hash_value;
+  }
+
+  std::uint64_t lines_of_action::hash(std::uint16_t m) const
+  {
+    return 0;
+  }
+  
+  ostream& operator<<(ostream& os, const lines_of_action& loa)
+  {
+    os << loa.to_string() << endl;
+    return os;
+  }
+}
diff --git a/src/game/lines_of_action.hpp b/src/game/lines_of_action.hpp
new file mode 100644
index 0000000..5138f44
--- /dev/null
+++ b/src/game/lines_of_action.hpp
@@ -0,0 +1,88 @@
+#ifndef __LINES_OF_ACTION_HPP__
+#define __LINES_OF_ACTION_HPP__
+
+#include "game.hpp"
+#include <random>
+#include <array>
+#include <vector>
+#include <iostream>
+#include <memory>
+
+namespace game
+{
+
+  struct lines_of_action_state
+  {
+    uint64_t black_bitboard = 0x7E0000000000007E;
+    uint64_t white_bitboard = 0x0081818181818100;
+    uint32_t row_nb_pieces = 0x62222226;
+    uint32_t column_nb_pieces = 0x62222226;
+    uint64_t left_to_right_diagonal_nb_pieces = 0x0022222202222220;
+    uint64_t right_to_left_diagonal_nb_pieces = 0x0022222202222220;
+    uint64_t hash_value = 0;
+    uint16_t nb_moves = 48;
+    uint8_t black_nb_pieces = 12;
+    uint8_t white_nb_pieces = 12;
+    uint8_t depth = 0;
+    bool first_player_win = false;
+    bool second_player_win = false;
+  };
+
+  class lines_of_action : public game<lines_of_action_state>
+  {
+  public:
+    lines_of_action() = default;
+    lines_of_action(const lines_of_action& loa) = default;
+    lines_of_action& operator=(const lines_of_action& loa) = default;
+    bool end_of_game() const;
+    int value(std::uint8_t player) const;
+    bool won(std::uint8_t player) const;
+    bool lost(std::uint8_t player) const;
+    bool draw(std::uint8_t player) const;
+    uint8_t current_player() const;
+    std::uint16_t number_of_moves() const;
+    void play(std::uint16_t m);
+    void undo(std::uint16_t m) {}
+    std::string player_to_string(std::uint8_t player) const;
+    std::string move_to_string(std::uint16_t m) const;
+    std::string to_string() const;
+    void playout(std::mt19937& engine, int max_depth = -1);
+    lines_of_action_state get_state();
+    void set_state(const lines_of_action_state& state);
+    std::shared_ptr<game<lines_of_action_state>> do_copy() const;
+    std::uint64_t hash(std::uint16_t m) const;
+    std::uint64_t hash() const;
+  private:    
+    const uint8_t BLACK = 0;
+    const uint8_t WHITE = 1;
+    const uint8_t EMPTY = 2;
+    struct move
+    {
+      uint8_t from_i, from_j;
+      uint8_t to_i, to_j;
+      move(uint8_t fi, uint8_t fj, uint8_t ti, uint8_t tj) : from_i(fi), from_j(fj), to_i(ti), to_j(tj) {}
+      std::string to_string() const
+      {
+	return char('a' + from_j) + std::to_string(8 - from_i) + "-" +  
+	  char('a' + to_j) + std::to_string(8 - to_i);
+      }
+    };
+    lines_of_action_state state;
+    inline uint8_t get(uint8_t i, uint8_t j) const;
+    inline bool is_valid_row_right(uint64_t bitboard1, uint64_t bitboard2, uint8_t from_i, uint8_t from_j, uint8_t n) const;
+    inline bool is_valid_row_left(uint64_t bitboard1, uint64_t bitboard2, uint8_t from_i, uint8_t from_j, uint8_t n) const;
+    inline bool is_valid_column_up(uint64_t bitboard1, uint64_t bitboard2, uint8_t from_i, uint8_t from_j, uint8_t n) const;
+    inline bool is_valid_column_down(uint64_t bitboard1, uint64_t bitboard2, uint8_t from_i, uint8_t from_j, uint8_t n) const;
+    inline bool is_valid_left_to_right_diagonal_up(uint64_t bitboard1, uint64_t bitboard2, uint8_t from_i, uint8_t from_j, uint8_t n) const;
+    inline bool is_valid_left_to_right_diagonal_down(uint64_t bitboard1, uint64_t bitboard2, uint8_t from_i, uint8_t from_j, uint8_t n) const;
+    inline bool is_valid_right_to_left_diagonal_up(uint64_t bitboard1, uint64_t bitboard2, uint8_t from_i, uint8_t from_j, uint8_t n) const;
+    inline bool is_valid_right_to_left_diagonal_down(uint64_t bitboard1, uint64_t bitboard2, uint8_t from_i, uint8_t from_j, uint8_t n) const;
+    move move_index_to_move(uint16_t m) const;
+    void update_state(const move& m);
+    static std::vector<std::vector<uint64_t>> black_hash_values;
+    static std::vector<std::vector<uint64_t>> white_hash_values;
+  };
+  std::ostream& operator<<(std::ostream& os, const lines_of_action& loa);
+}
+
+#endif
diff --git a/src/game/test_connect4.cpp b/src/game/test_connect4.cpp
new file mode 100644
index 0000000..4269f32
--- /dev/null
+++ b/src/game/test_connect4.cpp
@@ -0,0 +1,58 @@
+#include "connect4.hpp"
+#include "test_connect4.hpp"
+#include <iostream>
+#include <map>
+
+using namespace std;
+
+namespace game
+{
+  test_connect4::test_connect4()
+  {    
+    playout();
+    play();
+  }
+
+  void test_connect4::playout()
+  {
+    mt19937 mt;
+    connect4 c4;
+    cout << "playout" << endl;
+    for (int i = 0; i < 100; ++i) 
+      {
+	uint8_t player = c4.current_player();
+	auto state = c4.get_state();
+	c4.playout(mt);
+	cout << "value: " << c4.value(player) << endl << c4 << endl;
+	c4.set_state(state);
+	string wait;
+	getline(cin, wait);
+      }
+  }
+
+  void test_connect4::play()
+  {
+    connect4 c4;
+    int player = 0;
+    cout << "play one game" << endl;
+    while (!c4.end_of_game()) 
+      {
+	cout << c4 << endl;
+	cout << c4.player_to_string(player) << " move: ";
+	map<string, int> m;
+	for (int i = 0; i < c4.number_of_moves(); ++i) 
+	  {
+	    m[c4.move_to_string(i)] = i;
+	  }
+	string move;
+	cin >> move;
+	c4.play(m[move]);
+	player = 1 - player;
+      }
+    cout << c4 << endl;
+    if (c4.value(0) == 1) cout << c4.player_to_string(0) << " won";
+    else if (c4.value(1) == 1) cout << c4.player_to_string(1) << " won";
+    else cout << "draw";
+    cout << endl;
+  }
+}
diff --git a/src/game/test_connect4.hpp b/src/game/test_connect4.hpp
new file mode 100644
index 0000000..1ecee24
--- /dev/null
+++ b/src/game/test_connect4.hpp
@@ -0,0 +1,14 @@
+#ifndef __TEST_CONNECT4_HPP__
+#define __TEST_CONNECT4_HPP__
+
+namespace game
+{
+  class test_connect4
+  {
+    void playout();
+    void play();
+  public:
+    test_connect4();
+  };
+}
+#endif
diff --git a/src/game/test_lines_of_action.cpp b/src/game/test_lines_of_action.cpp
new file mode 100644
index 0000000..70347d1
--- /dev/null
+++ b/src/game/test_lines_of_action.cpp
@@ -0,0 +1,38 @@
+#include "test_lines_of_action.hpp"
+#include <iostream>
+#include <map>
+
+using namespace std;
+
+namespace game
+{
+  test_lines_of_action::test_lines_of_action()
+  {    
+    play();
+  }
+
+  void test_lines_of_action::play()
+  {
+    lines_of_action loa;
+    int player = 0;
+    cout << "play one game" << endl;
+    while (!loa.end_of_game()) 
+      {
+	cout << loa << endl;
+	cout << loa.player_to_string(player) << " move: ";
+	map<string, int> m;
+	for (int i = 0; i < loa.number_of_moves(); ++i) 
+	  {
+	    m[loa.move_to_string(i)] = i;
+	  }
+	string move;
+	cin >> move;
+	loa.play(m[move]);
+	player = 1 - player;
+      }
+    cout << loa << endl;
+    if (loa.value(0) == 1) cout << loa.player_to_string(0) << " won";
+    cout << loa.player_to_string(1) << " won";
+    cout << endl;
+  }
+}
diff --git a/src/game/test_lines_of_action.hpp b/src/game/test_lines_of_action.hpp
new file mode 100644
index 0000000..28f4be6
--- /dev/null
+++ b/src/game/test_lines_of_action.hpp
@@ -0,0 +1,15 @@
+#ifndef __TEST_LINES_OF_ACTION_HPP__
+#define __TEST_LINES_OF_ACTION_HPP__
+
+#include "lines_of_action.hpp"
+
+namespace game
+{
+  class test_lines_of_action
+  {
+    void play();
+  public:
+    test_lines_of_action();
+  };
+}
+#endif
diff --git a/src/main/main.cpp b/src/main/main.cpp
new file mode 100644
index 0000000..5451eeb
--- /dev/null
+++ b/src/main/main.cpp
@@ -0,0 +1,26 @@
+#include "test_connect4.hpp"
+#include "test_monte_carlo.hpp"
+#include "test_fast_log.hpp"
+#include "test_allocator.hpp"
+#include "test_mcts_two_players.hpp"
+#include "test_minmax.hpp"
+#include "test_bits.hpp"
+#include "learning.hpp"
+
+#include <omp.h>
+
+using namespace std;
+
+int main(int argc, char *argv[])
+{
+  // game::test_connect4();
+  // util::test_fast_log(100000000);
+  // mcts::test_allocator(10, 2);
+  // omp_set_num_threads(8);
+  mcts::test_mcts_two_players();
+  // minmax::test_minmax();
+  //util::test_bits(200000000);
+  //game::connect4 c4;
+  //  util::learning::display_file(c4, "learning_examples.txt");
+  return 0;
+}
diff --git a/src/mcts/allocator.cpp b/src/mcts/allocator.cpp
new file mode 100644
index 0000000..3dc2309
--- /dev/null
+++ b/src/mcts/allocator.cpp
@@ -0,0 +1,84 @@
+#include "allocator.hpp"
+#include <iostream>
+#include <cstring>
+
+namespace mcts
+{
+  allocator::allocator(unsigned int size)
+  {
+    std::cout << "allocator initialization..." << std::endl;
+    node_arena = new node[size];
+    std::cout << "allocator initialization done" << std::endl;
+    limit = node_arena + size;
+    free_pointer = node_arena;
+  }
+   
+  allocator::~allocator()
+  {
+    delete[] node_arena;
+  }
+ 
+  node* allocator::allocate(unsigned int size)
+  {    
+    node* n;
+#pragma GCC diagnostic ignored "-Wunused-value"
+#pragma omp atomic capture
+    {
+      n = free_pointer;
+      free_pointer += size;
+    }
+    memset(n, 0, sizeof(node) * size);
+    if (n + size >= limit) throw "allocate_children: not enough memory";
+    return n;
+  }
+
+  unsigned int allocator::size() const
+  {
+    return limit - node_arena;
+  }
+
+  unsigned int allocator::free_space() const
+  {
+    return limit - free_pointer;
+  }
+
+  void allocator::clear()
+  {
+    free_pointer = node_arena;
+  }
+ 
+  node* allocator::allocate_unsafe(unsigned int size)
+  {
+    node* n = free_pointer;
+    free_pointer += size;
+    memset(n, 0, sizeof(node) * size);
+    if (n + size > limit) throw "allocate_children: not enough memory";
+    return n;
+  }
+  
+  void allocator::copy(node* n1, node* n2, unsigned int prunning)
+  {
+    if (n1->get_statistics().count < prunning) return;
+    n2->set_statistics(n1->get_statistics());
+    unsigned int nb_children = n1->get_number_of_children();
+    n2->set_number_of_children(nb_children);
+    if (nb_children == 0) return;
+    n2->set_children(allocate_unsafe(nb_children));
+    node* children1 = n1->get_children();
+    node* children2 = n2->get_children();
+    for (unsigned int i = 0; i < nb_children; ++i) 
+      {
+	copy(children1 + i, children2 + i, prunning);
+      }
+  }
+
+  node* allocator::move(node* root, unsigned int prunning)
+  {
+    node* r = allocate_unsafe(1);
+    copy(root, r, prunning);
+    free_pointer = node_arena;
+    node* res = allocate_unsafe(1);
+    copy(r, res);
+    return res;
+  }
+}
diff --git a/src/mcts/allocator.hpp b/src/mcts/allocator.hpp
new file mode 100644
index 0000000..9ee2787
--- /dev/null
+++ b/src/mcts/allocator.hpp
@@ -0,0 +1,28 @@
+#ifndef __ALLOCATOR_HPP__
+#define __ALLOCATOR_HPP__
+
+#include "node.hpp"
+
+namespace mcts
+{
+  class allocator
+  {
+    node* node_arena;
+    node* limit;
+    node* free_pointer;
+
+    node* allocate_unsafe(unsigned int size);
+    void copy(node* n1, node* n2, unsigned int prunning = 0);
+
+  public:
+    allocator(unsigned int size = 20000000U);
+    ~allocator();
+    node* allocate(unsigned int size);
+    void clear();
+    node* move(node* root, unsigned int prunning = 0);
+    unsigned int size() const;
+    unsigned int free_space() const;
+  };
+}
+
+#endif
diff --git a/src/mcts/allocator.hpp~ b/src/mcts/allocator.hpp~
new file mode 100644
index 0000000..150a2ff
--- /dev/null
+++ b/src/mcts/allocator.hpp~
@@ -0,0 +1,28 @@
+#ifndef __ALLOCATOR_HPP__
+#define __ALLOCATOR_HPP__
+
+#include "node.hpp"
+
+namespace mcts
+{
+  class allocator
+  {
+    node* node_arena;
+    node* limit;
+    node* free_pointer;
+
+    node* allocate_unsafe(unsigned int size);
+    void copy(node* n1, node* n2, unsigned int prunning = 0);
+
+  public:
+    allocator(unsigned int size = 1000000U);
+    ~allocator();
+    node* allocate(unsigned int size);
+    void clear();
+    node* move(node* root, unsigned int prunning = 0);
+    unsigned int size() const;
+    unsigned int free_space() const;
+  };
+}
+
+#endif
diff --git a/src/mcts/mcts.hpp b/src/mcts/mcts.hpp
new file mode 100644
index 0000000..66865d1
--- /dev/null
+++ b/src/mcts/mcts.hpp
@@ -0,0 +1,31 @@
+#ifndef __MCTS_HPP__
+#define __MCTS_HPP__
+
+#include <random>
+#include <chrono>
+#include <vector>
+#include "game.hpp"
+#include "node.hpp"
+
+namespace mcts
+{
+  template <typename Game>
+  class mcts
+  {
+  protected:
+    Game& game;
+    std::chrono::milliseconds milliseconds;
+    std::vector<std::mt19937> generators;
+    node* root;
+    
+  public:
+    mcts(Game& game, uint32_t milliseconds) : game(game), milliseconds(milliseconds) {}
+
+    virtual void reset() = 0;
+    virtual uint16_t select_move() = 0;
+    virtual void last_moves(uint16_t m1, uint16_t m2) {}
+    virtual void last_moves(const std::vector<uint16_t>& moves) {}
+  };
+}
+
+#endif
diff --git a/src/mcts/mcts_two_players.cpp b/src/mcts/mcts_two_players.cpp
new file mode 100644
index 0000000..f3e31c0
--- /dev/null
+++ b/src/mcts/mcts_two_players.cpp
@@ -0,0 +1,7 @@
+#include "mcts_two_players.hpp"
+
+using namespace std;
+
+namespace mcts
+{
+}
diff --git a/src/mcts/mcts_two_players.hpp b/src/mcts/mcts_two_players.hpp
new file mode 100644
index 0000000..29e4e96
--- /dev/null
+++ b/src/mcts/mcts_two_players.hpp
@@ -0,0 +1,274 @@
+#ifndef __MCTS_TWO_PLAYERS_HPP__
+#define __MCTS_TWO_PLAYERS_HPP__
+
+#include "mcts.hpp"
+#include "allocator.hpp"
+#include "fast_log.hpp"
+#include "omp_util.hpp"
+#include "display_node.hpp"
+#include <fstream>
+#include <vector>
+#include "openings.hpp"
+
+namespace mcts
+{
+  template <typename Game>
+  class mcts_two_players : public mcts<Game>
+  {
+    allocator alloc_;
+    const util::fast_log fast_log_;
+    const float C_;
+    const unsigned int nb_visits_before_expansion_;
+    const bool new_version_;
+
+    inline node* select(const std::shared_ptr<Game>& game, std::mt19937& generator, node* parent);
+    inline void expand(const std::shared_ptr<Game>& game, node* n);
+    void think(const std::shared_ptr<Game>& game);
+  public:
+    mcts_two_players(Game& game, uint32_t milliseconds, float C, unsigned int nb_visits_before_expansion = 8, bool new_version = true);
+    void reset();
+    void init_with_openings(const openings& o);
+    inline uint16_t select_move();
+    void last_move(uint16_t move);
+    void last_moves(uint16_t computer, uint16_t other);
+  };
+
+  template <typename Game>
+  mcts_two_players<Game> make_mcts_two_players(Game& game, uint32_t milliseconds, float C, unsigned int nb_visits_before_expansion = 8, bool new_version = true)
+  {
+    return mcts_two_players<Game>(game, milliseconds, C, nb_visits_before_expansion, new_version);
+  }
+
+  template <typename Game>
+  mcts_two_players<Game>::mcts_two_players(Game& game, uint32_t milliseconds, float C, unsigned int nb_visits_before_expansion, bool new_version)
+    : mcts<Game>(game, milliseconds), C_(C), nb_visits_before_expansion_(nb_visits_before_expansion), new_version_(new_version)
+  {
+    this->generators.assign(util::omp_util::get_num_threads(), std::mt19937());
+    this->root = alloc_.allocate(1);
+  }
+
+  template <typename Game>
+  void mcts_two_players<Game>::reset()
+  {
+    alloc_.clear();
+    this->root = alloc_.allocate(1);
+  }
+
+  template <typename Game>
+  void mcts_two_players<Game>::init_with_openings(const openings& o)
+  {
+    o.copy_to(this->root, alloc_);
+  }
+
+  template <typename Game>
+  node* mcts_two_players<Game>::select(const std::shared_ptr<Game>& game, std::mt19937& generator, node* parent)
+  {
+    using namespace std;
+    const unsigned int N = parent->get_statistics().count;
+    const float log_of_N = fast_log_.log(N);
+    const uint16_t nb_children = parent->get_number_of_children();
+    uniform_int_distribution<uint16_t> d(0, nb_children - 1);
+    uint16_t k = d(generator);
+    double best_value_so_far = numeric_limits<double>::lowest();
+    uint16_t best_move_so_far = k;
+    node* const children = parent->get_children();
+    node* best_child_so_far = children + k;
+    unsigned int count;
+    float v;
+    for (uint16_t i = 0; i < nb_children; ++i)
+      {
+        node* child = children + k;
+        count = child->get_statistics().count;
+        v = -child->get_statistics().value + C_ * sqrt(log_of_N / count);
+        if (v > best_value_so_far)
+	  {
+            best_value_so_far = v;
+            best_child_so_far = child;
+            best_move_so_far = k;
+	  }
+        ++k;
+        if (k == nb_children) k = 0;
+      }
+    if (best_child_so_far->is_proven())
+      {
+        if (best_child_so_far->is_lost()) parent->set_won();
+        else
+	  {
+            bool all_won = true;
+            for (uint16_t i = 0; i < nb_children; ++i)
+	      {
+                node* child = children + i;
+                if (!child->is_won())
+		  {
+                    all_won = false;
+                    break;
+		  }
+	      }
+            if (all_won) parent->set_lost();
+	  }
+      }
+    game->play(best_move_so_far);
+    return best_child_so_far;
+  }
+
+  template <typename Game>
+  void mcts_two_players<Game>::expand(const std::shared_ptr<Game>& game, node* n)
+  {
+    unsigned int count = n->get_statistics().count;
+    if (count >= nb_visits_before_expansion_ && !n->test_and_set())
+      {
+        unsigned int nb_children = game->number_of_moves();
+        node* children = alloc_.allocate(nb_children);
+        for (unsigned int i = 0; i < nb_children; ++i)
+	  {
+            node* child = children + i;
+            child->get_statistics_ref().count = 1;
+            child->get_statistics_ref().value = 0;
+	  }
+        n->set_children(children);
+        n->set_number_of_children(nb_children);
+      }
+  }
+
+  template <typename Game>
+  void mcts_two_players<Game>::think(const std::shared_ptr<Game>& game)
+  {
+    using namespace std;
+    const chrono::steady_clock::time_point start = chrono::steady_clock::now();
+    chrono::steady_clock::time_point now;
+    mt19937& generator = mcts<Game>::generators[util::omp_util::get_thread_num()];
+    auto state = game->get_state();
+    vector<node*> visited(200);
+    vector<uint16_t> moves(200);
+    unsigned int nb_iter = 0;
+    do
+      {
+        int size = 1;
+        node* current = this->root;
+        visited[0] = current;
+        while (!game->end_of_game() && !current->is_leaf() && !current->is_proven())
+	  {
+            current = select(game, generator, current);
+            visited[size++] = current;
+	  }
+        int game_value = 0;
+        if (current->is_proven())
+	  {
+            if (current->is_won()) game_value = 1;
+            else
+	      {
+                game_value = -1;
+	      }
+	  }
+        else if (game->end_of_game())
+	  {
+            int v = game->value_for_current_player();
+            if (v > 0)
+	      {
+                game_value = 1;
+                if (new_version_) current->set_won();
+	      }
+            else if (v < 0)
+	      {
+                game_value = -1;
+                if (new_version_)
+		  {
+                    current->set_lost();
+                    if (size > 1) visited[size - 2]->set_won();
+		  }
+	      }
+	  }
+        else
+	  {
+            uint8_t player = game->current_player();
+            expand(game, current);
+            game->playout(generator);
+            int v = game->value(player);
+            if (v > 0) game_value = 1;
+            else if (v < 0) game_value = -1;
+	  }
+        for (int i = size - 1; i >= 0; --i)
+	  {
+            visited[i]->update(game_value);
+            game_value = -game_value;
+	  }
+        game->set_state(state);
+        ++nb_iter;
+        if ((nb_iter & 0x3F) == 0) now = chrono::steady_clock::now();
+      }
+    while ((nb_iter & 0x3F) != 0 || now < start + this->milliseconds);
+  }
+
+  template <typename Game>
+  uint16_t mcts_two_players<Game>::select_move()
+  {
+    using namespace std;
+    if (!this->root->is_proven())
+      {
+#pragma omp parallel
+        think(game::copy(this->game));
+      }
+    // std::ofstream ofs ("graph.gv", ofstream::out);
+    //    util::display_node::node_to_dot(ofs, this->root, 1000, 50);
+    util::display_node::node_to_ascii(cout, this->root, 2);
+    //    std::cout << "finished " << new_version_ << std::endl;
+    // string _;
+    // getline(cin, _);
+    unsigned int best_count_so_far = 0;
+    uint16_t nb_children = this->root->get_number_of_children();
+    uniform_int_distribution<uint16_t> d(0, nb_children - 1);
+    uint16_t k = d(this->generators[0]);
+    uint16_t best_move_so_far = k;
+    node* children = this->root->get_children();
+    unsigned int c;
+    for (uint16_t i = 0; i < nb_children; ++i)
+      {
+        node *child = children + k;
+        if (child->is_lost())
+	  {
+            best_move_so_far = k;
+            break;
+	  }
+        c = children[k].get_statistics().count;
+        if (c > best_count_so_far)
+	  {
+            best_count_so_far = c;
+            best_move_so_far = k;
+	  }
+        ++k;
+        if (k == nb_children) k = 0;
+      }
+    return best_move_so_far;
+  }
+
+  template <typename Game>
+  void mcts_two_players<Game>::last_moves(uint16_t computer, uint16_t other)
+  {
+    if (this->root->is_leaf() || this->root->get_children()[computer].is_leaf())
+      {
+        alloc_.clear();
+        this->root = alloc_.allocate(1);
+      }
+    else
+      {
+        this->root = alloc_.move(&this->root->get_children()[computer].get_children()[other]);
+      }
+  }
+
+  template <typename Game>
+  void mcts_two_players<Game>::last_move(uint16_t move)
+  {
+    if (this->root->is_leaf())
+      {
+        alloc_.clear();
+        this->root = alloc_.allocate(1);
+      }
+    else
+      {
+        this->root = alloc_.move(&this->root->get_children()[move]);
+      }
+  }
+
+}
+
+#endif
diff --git a/src/mcts/node.cpp b/src/mcts/node.cpp
new file mode 100644
index 0000000..bc40789
--- /dev/null
+++ b/src/mcts/node.cpp
@@ -0,0 +1,24 @@
+#include "node.hpp"
+#include <sstream>
+#include "display_node.hpp"
+
+using namespace std;
+
+namespace mcts
+{
+  string node::to_string() const
+  {
+    stringbuf buffer;
+    ostream os(&buffer);
+    util::display_node::node_to_ascii(os, this);
+    os << endl;
+    return buffer.str();
+  }
+
+  ostream& operator<<(ostream& os, const node& n)
+  {
+    util::display_node::node_to_ascii(os, &n);
+    os << endl;
+    return os;
+  }
+}
diff --git a/src/mcts/node.hpp b/src/mcts/node.hpp
new file mode 100644
index 0000000..591e6df
--- /dev/null
+++ b/src/mcts/node.hpp
@@ -0,0 +1,138 @@
+#ifndef __NODE_HPP__
+#define __NODE_HPP__
+
+#include "statistics.hpp"
+#include <string>
+#include <iostream>
+#include <limits>
+
+#define NODE_WON_VALUE 1e15
+#define NODE_LOST_VALUE -1e15
+
+namespace mcts
+{
+  class node
+  {    
+    statistics stats;
+    bool flag = false;
+    uint16_t number_of_children = 0;
+    node* children = nullptr;
+    
+  public:
+    inline uint16_t get_winning_index() const;
+    inline bool is_leaf() const;
+    inline uint16_t get_number_of_children() const;
+    inline node* get_children() const;
+    inline void set_number_of_children(uint16_t n);
+    inline void set_children(node* n);
+    inline void set_won();
+    inline void set_lost();
+    inline bool is_proven() const;
+    inline bool is_won() const;
+    inline bool is_lost() const;
+    inline const statistics& get_statistics() const;
+    inline statistics& get_statistics_ref();
+    inline void set_statistics(const statistics& s);
+    inline bool test_and_set();
+    inline void update(int value);
+    inline void update_count();
+    std::string to_string() const;
+    friend std::ostream& operator<<(std::ostream& os, const node& n);
+  };
+
+  bool node::is_proven() const
+  {
+    return is_won() || is_lost();
+  }
+
+  void node::set_won()
+  {
+    stats.value = NODE_WON_VALUE;
+  }
+  
+  void node::set_lost()
+  {
+    stats.value = NODE_LOST_VALUE;
+  }
+  
+  bool node::is_won() const
+  {
+    return stats.value > 1.1;
+  }
+  
+  bool node::is_lost() const
+  {
+    return stats.value < -1.1;
+  }
+
+  bool node::is_leaf() const
+  {
+    return get_number_of_children() == 0 || get_children() == nullptr;
+  }
+
+  uint16_t node::get_number_of_children() const
+  {
+    uint16_t res;
+#pragma omp atomic read
+    res = number_of_children;
+    return res;
+  }
+  node* node::get_children() const
+  {
+    node* res;
+#pragma omp atomic read
+    res = children;
+    return res;
+  }
+  void node::set_number_of_children(uint16_t n)
+  {
+#pragma omp atomic write
+    number_of_children = n;
+  }
+  void node::set_children(node* n)
+  {
+#pragma omp atomic write
+    children = n;
+  }
+  const statistics& node::get_statistics() const
+  {
+    return stats;
+  }
+  statistics& node::get_statistics_ref()
+  {
+    return stats;
+  }
+  void node::set_statistics(const statistics& s)
+  {
+    stats = s;
+  }
+  bool node::test_and_set()
+  {
+    bool res;
+#pragma GCC diagnostic ignored "-Wunused-value"
+#pragma omp atomic capture
+    {
+      res = flag;
+      flag = true;
+    }
+    return res;
+  }
+
+  void node::update_count()
+  {
+    ++stats.count;
+  }
+  
+  void node::update(int v)
+  {
+    unsigned int count = stats.count;
+    double value = stats.value;
+    ++count;
+    value += (v - value) / count;
+    stats.value = value;
+    stats.count = count;
+  }
+
+}
+
+#endif
diff --git a/src/mcts/openings.cpp b/src/mcts/openings.cpp
new file mode 100644
index 0000000..e139c7d
--- /dev/null
+++ b/src/mcts/openings.cpp
@@ -0,0 +1,30 @@
+#include "openings.hpp"
+
+namespace mcts
+{
+  std::ostream& operator<<(std::ostream& os, const openings& op)
+  {
+    util::display_node::node_to_ascii(os, op.root_, 3);
+    return os;
+  }
+
+  void openings::copy_to(node* root, allocator& alloc) const
+  {
+    copy(root_, root, alloc);
+  }
+
+  void openings::copy(node* src, node* dst, allocator& alloc) const
+  {
+    dst->set_statistics(src->get_statistics());
+    const unsigned int nb_children = src->get_number_of_children();
+    dst->set_number_of_children(nb_children);
+    if (nb_children == 0) return;
+    dst->set_children(alloc.allocate(nb_children));
+    node* const src_children = src->get_children();
+    node* const dst_children = dst->get_children();
+    for (unsigned int i = 0; i < nb_children; ++i)
+      {
+        copy(src_children + i, dst_children + i, alloc);
+      }
+  }
+}
diff --git a/src/mcts/openings.hpp b/src/mcts/openings.hpp
new file mode 100644
index 0000000..94e0c79
--- /dev/null
+++ b/src/mcts/openings.hpp
@@ -0,0 +1,115 @@
+#ifndef __OPENINGS_HPP__
+#define __OPENINGS_HPP__
+
+#include "allocator.hpp"
+#include <vector>
+#include "display_node.hpp"
+
+namespace mcts
+{
+  class openings
+  {
+    allocator alloc_;
+    node* root_;
+    const unsigned int nb_visits_before_expansion_;
+
+    void copy(node* src, node* dst, allocator& alloc) const;
+    template <typename Game>
+    void expand(Game& game, node* n, uint16_t move, int value);
+  public:
+    template <typename Game>
+    openings(const Game& game, unsigned int nb_visits_before_expansion = 2);
+    void copy_to(node* root, allocator& alloc) const;
+    template <typename Game>
+    void update(Game& game, const std::vector<uint16_t>& moves, int value);
+    friend std::ostream& operator<<(std::ostream& os, const openings& op);
+  };
+
+  template <typename Game>
+  openings::openings(const Game& game, unsigned int nb_visits_before_expansion) : nb_visits_before_expansion_(nb_visits_before_expansion)
+  {
+    root_ = alloc_.allocate(1);
+    unsigned int nb_children = game.number_of_moves();
+    node* children = alloc_.allocate(nb_children);
+    for (unsigned int i = 0; i < nb_children; ++i)
+      {
+        node* child = children + i;
+        child->get_statistics_ref().count = 1;
+        child->get_statistics_ref().value = 0;
+      }
+  }
+
+  template <typename Game>
+  void openings::expand(Game& game, node* n, uint16_t move, int value)
+  {
+    unsigned int count = n->get_statistics().count;
+    if (count >= nb_visits_before_expansion_)
+      {
+        unsigned int nb_children = game.number_of_moves();
+        node* children = alloc_.allocate(nb_children);
+        for (unsigned int i = 0; i < nb_children; ++i)
+	  {
+            node* child = children + i;
+            child->get_statistics_ref().count = 1;
+            child->get_statistics_ref().value = 0;
+	  }
+        n->set_children(children);
+        n->set_number_of_children(nb_children);
+        children[move].update(value);
+      }
+  }
+
+  template <typename Game>
+  void openings::update(Game& game, const std::vector<uint16_t>& moves, int value)
+  {
+    node* pred = nullptr;
+    node* current = root_;
+    int k = 0;
+    while (true)
+      {
+        current->update(value);
+        value = -value;
+        if (current->is_leaf()) break;
+        uint16_t m = moves[k++];
+        game.play(m);
+        pred = current;
+        current = current->get_children() + m;
+        if (current->is_proven())
+	  {
+            if (current->is_lost()) pred->set_won();
+            else
+	      {
+                const uint16_t nb_children = pred->get_number_of_children();
+                node* const children = pred->get_children();
+                bool all_won = true;
+                for (uint16_t i = 0; i < nb_children; ++i)
+		  {
+                    node* child = children + i;
+                    if (!child->is_won())
+		      {
+                        all_won = false;
+                        break;
+		      }
+		  }
+                if (all_won) pred->set_lost();
+	      }
+            return;
+	  }
+      }
+    if (!game.end_of_game())
+      {
+        expand(game, current, moves[k], value);
+      }
+    else
+      {
+        if (value == 1) current->set_won();
+        else if (value == -1)
+	  {
+            current->set_lost();
+            if (pred != nullptr) pred->set_won();
+	  }
+      }
+  }
+}
+
+#endif
diff --git a/src/mcts/statistics.cpp b/src/mcts/statistics.cpp
new file mode 100644
index 0000000..cafa2ad
--- /dev/null
+++ b/src/mcts/statistics.cpp
@@ -0,0 +1,16 @@
+#include "statistics.hpp"
+#include <sstream>
+#include <iomanip>
+
+using namespace std;
+
+namespace mcts
+{
+  std::string statistics::to_string() const
+  {
+    stringbuf buffer;
+    ostream os(&buffer);
+    os << "(count: " << count << ", value: " << setprecision(2) << value << ")";
+    return buffer.str();
+  }
+}
diff --git a/src/mcts/statistics.hpp b/src/mcts/statistics.hpp
new file mode 100644
index 0000000..78dfa69
--- /dev/null
+++ b/src/mcts/statistics.hpp
@@ -0,0 +1,16 @@
+#ifndef __STATISTICS_HPP__
+#define __STATISTICS_HPP__
+
+#include <string>
+
+namespace mcts
+{
+  struct statistics
+  {
+    unsigned int count = 0;
+    float value = 0;
+    std::string to_string() const;
+  };
+}
+
+#endif
diff --git a/src/mcts/test_allocator.cpp b/src/mcts/test_allocator.cpp
new file mode 100644
index 0000000..98f70cd
--- /dev/null
+++ b/src/mcts/test_allocator.cpp
@@ -0,0 +1,109 @@
+#include "test_allocator.hpp"
+#include <algorithm>
+#include "pow.hpp"
+#include <iostream>
+//#include <thread>
+#include <random>
+#include "display_node.hpp"
+
+using namespace std;
+
+namespace mcts
+{
+  test_allocator::test_allocator(unsigned int depth, unsigned int nb_children)
+  {
+    allocate(depth, nb_children);
+    allocate_multi_threaded(depth, nb_children);
+    alloc.clear();
+    allocate(depth, nb_children);
+    allocate_multi_threaded(depth, nb_children);
+    alloc.clear();
+    node* root = alloc.allocate(1);
+    build(depth, nb_children, root);
+    cout << "size: " << alloc.size() << endl;
+    cout << "free space: " << alloc.free_space() << endl;
+    cout << root << endl << *root << endl;
+    util::display_node::node_to_dot(cout, root);
+    node* new_root = alloc.move(root);
+    cout << "free space: " << alloc.free_space() << endl;
+    cout << new_root << endl << *new_root << endl;
+  }
+
+  void test_allocator::build(unsigned int depth, unsigned int nb_children, node* n)
+  {
+    uniform_int_distribution<int> dint(1, nb_children);
+    statistics& stats = n->get_statistics_ref();
+    stats.count = dint(generator);
+    uniform_real_distribution<float> dfloat(-1, 1);
+    stats.value = dfloat(generator);
+    if (depth == 0) return;
+    node* children = alloc.allocate(nb_children);
+    n->set_children(children);
+    n->set_number_of_children(nb_children); 
+    for (unsigned int i = 0; i < nb_children; ++i) 
+      {
+	build(depth - 1, nb_children, children + i);
+      }
+  }
+  
+  void test_allocator::collect(vector<node*>& nodes, node* n)
+  {
+    if (n == nullptr) return;
+    nodes.push_back(n);
+    uint16_t nb_children = n->get_number_of_children();
+    node* children = n->get_children();
+    for (unsigned int i = 0; i < nb_children; ++i) 
+      {
+	collect(nodes, children + i);
+      }
+  }
+
+  bool test_allocator::check(vector<node*> nodes, unsigned int depth, unsigned int nb_children)
+  {
+    if ((int)nodes.size() != 1 + (util::pow_l(nb_children, depth + 1) - nb_children) / (nb_children - 1)) return false; 
+    sort(nodes.begin(), nodes.end());
+    for (unsigned int i = 1; i < nodes.size(); ++i) 
+      {
+	if (nodes[i-1] + 1 != nodes[i]) return false;
+      }
+    return true;
+  }
+
+  void test_allocator::test(node* root, unsigned int depth, unsigned int nb_children, const string& msg)
+  {
+    vector<node*> nodes;
+    collect(nodes, root);
+    if (check(nodes, depth, nb_children)) std::cout << msg + " succeeded" << std::endl;
+    else std::cout << msg + " failed" << std::endl;
+  }
+
+  void test_allocator::allocate(unsigned int depth, unsigned int nb_children)
+  {
+    node* root = alloc.allocate(1);
+    build(depth, nb_children, root);
+    test(root, depth, nb_children, "allocate");
+  }
+
+  void test_allocator::allocate_multi_threaded(unsigned int depth, unsigned int nb_children)
+  {
+    node* root = alloc.allocate(1);
+    if (depth != 0)
+      {
+	root->set_number_of_children(nb_children);
+	node* children = alloc.allocate(nb_children);
+	root->set_children(children);
+	// vector<thread> threads;
+	// for (unsigned int i = 0; i < nb_children; ++i)
+	//   {
+	//     threads.push_back(thread(&test_allocator::build, this, depth - 1, nb_children, children + i));
+	//   }
+	// for_each(threads.begin(), threads.end(), mem_fn(&thread::join));
+#pragma omp parallel for
+	for (unsigned int i = 0; i < nb_children; ++i)
+	  {
+	    build(depth - 1, nb_children, children + i);
+	  }
+      }
+    test(root, depth, nb_children, "allocate multi threaded");
+  }
+}
diff --git a/src/mcts/test_allocator.hpp b/src/mcts/test_allocator.hpp
new file mode 100644
index 0000000..3e141c2
--- /dev/null
+++ b/src/mcts/test_allocator.hpp
@@ -0,0 +1,29 @@
+#ifndef __TEST_ALLOCATOR_HPP__
+#define __TEST_ALLOCATOR_HPP__
+
+#include "allocator.hpp"
+#include <vector>
+#include <string>
+#include <random>
+
+namespace mcts
+{
+  class test_allocator
+  {
+    allocator alloc;
+    std::default_random_engine generator;
+    
+    void allocate(unsigned int depth, unsigned int nb_children);
+    void allocate_multi_threaded(unsigned int depth, unsigned int nb_children);
+    void build(unsigned int depth, unsigned int nb_children, node* n);
+    void collect(std::vector<node*>& nodes, node* n); 
+    bool check(std::vector<node*> nodes, unsigned int depth, unsigned int nb_children);
+    void test(node* root, unsigned int depth, unsigned int nb_children, const std::string& msg);
+
+  public:
+    test_allocator(unsigned int depth = 3, unsigned int nb_children = 2);
+    std::string to_string() const;
+  };
+}
+
+#endif
diff --git a/src/mcts/test_mcts_two_players.cpp b/src/mcts/test_mcts_two_players.cpp
new file mode 100644
index 0000000..dbe95ec
--- /dev/null
+++ b/src/mcts/test_mcts_two_players.cpp
@@ -0,0 +1,280 @@
+#include "mcts_two_players.hpp"
+#include "test_mcts_two_players.hpp"
+#include "connect4.hpp"
+#include <iostream>
+#include <iomanip>
+#include <map>
+
+//#include <gperftools/profiler.h>
+
+using namespace std;
+using namespace game;
+
+namespace mcts
+{
+  test_mcts_two_players::test_mcts_two_players() : openings_(connect4())
+  {
+    //self_play(1000);
+    play();
+    //test_openings(10000, 1000);
+  }
+
+  void test_mcts_two_players::test_openings(int nb_learning, int nb_testing)
+  {
+    //    self_play(nb_testing);
+    self_play_learn_openings(nb_learning);
+    self_play(nb_testing, true);
+  }
+
+  template <typename Game>
+  int test_mcts_two_players::select_move(Game& game)
+  {
+    cout << game.player_to_string(game.current_player()) << " move: ";
+    map<string, int> m;
+    for (int i = 0; i < game.number_of_moves(); ++i)
+      {
+        m[game.move_to_string(i)] = i;
+      }
+    string move;
+    getline(cin, move);
+    game.play(m[move]);
+    return m[move];
+  }
+
+  void test_mcts_two_players::play()
+  {
+    //    ProfilerStart("theturk.prof");
+    connect4 c4;
+    auto the_turk = make_mcts_two_players(c4, 5000, 0.3, 4);
+    cout << "play one game" << endl;
+    cout << "who's first? (h)uman/(c)omputer ";
+    string ans;
+    getline(cin, ans);
+    cout << c4 << endl;
+    int human_last_move = -1, computer_last_move = -1;
+    while (!c4.end_of_game())
+      {
+        if ((ans == "h" && c4.current_player() == 0) || (ans == "c" && c4.current_player() == 1))
+	  {
+            human_last_move = select_move(c4);
+	  }
+        else
+	  {
+            if (human_last_move != -1 && computer_last_move != -1)
+	      {
+                the_turk.last_moves(computer_last_move, human_last_move);
+	      }
+            uint16_t move = the_turk.select_move();
+            computer_last_move = move;
+            cout << c4.player_to_string(c4.current_player()) << " move: " << c4.move_to_string(move) << endl;
+            c4.play(move);
+	  }
+        cout << c4 << endl;
+      }
+    if (c4.value(0) == 1) cout << c4.player_to_string(0) << " won";
+    else if (c4.value(1) == 1) cout << c4.player_to_string(1) << " won";
+    else cout << "draw";
+    cout << endl;
+    //    ProfilerStop();
+  }
+
+  void test_mcts_two_players::self_play_learn_openings(int n)
+  {
+    connect4 c4;
+    vector<uint16_t> moves(200);
+    auto state = c4.get_state();
+    auto the_turk_1 = make_mcts_two_players(c4, 1000, 0.6, 2);
+    auto the_turk_2 = make_mcts_two_players(c4, 1000, 0.6, 2);
+    map<set<int>, pair<uint32_t, double>> learning_examples;
+    for (int i = 0; i < n; ++i)
+      {
+        cout << i << endl;
+        cout << openings_ << endl << endl;
+        moves.clear();
+        c4.set_state(state);
+        the_turk_1.reset();
+        the_turk_1.init_with_openings(openings_);
+        the_turk_2.reset();
+        the_turk_2.init_with_openings(openings_);
+        int the_turk_1_last_move = -1, the_turk_2_last_move = -1;
+        int k = 0;
+        while (!c4.end_of_game())
+	  {
+            if (k == 1) the_turk_2.last_move(the_turk_1_last_move);
+            if (k % 2 == 0)
+	      {
+                if (the_turk_2_last_move != -1)
+		  {
+                    the_turk_1.last_moves(the_turk_1_last_move, the_turk_2_last_move);
+		  }
+                uint16_t move = the_turk_1.select_move();
+                moves.push_back(move);
+                the_turk_1_last_move = move;
+                c4.play(move);
+	      }
+            else
+	      {
+                if (the_turk_2_last_move != -1)
+		  {
+                    the_turk_2.last_moves(the_turk_2_last_move, the_turk_1_last_move);
+		  }
+                uint16_t move = the_turk_2.select_move();
+                moves.push_back(move);
+                the_turk_2_last_move = move;
+                c4.play(move);
+	      }
+            ++k;
+	  }
+	std::cout << c4 << std::endl;
+        int v = c4.value(0);
+        cout << "value for first player " << v << endl;
+        c4.set_state(state);
+        openings_.update(c4, moves, v);
+	c4.set_state(state);
+	for (uint16_t m : moves) 
+	  {
+	    c4.play(m);
+	    v = -v;
+	    set<int> input_vector = std::move(c4.to_input_vector());
+	    auto it = learning_examples.find(input_vector);
+	    if (it == learning_examples.end())
+	      {
+		learning_examples[input_vector] = make_pair(1, v);
+	      }
+	    else
+	      {
+		it->second.second = (it->second.second * it->second.first + v) / (it->second.first + 1);
+		it->second.first += 1;
+	      }
+	  }
+      }
+    cout << "number of learning examples: " << learning_examples.size() << endl;
+    ofstream output("learning_examples.txt");
+    for (const auto& example : learning_examples) 
+      {
+	output << example.second.second;
+	for (int index : example.first) 
+	  {
+	    output << " " << index << ":" << 1;
+	  }
+	output << endl;
+      }
+    output.close();
+  }
+
+  void test_mcts_two_players::self_play(int n, bool with_openings)
+  {
+    connect4 c4;
+    auto state = c4.get_state();
+    auto the_turk_v1 = make_mcts_two_players(c4, 1000, 0.6, 2);
+    auto the_turk_v2 = make_mcts_two_players(c4, 1000, 0.6, 2);
+    int nb_win_v1 = 0, nb_win_v2 = 0, nb_draw = 0;
+    for (int i = 0; i < n; ++i)
+      {
+        cout << i << endl;
+        c4.set_state(state);
+        the_turk_v1.reset();
+        the_turk_v2.reset();
+	if (with_openings) the_turk_v2.init_with_openings(openings_);
+        int the_turk_v1_last_move = -1, the_turk_v2_last_move = -1;
+	int k = 0;
+        while (!c4.end_of_game())
+	  {
+            if (with_openings && k == 1 && i % 2 == 0) the_turk_v2.last_move(the_turk_v1_last_move);
+	    ++k;
+            //	    cout << c4 << endl;
+            if ((i % 2 == 0 && c4.current_player() == 0) || (i % 2 == 1 && c4.current_player() == 1))
+	      {
+                if (the_turk_v1_last_move != -1 && the_turk_v2_last_move != -1)
+		  {
+                    the_turk_v1.last_moves(the_turk_v1_last_move, the_turk_v2_last_move);
+		  }
+                uint16_t move = the_turk_v1.select_move();
+                the_turk_v1_last_move = move;
+                c4.play(move);
+	      }
+            else
+	      {
+                if (the_turk_v1_last_move != -1 && the_turk_v2_last_move != -1)
+		  {
+                    the_turk_v2.last_moves(the_turk_v2_last_move, the_turk_v1_last_move);
+		  }
+                uint16_t move = the_turk_v2.select_move();
+                the_turk_v2_last_move = move;
+                c4.play(move);
+	      }
+	  }
+        if (c4.value(0) == 1)
+	  {
+            if (i % 2 == 0)
+	      {
+                /*cout << "v1 won" << endl;*/ ++nb_win_v1;
+	      }
+            else
+	      {
+                /*cout << "v2 won" << endl;*/ ++nb_win_v2;
+	      }
+	  }
+        else if (c4.value(1) == 1)
+	  {
+            if (i % 2 == 0)
+	      {
+                /*cout << "v2 won" << endl;*/ ++nb_win_v2;
+	      }
+            else
+	      {
+                /*cout << "v1 won" << endl;*/ ++nb_win_v1;
+	      }
+	  }
+        else
+	  {
+            /*cout << "draw" << endl;*/ ++nb_draw;
+	  }
+        cout << setw(10) << "v1 nb wins: " << nb_win_v1 << " v2 nb wins: " << nb_win_v2 << " nb draws: " << nb_draw << endl;
+      }
+  }
+
+  void test_mcts_two_players::self_play()
+  {
+    connect4 c4;
+    auto the_turk_v1 = make_mcts_two_players(c4, 1000, 1.2, 2);
+    auto the_turk_v2 = make_mcts_two_players(c4, 1000, 1.2, 2);
+    cout << "play one game" << endl;
+    cout << "who's first? the_turk_(v1)/the_turk_(v2) ";
+    string ans;
+    getline(cin, ans);
+    cout << c4 << endl;
+    int the_turk_v1_last_move = -1, the_turk_v2_last_move = -1;
+    while (!c4.end_of_game())
+      {
+        if ((ans == "v1" && c4.current_player() == 0) || (ans == "v2" && c4.current_player() == 1))
+	  {
+            if (the_turk_v1_last_move != -1 && the_turk_v2_last_move != -1)
+	      {
+                the_turk_v1.last_moves(the_turk_v1_last_move, the_turk_v2_last_move);
+	      }
+            uint16_t move = the_turk_v1.select_move();
+            the_turk_v1_last_move = move;
+            cout << c4.player_to_string(c4.current_player()) << " move: " << c4.move_to_string(move) << endl;
+            c4.play(move);
+	  }
+        else
+	  {
+            if (the_turk_v1_last_move != -1 && the_turk_v2_last_move != -1)
+	      {
+                the_turk_v2.last_moves(the_turk_v2_last_move, the_turk_v1_last_move);
+	      }
+            uint16_t move = the_turk_v2.select_move();
+            the_turk_v2_last_move = move;
+            cout << c4.player_to_string(c4.current_player()) << " move: " << c4.move_to_string(move) << endl;
+            c4.play(move);
+	  }
+        cout << c4 << endl;
+      }
+    if (c4.value(0) == 1) cout << c4.player_to_string(0) << " won";
+    else if (c4.value(1) == 1) cout << c4.player_to_string(1) << " won";
+    else cout << "draw";
+    cout << endl;
+  }
+
+}
diff --git a/src/mcts/test_mcts_two_players.hpp b/src/mcts/test_mcts_two_players.hpp
new file mode 100644
index 0000000..c04f71f
--- /dev/null
+++ b/src/mcts/test_mcts_two_players.hpp
@@ -0,0 +1,25 @@
+#ifndef __TEST_MCTS_TWO_PLAYERS_HPP__
+#define __TEST_MCTS_TWO_PLAYERS_HPP__
+
+#include "openings.hpp"
+
+namespace mcts
+{
+  class test_mcts_two_players
+  {
+    openings openings_;
+
+    void play();
+    void self_play();
+    void self_play(int n, bool with_openings = false);
+    void self_play_learn_openings(int n);
+    void test_openings(int nb_learning, int nb_testing); 
+    
+    template <typename Game>
+    int select_move(Game& game);
+  public:
+    test_mcts_two_players();    
+  };
+}
+
+#endif
diff --git a/src/minmax/connect4_heuristic.cpp b/src/minmax/connect4_heuristic.cpp
new file mode 100644
index 0000000..25ad3a6
--- /dev/null
+++ b/src/minmax/connect4_heuristic.cpp
@@ -0,0 +1,11 @@
+#include "connect4_heuristic.hpp"
+
+namespace minmax
+{
+  double connect4_heuristic::value(const connect4& c4) const
+  {
+    const connect4_state& state = c4.get_state();
+    return 0;
+  }
+
+}
diff --git a/src/minmax/connect4_heuristic.hpp b/src/minmax/connect4_heuristic.hpp
new file mode 100644
index 0000000..050d176
--- /dev/null
+++ b/src/minmax/connect4_heuristic.hpp
@@ -0,0 +1,14 @@
+#ifndef __CONNECT4_HEURISTIC_HPP__
+#define __CONNECT4_HEURISTIC_HPP__
+
+#include <connect4.hpp>
+
+namespace minmax
+{
+  class connect4_heuristic : public heuristic<connect4>
+  {
+    double value(const connect4& c4) const;
+  };
+}
+
+#endif
diff --git a/src/minmax/heuristic.hpp b/src/minmax/heuristic.hpp
new file mode 100644
index 0000000..09803f0
--- /dev/null
+++ b/src/minmax/heuristic.hpp
@@ -0,0 +1,26 @@
+#ifndef __HEURISTIC_HPP__
+#define __HEURISTIC_HPP__
+
+namespace minmax
+{
+  template <typename Game>
+  class heuristic
+  {
+  public:
+    virtual double value(const Game& game) const = 0;
+  };
+
+  template <typename Game>
+  class null_heuristic : public heuristic<Game>
+  {
+    double value(const Game& game) const;
+  };
+
+  template <typename Game>
+  double null_heuristic<Game>::value(const Game& game) const
+  {
+    return 0;
+  }
+}
+
+#endif
diff --git a/src/minmax/minmax.hpp b/src/minmax/minmax.hpp
new file mode 100644
index 0000000..6a77f7c
--- /dev/null
+++ b/src/minmax/minmax.hpp
@@ -0,0 +1,135 @@
+#ifndef __MINMAX_HPP__
+#define __MINMAX_HPP__
+
+#include <chrono>
+#include <vector>
+#include "game.hpp"
+#include "heuristic.hpp"
+#include <iostream>
+#include <limits>
+
+namespace minmax
+{
+  struct cannot_prove : std::exception
+  {
+    const char* what() const noexcept { return "cannot prove the game theoritical value"; }
+  };
+
+  template <typename Game>
+  class minmax
+  {
+  protected:
+    Game& game;
+    std::chrono::milliseconds milliseconds;
+    const heuristic<Game>& h;
+    std::vector<uint16_t> principal_variation;
+    std::chrono::steady_clock::time_point start;
+
+  public:
+    minmax(Game& game, uint32_t milliseconds, const heuristic<Game>& h = null_heuristic<Game>())
+      : game(game), milliseconds(milliseconds), h(h)
+    {
+    }
+
+    int prove();
+    double solve();
+    uint16_t select_move();
+
+  private:
+    long prove(int depth);
+    double solve(int depth);
+  };
+
+  template <typename Game>
+  minmax<Game> make_minmax(Game& game, uint32_t milliseconds, const heuristic<Game>& h = null_heuristic<Game>())
+  {
+    return minmax<Game>(game, milliseconds, h);
+  }
+    
+  template <typename Game>
+  double minmax<Game>::solve()
+  {
+    return 0;
+  }
+
+  template <typename Game>
+  double minmax<Game>::solve(int depth)
+  {
+    return 0;
+  }
+
+  template <typename Game>
+  uint16_t minmax<Game>::select_move()
+  {
+    return 0;
+  }
+
+  const long UNKNOWN = std::numeric_limits<long>::max();
+  
+  template <typename Game>
+  int minmax<Game>::prove()
+  {
+    start = std::chrono::steady_clock::now();
+    uint16_t nb_moves = game.number_of_moves();
+    long value[nb_moves];
+    std::fill_n(value, nb_moves, UNKNOWN);
+    int depth = 3;
+    auto state = game.get_state();
+    try
+      {
+	int nb_proved_moves = 0, nb_draws = 0;
+	while (true) 
+	  {
+	    for (uint16_t move = 0; move < nb_moves; ++move) 
+	      {
+		if (value[move] != UNKNOWN) continue;
+		game.play(move);
+		value[move] = prove(depth);
+		game.set_state(state);
+		if (value[move] == -1) return 1;
+		if (value[move] == 0) ++nb_draws;
+		if (value[move] != UNKNOWN) ++nb_proved_moves;
+	      }
+	    if (nb_proved_moves == nb_moves)
+	      {
+		if (nb_draws != 0) return 0;
+		return -1;
+	      }
+	    ++depth;
+	  }
+      }
+    catch (cannot_prove fail)
+      {
+	game.set_state(state);
+      }
+    throw cannot_prove();
+  }
+  
+  template <typename Game>
+  long minmax<Game>::prove(int depth)
+  {
+    if (game.end_of_game()) return game.value(game.current_player());
+    if (depth == 0) return UNKNOWN;
+    if ((depth & 3) && std::chrono::steady_clock::now() >= start + milliseconds) throw cannot_prove();
+    uint16_t nb_moves = game.number_of_moves();
+    auto state = game.get_state();
+    int nb_proved_moves = 0, nb_draws = 0;
+    for (uint16_t move = 0; move < nb_moves; ++move)
+      {
+	game.play(move);
+	long v = prove(depth - 1);
+	game.set_state(state);
+	if (v == -1) return 1;
+	if (v == 0) ++nb_draws;
+	if (v != UNKNOWN) ++nb_proved_moves;
+      }
+    if (nb_proved_moves == nb_moves)
+      {
+	if (nb_draws != 0) return 0;
+	return -1;
+      }
+    return UNKNOWN;
+  }
+}
+
+#endif
diff --git a/src/minmax/test_minmax.cpp b/src/minmax/test_minmax.cpp
new file mode 100644
index 0000000..7d5aa9c
--- /dev/null
+++ b/src/minmax/test_minmax.cpp
@@ -0,0 +1,67 @@
+#include "minmax.hpp"
+#include "test_minmax.hpp"
+#include "connect4.hpp"
+#include <iostream>
+#include <iomanip>
+#include <map>
+
+using namespace std;
+using namespace game;
+
+namespace minmax
+{
+  test_minmax::test_minmax()
+  {    
+    play();
+  }
+
+  template <typename Game>
+  int test_minmax::select_move(Game& game)
+  {
+    cout << game.player_to_string(game.current_player()) << " move: ";
+    map<string, int> m;
+    for (int i = 0; i < game.number_of_moves(); ++i) 
+      {
+	m[game.move_to_string(i)] = i;
+      }
+    string move;
+    getline(cin, move);
+    game.play(m[move]);
+    return m[move];
+  }
+
+  void test_minmax::play()
+  {
+    connect4 c4;
+    auto minimax = make_minmax(c4, 2000);
+    cout << "play one game" << endl;
+    cout << c4 << endl;
+    while (!c4.end_of_game())
+      {
+	cout << "try to prove? (y/n)" << endl;
+	string ans;
+	getline(cin, ans);
+	if (ans == "y")
+	  {
+	    try
+	      {
+		int v = minimax.prove();
+		if (v == 1) cout << "won position" << endl;
+		if (v == -1) cout << "lost position" << endl;
+		if (v == 0) cout << "drawn position" << endl;
+	      }
+	    catch (exception fail)
+	      {
+		cout << "unable to prove" << endl;
+	      }
+	  }
+	select_move(c4);
+	cout << c4 << endl;
+      }
+    if (c4.value(0) == 1) cout << c4.player_to_string(0) << " won";
+    else if (c4.value(1) == 1) cout << c4.player_to_string(1) << " won";
+    else cout << "draw";
+    cout << endl;
+  }
+
+}
diff --git a/src/minmax/test_minmax.hpp b/src/minmax/test_minmax.hpp
new file mode 100644
index 0000000..7d8fe99
--- /dev/null
+++ b/src/minmax/test_minmax.hpp
@@ -0,0 +1,16 @@
+#ifndef __TEST_MINMAX_HPP__
+#define __TEST_MINMAX_HPP__
+
+namespace minmax
+{
+  class test_minmax
+  {
+    void play();
+    template <typename Game>
+    int select_move(Game& game);
+  public:
+    test_minmax();
+  };
+}
+
+#endif
diff --git a/src/monte_carlo/monte_carlo.cpp b/src/monte_carlo/monte_carlo.cpp
new file mode 100644
index 0000000..eee0301
--- /dev/null
+++ b/src/monte_carlo/monte_carlo.cpp
@@ -0,0 +1,12 @@
+#include "monte_carlo.hpp"
+#include "omp_util.hpp"
+#include <chrono>
+#include <limits>
+#include <iostream>
+#include <algorithm>
+
+using namespace std;
+
+namespace monte_carlo
+{
+}
diff --git a/src/monte_carlo/monte_carlo.hpp b/src/monte_carlo/monte_carlo.hpp
new file mode 100644
index 0000000..299d2fd
--- /dev/null
+++ b/src/monte_carlo/monte_carlo.hpp
@@ -0,0 +1,95 @@
+#ifndef __MONTE_CARLO_HPP__
+#define __MONTE_CARLO_HPP__
+
+#include "game.hpp"
+#include <random>
+#include <chrono>
+#include <vector>
+#include "omp_util.hpp"
+#include <iostream>
+#include <algorithm>
+
+namespace monte_carlo
+{
+  template <typename Game>
+  class monte_carlo
+  {
+    Game& game;
+    uint32_t batch_size;
+    std::chrono::milliseconds milliseconds;
+    std::vector<std::mt19937> generators;
+    
+  public:
+    monte_carlo(Game& game, uint32_t batch_size, uint32_t milliseconds);
+    uint16_t select_move();
+  };
+
+  template <typename Game>
+  uint16_t monte_carlo<Game>::select_move()
+  {
+    using namespace std;
+    uint8_t current_player = game.current_player();
+    uint16_t nb_moves = game.number_of_moves();
+    vector<int> values(game.number_of_moves(), 0);
+    const chrono::steady_clock::time_point start = chrono::steady_clock::now();
+    chrono::steady_clock::time_point now;
+    vector<shared_ptr<Game>> games(util::omp_util::get_num_threads(), nullptr);
+    transform(games.begin(), games.end(), games.begin(), [this](const shared_ptr<Game>& _){ return game::copy(game); });
+    do
+      {
+#pragma omp parallel for	
+	for (uint16_t move = 0; move < nb_moves; ++move)
+	  {
+	    int thread_num = util::omp_util::get_thread_num();
+	    mt19937& generator = generators[thread_num];
+	    shared_ptr<Game> g = games[thread_num];
+	    for (uint32_t i = 0; i < batch_size; ++i)
+	      {
+		auto state = g->get_state();
+		g->play(move);
+		g->playout(generator);
+		values[move] += g->value(current_player);
+		g->set_state(state);
+	      }
+	  }
+	now = chrono::steady_clock::now();
+	//	cout << chrono::duration_cast<chrono::milliseconds>(now - start).count() << endl;
+      }
+    while (now < start + milliseconds);
+
+    int best_value_so_far = numeric_limits<int>::min();
+    uint16_t best_move_so_far = -1;
+    for (uint16_t move = 0; move < nb_moves; ++move) 
+      {
+	cout << "(" << game.move_to_string(move) << ", " << values[move] << ") ";
+	if (values[move] > best_value_so_far)
+	  {
+	    best_value_so_far = values[move];
+	    best_move_so_far = move;
+	  }
+      }
+    cout << endl;
+    return best_move_so_far;
+  }
+  
+  template <typename Game>
+  monte_carlo<Game> make_monte_carlo(Game& game, uint32_t batch_size, uint32_t milliseconds)
+  {
+    return monte_carlo<Game>(game, batch_size, milliseconds);
+  }
+  
+  template <typename Game> 
+  monte_carlo<Game>::monte_carlo(Game& game, uint32_t batch_size, uint32_t milliseconds) 
+    : game(game), batch_size(batch_size), milliseconds(milliseconds)
+  {
+    using namespace std;
+    int num_threads = util::omp_util::get_num_threads();
+    for (int i = 0; i < num_threads; ++i) 
+      {
+	generators.push_back(mt19937(chrono::system_clock::now().time_since_epoch().count()));
+      }
+  }
+
+}
+
+#endif
diff --git a/src/monte_carlo/test_monte_carlo.cpp b/src/monte_carlo/test_monte_carlo.cpp
new file mode 100644
index 0000000..1ad7267
--- /dev/null
+++ b/src/monte_carlo/test_monte_carlo.cpp
@@ -0,0 +1,58 @@
+#include "monte_carlo.hpp"
+#include "test_monte_carlo.hpp"
+#include <iostream>
+#include <map>
+
+using namespace std;
+using namespace game;
+
+namespace monte_carlo
+{
+  test_monte_carlo::test_monte_carlo()
+  {    
+    play();
+  }
+
+  template <typename Game>
+  void test_monte_carlo::select_move(Game& game)
+  {
+    cout << game.player_to_string(game.current_player()) << " move: ";
+    map<string, int> m;
+    for (int i = 0; i < game.number_of_moves(); ++i) 
+      {
+	m[game.move_to_string(i)] = i;
+      }
+    string move;
+    cin >> move;
+    game.play(m[move]);
+  }
+
+  void test_monte_carlo::play()
+  {
+    connect4 c4;
+    auto mc = make_monte_carlo(c4, 80000, 2000);
+    cout << "play one game" << endl;
+    cout << "who's first? (h)uman/(c)omputer ";
+    string ans;
+    cin >> ans;
+    cout << c4 << endl;
+    while (!c4.end_of_game()) 
+      {       
+	if ((ans == "h" && c4.current_player() == 0) || (ans == "c" && c4.current_player() == 1))
+	  {
+	    select_move(c4);
+	  }
+	else
+	  {
+	    uint16_t move = mc.select_move();
+	    cout << c4.player_to_string(c4.current_player()) << " move: " << c4.move_to_string(move) << endl;
+	    c4.play(move);
+	  }
+	cout << c4 << endl;
+      }
+    if (c4.value(0) == 1) cout << c4.player_to_string(0) << " won";
+    else if (c4.value(1) == 1) cout << c4.player_to_string(1) << " won";
+    else cout << "draw";
+    cout << endl;
+  }
+}
diff --git a/src/monte_carlo/test_monte_carlo.hpp b/src/monte_carlo/test_monte_carlo.hpp
new file mode 100644
index 0000000..e1fceb2
--- /dev/null
+++ b/src/monte_carlo/test_monte_carlo.hpp
@@ -0,0 +1,18 @@
+#ifndef __TEST_MONTE_CARLO_HPP__
+#define __TEST_MONTE_CARLO_HPP__
+
+#include "connect4.hpp"
+
+namespace monte_carlo
+{
+  class test_monte_carlo
+  {
+    void play();
+    template <typename Game>
+    void select_move(Game& game);
+  public:
+    test_monte_carlo();
+  };
+}
+
+#endif
diff --git a/src/util/bits.cpp b/src/util/bits.cpp
new file mode 100644
index 0000000..bad4a45
--- /dev/null
+++ b/src/util/bits.cpp
@@ -0,0 +1,16 @@
+#include "bits.hpp"
+
+namespace util
+{
+  uint8_t bits::index64[64] =
+    {
+      0, 47,  1, 56, 48, 27,  2, 60,
+      57, 49, 41, 37, 28, 16,  3, 61,
+      54, 58, 35, 52, 50, 42, 21, 44,
+      38, 32, 29, 23, 17, 11,  4, 62,
+      46, 55, 26, 59, 40, 36, 15, 53,
+      34, 51, 20, 43, 31, 22, 10, 45,
+      25, 39, 14, 33, 19, 30,  9, 24,
+      13, 18,  8, 12,  7,  6,  5, 63
+    };
+}
diff --git a/src/util/bits.hpp b/src/util/bits.hpp
new file mode 100644
index 0000000..4aed894
--- /dev/null
+++ b/src/util/bits.hpp
@@ -0,0 +1,27 @@
+#ifndef __BITS_HPP__
+#define __BITS_HPP__
+
+#include <cstdint>
+
+namespace util
+{
+  class bits 
+  {
+    static uint8_t index64[64];
+
+  public:
+    /**
+     * bit_scan_forward
+     * @author Kim Walisch (2012)
+     * @param bb bitboard to scan
+     * @precondition bb != 0
+     * @return index (0..63) of least significant one bit
+     */
+    static inline int bit_scan_forward(uint64_t bb) 
+    {
+      const uint64_t debruijn64 = uint64_t(0x03f79d71b4cb0a89);
+      return index64[((bb ^ (bb-1)) * debruijn64) >> 58];
+    }
+  };
+}
+#endif
diff --git a/src/util/bits.hpp.gch b/src/util/bits.hpp.gch
new file mode 100644
index 0000000000000000000000000000000000000000..dddb27cdd57ad8a4ede839476dc90e518d6747ff
GIT binary patch
literal 2016048
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
F{{vJ?b{7Bu

literal 0
HcmV?d00001

diff --git a/src/util/display_node.cpp b/src/util/display_node.cpp
new file mode 100644
index 0000000..71cfd06
--- /dev/null
+++ b/src/util/display_node.cpp
@@ -0,0 +1,82 @@
+#include "display_node.hpp"
+#include <string>
+#include <iomanip>
+#include <sstream>
+
+using namespace std;
+
+namespace util
+{
+  void display_node::node_to_ascii(std::ostream& os, const mcts::node* n, unsigned int depth, unsigned int prunning)
+  {
+    node_to_ascii(os, "", n, depth, prunning);
+    os << endl;
+  }
+  
+  void display_node::node_to_dot(std::ostream& os, const mcts::node* n, unsigned int depth, unsigned int prunning)
+  {
+    os << "digraph {" << endl;
+    node_to_dot(os, 0, n, depth, prunning);
+    os << "}" << endl;
+  }
+
+  int display_node::node_to_dot(ostream& os, int id, const mcts::node* n, unsigned int depth, unsigned int prunning)
+  {
+    stringbuf buffer;
+    ostream o (&buffer);
+    if (n->is_won())
+      o << "\"won\"";
+    else if (n->is_lost())
+      o << "\"lost\"";
+    else
+      o << "\"" << n->get_statistics().count << "\\n" << setprecision(2) << n->get_statistics().value << "\"";
+    string label = buffer.str();
+    os << id << "[label=" << label << "]" << endl;
+    if (depth == 0 || n->get_statistics().count < prunning || n->get_number_of_children() == 0) return id + 1;
+    int cpt = id + 1;
+    for (int i = 0; i < n->get_number_of_children(); ++i) 
+      {
+	os << id << "->" << cpt << endl;
+	cpt = node_to_dot(os, cpt, n->get_children() + i, depth - 1, prunning);
+      }
+    return cpt + 1;
+  }
+
+  void display_node::node_to_ascii(ostream& os, string prefix, const mcts::node* n, unsigned int depth, unsigned int prunning)
+  {
+    string s;
+    s = n->get_statistics().to_string();
+    if (n->is_won()) s += "won";
+    else if (n->is_lost()) s += "lost";
+    //    else s = n->get_statistics().to_string();
+    os << s;
+    unsigned int w = s.size();
+    string new_prefix = prefix + string(w + 1, ' ');
+    if (depth == 0 || n->get_statistics().count < prunning || n->get_number_of_children() == 0) return;
+    if (n->get_number_of_children() == 1)
+      {
+	os << "---";
+	node_to_ascii(os, new_prefix + "  ", n->get_children(), depth - 1, prunning);
+	return;
+      }
+    os << "-";
+    children_to_ascii(os, new_prefix, n->get_number_of_children(), n->get_children(), depth, prunning);
+  }
+
+  void display_node::children_to_ascii(ostream& os, string prefix, unsigned int nb_children, const mcts::node* children, unsigned int depth, unsigned int prunning)
+  {
+    os << "+-";
+    node_to_ascii(os, prefix + "| ", children, depth - 1, prunning);
+    os << endl;
+    os << prefix;
+    for (unsigned int i = 1; i < nb_children - 1; ++i) 
+      {
+	os << "|-";
+	node_to_ascii(os, prefix + "| ", children + i, depth - 1, prunning);
+	os << endl;
+	os << prefix;
+      }
+    os << "`-";
+    node_to_ascii(os, prefix + "  ", children + nb_children - 1, depth - 1, prunning);
+  }
+}
diff --git a/src/util/display_node.hpp b/src/util/display_node.hpp
new file mode 100644
index 0000000..86837fe
--- /dev/null
+++ b/src/util/display_node.hpp
@@ -0,0 +1,22 @@
+#ifndef __DISPLAY_NODE_HPP__
+#define __DISPLAY_NODE_HPP__
+
+#include "node.hpp"
+#include <iostream>
+#include <limits>
+
+namespace util
+{
+  class display_node
+  {
+  public:
+    static void node_to_ascii(std::ostream& os, const mcts::node* n, unsigned int depth = std::numeric_limits<unsigned int>::max(), unsigned int prunning = 0);
+    static void node_to_dot(std::ostream& os, const mcts::node* n, unsigned int depth = std::numeric_limits<int>::max(), unsigned int prunning = 0);
+  private:
+    static void node_to_ascii(std::ostream& os, std::string prefix, const mcts::node* n, unsigned int depth, unsigned int prunning);
+    static void children_to_ascii(std::ostream& os, std::string prefix, unsigned int nb_children, const mcts::node* children, unsigned int depth, unsigned int prunning);
+    static int node_to_dot(std::ostream& os, int id, const mcts::node* n, unsigned int depth, unsigned int prunning);
+  };
+}
+
+#endif
diff --git a/src/util/fast_log.cpp b/src/util/fast_log.cpp
new file mode 100644
index 0000000..70ec031
--- /dev/null
+++ b/src/util/fast_log.cpp
@@ -0,0 +1,29 @@
+#include "fast_log.hpp"
+#include <cassert>
+#include <limits>
+
+namespace util
+{
+  fast_log::fast_log(int mantissa_nb_bits) 
+    : mantissa_shift(MAX_MANTISSA_NB_BITS - mantissa_nb_bits)
+  {
+    assert(sizeof(int) == 4);
+    assert(std::numeric_limits<float>::is_iec559);
+    lookup_table = new float[1 << mantissa_nb_bits];
+    int_float x;
+    x._int = 0x3F800000;
+    int incr = (1 << mantissa_shift);
+    int p = (1 << mantissa_nb_bits);
+    float inv_log_two = 1.0f / log(2.0f);
+    for (int i = 0; i < p; ++i)
+      {
+	lookup_table[i] = log(x._float) * inv_log_two;
+	x._int += incr;
+      }
+  }
+  
+  fast_log::~fast_log()
+  {
+    delete[] lookup_table;
+  }
+}
diff --git a/src/util/fast_log.hpp b/src/util/fast_log.hpp
new file mode 100644
index 0000000..482512d
--- /dev/null
+++ b/src/util/fast_log.hpp
@@ -0,0 +1,34 @@
+#ifndef __FAST_LOG_HPP__
+#define __FAST_LOG_HPP__
+
+namespace util
+{
+  class fast_log
+  {
+  public:
+    fast_log(int mantissa_nb_bits = 11);
+    ~fast_log();
+    inline float log(float v) const;
+  private:
+    union int_float
+    {
+      int _int;
+      float _float;
+    };
+    float* lookup_table;    
+    const int mantissa_shift;
+    const int MAX_MANTISSA_NB_BITS = 23;
+  };
+
+  float fast_log::log(float val) const
+  {
+    int_float x;
+    x._float = val;
+    int exponent = ((x._int >> MAX_MANTISSA_NB_BITS) & 255) - 127;
+    x._int &= 0x7FFFFF;
+    x._int >>= mantissa_shift;
+    return (lookup_table[x._int] + float(exponent)) * 0.69314718f;
+  }
+}
+
+#endif
diff --git a/src/util/learning.hpp b/src/util/learning.hpp
new file mode 100644
index 0000000..da69bb8
--- /dev/null
+++ b/src/util/learning.hpp
@@ -0,0 +1,46 @@
+#ifndef __LEARNING_HPP__
+#define __LEARNING_HPP__
+
+#include <iostream>
+#include <fstream>
+#include <sstream>
+#include <string>
+#include <set>
+
+namespace util
+{
+  struct learning
+  {
+    template <typename Game>
+    static void display_file(Game& game, const std::string& filename);
+  };
+  template <typename Game>
+  void learning::display_file(Game& game, const std::string& filename)
+  {
+    using namespace std;
+    ifstream file(filename);
+    string line;
+    while (getline(file, line))
+      {
+	cout << line << endl;
+	double value;
+	set<int> input_vector;
+	int index, v;
+	char c;
+	stringstream ss(line);
+	ss >> value;
+	cout << "game value: " << value << endl;
+	while (ss >> index >> c >> v) 
+	  {
+	    input_vector.insert(index);
+	  }
+	game.from_input_vector(input_vector);
+	cout << "player to move: " << game.player_to_string(game.current_player()) << endl;
+	cout << game << endl;
+	getline(cin, line);
+      }
+    file.close();
+  }
+}
+
+#endif
diff --git a/src/util/omp_util.cpp b/src/util/omp_util.cpp
new file mode 100644
index 0000000..0f8493b
--- /dev/null
+++ b/src/util/omp_util.cpp
@@ -0,0 +1,23 @@
+#include "omp_util.hpp"
+
+namespace util
+{
+  int omp_util::get_num_threads()
+  {
+    int num_threads = 1;
+#if defined(_OPENMP)
+#pragma omp parallel
+    num_threads = omp_get_num_threads();
+#endif
+    return num_threads;
+  }
+
+  int omp_util::get_thread_num()
+  {
+    int thread_num = 0;
+#if defined(_OPENMP)
+    thread_num = omp_get_thread_num();
+#endif
+    return thread_num;
+  }
+}
diff --git a/src/util/omp_util.hpp b/src/util/omp_util.hpp
new file mode 100644
index 0000000..7f7d55f
--- /dev/null
+++ b/src/util/omp_util.hpp
@@ -0,0 +1,15 @@
+#ifndef __OMP_UTIL_HPP__
+#define __OMP_UTIL_HPP__
+
+#include <omp.h>
+
+namespace util
+{
+  struct omp_util
+  {
+    static int get_num_threads();
+    static int get_thread_num();
+  };
+}
+
+#endif
diff --git a/src/util/pow.hpp b/src/util/pow.hpp
new file mode 100644
index 0000000..a166551
--- /dev/null
+++ b/src/util/pow.hpp
@@ -0,0 +1,25 @@
+#ifndef __POW_HPP_
+#define __POW_HPP_
+
+namespace util
+{
+  long pow_l(long x, long n)
+  {
+    long res = 1;
+    while (n != 0)
+      {
+	if (n & 1) 
+	  {
+	    n--;
+	    res = res * x;
+	  }
+	else
+	  {
+	    n = n / 2;
+	    x = x * x;
+	  }
+      }
+    return res;
+  }
+}
+#endif
diff --git a/src/util/test_bits.cpp b/src/util/test_bits.cpp
new file mode 100644
index 0000000..25be741
--- /dev/null
+++ b/src/util/test_bits.cpp
@@ -0,0 +1,37 @@
+#include "test_bits.hpp"
+#include <string.h>
+#include <chrono>
+#include <iostream>
+#include <random>
+
+using namespace std;
+
+namespace util
+{
+  test_bits::test_bits(unsigned int nb_samples)
+  {
+    volatile int res = 0;
+    default_random_engine generator(11);
+    uniform_int_distribution<uint64_t> distribution(0, uint64_t(0xFFFFFFFFFFFFFFFF));
+
+    chrono::steady_clock::time_point start = chrono::steady_clock::now();
+    for (unsigned int i = 1; i <= nb_samples; ++i) 
+      {
+    	uint64_t v = distribution(generator);
+    	res += bits::bit_scan_forward(v);
+      }
+    cout << "res for debrujin: " << res << endl;
+    cout << "time for debrujin (ms): " << chrono::duration_cast<chrono::milliseconds>(chrono::steady_clock::now() - start).count() << endl;
+
+    generator = default_random_engine(11);
+    res = 0;
+    start = chrono::steady_clock::now();
+    for (unsigned int i = 1; i <= nb_samples; ++i) 
+      {
+    	uint64_t v = distribution(generator);
+    	res += ffsll(v) - 1;
+      }
+    cout << "res for ffsll: " << res << endl;
+    cout << "time for ffsll (ms): " << chrono::duration_cast<chrono::milliseconds>(chrono::steady_clock::now() - start).count() << endl;    
+  }
+}
diff --git a/src/util/test_bits.hpp b/src/util/test_bits.hpp
new file mode 100644
index 0000000..48daee4
--- /dev/null
+++ b/src/util/test_bits.hpp
@@ -0,0 +1,14 @@
+#ifndef __TEST_BITS_HPP__
+#define __TEST_BITS_HPP__
+
+#include "bits.hpp"
+
+namespace util
+{
+  struct test_bits
+  {
+    test_bits(unsigned int nb_samples);
+  };
+}
+
+#endif
diff --git a/src/util/test_fast_log.cpp b/src/util/test_fast_log.cpp
new file mode 100644
index 0000000..ba7a0c4
--- /dev/null
+++ b/src/util/test_fast_log.cpp
@@ -0,0 +1,50 @@
+#include "test_fast_log.hpp"
+#include <cmath>
+#include <chrono>
+#include <iostream>
+#include <random>
+
+using namespace std;
+
+namespace util
+{
+  test_fast_log::test_fast_log(unsigned int nb_samples, unsigned int mantissa_nb_bits) 
+    : nb_samples(nb_samples), flog(mantissa_nb_bits)
+  {
+    precision();
+    time();
+  }
+
+  void test_fast_log::precision()
+  {
+    default_random_engine generator;
+    uniform_real_distribution<float> distribution(0.01,1000000.0);
+    double res = 0;
+    for (unsigned int i = 0; i < nb_samples; ++i) 
+      {
+	float v = distribution(generator); 
+	res += abs(log(v) - flog.log(v)) / (double)v;
+      }
+    cout << "precision: " << res / nb_samples << endl;
+  }
+   
+  void test_fast_log::time()
+  {
+    volatile double res = 0;
+    chrono::steady_clock::time_point start = chrono::steady_clock::now();
+    for (unsigned int i = 1; i <= nb_samples; ++i) 
+      {
+	res += log(i);
+      }
+    cout << "time for log (ms): " << chrono::duration_cast<chrono::milliseconds>(chrono::steady_clock::now() - start).count() << endl;
+
+    res = 0;
+    start = chrono::steady_clock::now();
+    for (unsigned int i = 1; i <= nb_samples; ++i) 
+      {
+	res += flog.log(i);
+      }
+    cout << "time for fast log (ms): " << chrono::duration_cast<chrono::milliseconds>(chrono::steady_clock::now() - start).count() << endl;
+    
+  }
+}
diff --git a/src/util/test_fast_log.hpp b/src/util/test_fast_log.hpp
new file mode 100644
index 0000000..bbfd2c7
--- /dev/null
+++ b/src/util/test_fast_log.hpp
@@ -0,0 +1,19 @@
+#ifndef __TEST_FAST_LOG_HPP__
+#define __TEST_FAST_LOG_HPP__
+
+#include "fast_log.hpp"
+
+namespace util
+{
+  class test_fast_log
+  {
+    unsigned int nb_samples;
+    fast_log flog;
+
+    void precision();
+    void time();
+  public:
+    test_fast_log(unsigned int nb_samples = 100000000U, unsigned int mantissa_nb_bits = 11);
+  };
+}
+#endif
-- 
GitLab