danzel / PatchworkSim

Simulation of the board game Patchwork for AI exploration
2 stars 0 forks source link

MCTS that cares about where pieces are placed #28

Closed danzel closed 6 years ago

danzel commented 6 years ago

Current one thinks it can buy pieces that it cannot place (especially later on). If MCTS cared about placing pieces then it would be stronger.

danzel commented 6 years ago

Should also do an alternative one where we late evaluate where pieces are placed. Don't place them as we go, but instead when enumerating possible future moves (Expand) ensure that we could place the next piece if we had placed all the previous ones.

danzel commented 6 years ago

Added one, current results (It is B/1):

Run 0
Starter 0, winner 0
Starter 1, winner 1
Draw
Run 1
Starter 0, winner 0
Starter 1, winner 1
Draw
Run 2
Starter 0, winner 0
Starter 1, winner 0
^^^ Not Equal ^^^ A Winner: True
Run 3
Starter 0, winner 0
Starter 1, winner 0
^^^ Not Equal ^^^ A Winner: True
Run 4
Starter 0, winner 0
Starter 1, winner 0
^^^ Not Equal ^^^ A Winner: True
Total Time 11520 / 73446

Probably need to give it (at least) twice as many iterations as it takes up an iteration to place pieces.

danzel commented 6 years ago

Ran MOMCTS+1_6 (10000) vs MCTS(20000) https://gist.github.com/danzel/701c4189575fa136e58711e690ba3385 Wins go: 14 v 8

danzel commented 6 years ago

When both are given 100k iterations, MCTS wins (7 wins vs 19), but it takes 7x longer. When running for equivalent time MO is much stronger (within any time range I've tested).

Maybe at really high iterations MCTS will be stronger?

danzel commented 6 years ago

Results running 700k vs 100k:

0 Z ^^^ Not Equal   ^^^ A Winner: False
1 Z Draw
10 Z ^^^ Not Equal ^^^ A Winner: False
11 Z ^^^ Not Equal ^^^ A Winner: True
2 Z ^^^ Not Equal ^^^ A Winner: False
3 Z ^^^ Not Equal ^^^ A Winner: True
4 Z ^^^ Not Equal ^^^ A Winner: False
5 Z ^^^ Not Equal ^^^ A Winner: True
6 Z ^^^ Not Equal ^^^ A Winner: True
7 Z ^^^ Not Equal ^^^ A Winner: True
8 Z Draw
9 Z ^^^ Not Equal ^^^ A Winner: True
Total Time 2802051 / 2598379

MOMCTS is doing slightly better, (1 more win), but it also had more time.