spears wrote:
Quote:
3700 * 1326 * 1326 = 6.5 billion
This sounds like each decision node is visited by just two hands. Is that what you are doing?
I have used two alternative schemes:
- visit with one training hand and a vector of opponent hands
- visit with a vector of training hands and a vector of opponent hands. If you order the river hands you can do 1326 comparisons at showdown instead of 1326 * 1326 comparisons. Unfortunately I think this also means you lose card removal effects.
I suggest you try CFR+ or sampling.
http://poker.cs.ualberta.ca/publication ... cm2017.pdfhttps://poker.cs.ualberta.ca/publicatio ... 12-pcs.pdfWhat language are you using?
I’m using Java. C++ is probably faster, but I’m more familiar with developing a GUI in java (I’m hoping to make a commercial solver).
Either I’m not touching enough nodes per second or my game tree is too big or my approach is wrong.
Instead of dealing two hands and walking the tree for every possible combination of two hands, is it faster to pass in a 52x52 2D array (1x1326 may be better) for both ranges? I’m not sure if that would speed things up because it sounds like you end up multiplying this by a 52x52 strategy 2D array for every action and you end up just doing more work at each node, but perhaps I’m wrong.
I have heard of vector form CFR being faster than scalar form CFR. Not sure if vector form CFR refers to vectors for private information.