New issue 29 by mihanovik: big blind and bet should increment numRaises
http://code.google.com/p/opentestbed/issues/detail?id=29
Poker academy:
HAND #171
bot1 blinds $0.50
bot2 blinds $1
now, for bot1 gameInfo.getNumRaises() returns 1 in poker academy pro, and
returns 0 in opentestbed.
I am not sure that big blind is actually raise, but academy knows better
what getNumRaises() should do.
PublicGameInfo.java
public void update(Action act, int s) {
...
} else if (act.isBigBlind()) {
potManager.addToPot(s, act.getAmount());
getPlayer(s).update(act);
this.toAct = nextActivePlayerNotAllIn(getCurrentPlayerSeat());
this.lastAggressor = s;
+ numRaises++;// Poker academy thinks that, big blind is a raise too
}
...
Poker academy pro also increment numRaises after bet actions too.
PublicGameInfo.java
public void update(Action act, int s) {
...
} else if (act.isBet()) {
potManager.addToPot(s, act.getAmount());
getPlayer(s).update(act);
- // Bet from BigBlind PreFlop is considered a raise
+ //bet is considered a raise
- if (stage == Holdem.PREFLOP && numRaises == 0 && s == bigBlindSeat) {
numRaises++;
- }
if (act.getAmount() > minRaise) {
minRaise = act.getAmount();
}
this.toAct = nextActivePlayerNotAllIn(getCurrentPlayerSeat());
this.lastToAct = previousActivePlayer(s);
this.lastAggressor = s;
}
Those fixes should help FellOmen_2 to work correctly.
Comment #1 on issue 29 by bluegaspode: big blind and bet should increment
numRaises
http://code.google.com/p/opentestbed/issues/detail?id=29
Hi guy,
I'd like to implement this change, but this might influence the recorded
Weka-Model of MCTSBot.
Do you know how CSPoker implemented NumRaises ?
Easiest thing might be to just recreate the WekaModel after I committed the
patch, but I don't know how to do it (nor do I have the original
HandHistories you used) ?
I do not know how CSPoker works, but i i've planned to learn it. So you can
wait, until that happens, and then implement NumRaises without breaking
MCTSBot.
Comment #3 on issue 29 by bluegaspode: big blind and bet should increment
numRaises
http://code.google.com/p/opentestbed/issues/detail?id=29
This issue was closed by revision abc30a54f8.
I just realized, that MCTSBot isn't calling #getNumRaises at all as it
keeps its own statistics.
Change is thus safe (makes MCTSBot play a little bit less aggressive).
I checked against PA too and made same changes to your proposal:
- getNumRaise=1 already after small blind
- getNumRaises gets reset after each round, I implemented that too.
- some more adjustments to keep JUnit-Tests green (the logic to detect the
possible bigblind-action preflop, looks at numRaises).