I think they use 2 trees, but maybe I dont understand it correctly:
http://poker.cs.ualberta.ca/publications/NIPS07-cfr.pdf"We need to iterate over all of the information sets reachable given the joint bucket sequence, and compute probabilities
and regrets. In order to do this swiftly, we represent the data in each information set in a “player view
tree”: in other words, we never explicitly represent every state in the abstracted game: instead, we represent the
information sets for each player in its own tree, with each node n being one of four types:"
"Our algorithm recurses over both trees in a paired fashion"
Also the parameters for the main method:
Algorithm 1 WALKTREES(r1, r2, b, p1, p2)
Require: A node r1 for an information set tree for player 1.
Require: A node r2 for an information set tree for player 2.
Seems like they have 2 trees and traverse both simultaneously.
I have difficulties representing the tree with its information sets. My algorithm works, if I only use a single player node and assign 3 actions with succeding terminal nodes with different values. The strategy converges to a pure strategy of playing the action with the highest payoff.
But I cannot represent following situation: Player 1 has a range of Value and Bluffs and Player 2 has a bluffcatcher. Now Player1 bets parts of his range, but in my tree Player2 optimizes against the bluffs and valuebetes separatelly, I dont know how to represent an information set correctly.