Advertisement

Preloading a transposition table generated in previous games

Started by January 08, 2015 10:00 AM
1 comment, last by alvaro 9 years, 10 months ago
I'm working on an AI for a board game and I ended up using negaScout with TT. Now I'm starting to think on how I can improve it and, even if my understandings of how TT works are quite limited, I came up with this question: since my AI will play against other people's AIs, does it make sense to run a full game against a strong AI, store the TT and then load it before starting the new game? Will it cause more prunings and make everything faster for the next games?

You could run a very long search from the starting position, and save some fraction of the resulting tree. That

would speed up the first few moves in some circumstances; but consider that you can only save a very small part

of the precomputed tree, both as a practical matter, and because it would be mostly useless.

The problem is that a successful search tree is full of holes, corresponding to the nodes that were pruned out

by alpha-beta. As soon as your opponent steps off a path that you actually investigated, your saved tree is

irrelevant. So even if your search took 24 hours, reached 20 ply, and evaluated billions of terminal nodes,

saving the entire result is almost pointless.

For the same reason, keeping the search tree and using it to seed the search tree for the next move,

after the opponent responds, is mostly useless. You have to discard 99% of the saved tree, and save

only 1% of the time in the new search.

---visit my game site http://www.boardspace.net - free online strategy games

Advertisement
This is a known technique, at least since the 80s: https://chessprogramming.wikispaces.com/Persistent+Hash+Table

This topic is closed to new replies.

Advertisement