xxrobboxx / opentestbed

Automatically exported from code.google.com/p/opentestbed
0 stars 0 forks source link

Bankroll amounts are over inflated. #27

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Run a standard cash game with 2 players.
2. Examine the FTP hand history file.
3. Examine the bankroll values given by the resulting chart.

What is the expected output? What do you see instead?

For the following hand I would have expected the amount MCTSbot collected to be 
$2 (i.e. 1 big blind), however this is recorded as a profit of $4 and this 
leads to over-inflating the profit/loss values displayed in the final chart:

Full Tilt Poker Game #372278725214309: Table OpenTestBed - $1.00/$2.00 - No 
Limit Hold'em - 07:04:59 NZDT - 2010/10/11
Seat 1: Agt 1 (SartreNL/SartreNL) ($400.00)
Seat 2: Agt 2 (MCTSBot/MCTSBot) ($400.00)
Agt 2 (MCTSBot/MCTSBot) posts the small blind of $1.00
Agt 1 (SartreNL/SartreNL) posts the big blind of $2.00
The button is in seat #1
*** HOLE CARDS ***
Dealt to Agt 1 (SartreNL/SartreNL) [Th Qh]
Dealt to Agt 2 (MCTSBot/MCTSBot) [Ks 9s]
Agt 2 (MCTSBot/MCTSBot) raises to $48.35
Agt 1 (SartreNL/SartreNL) folds
Uncalled bet of $46.35 returned to Agt 2 (MCTSBot/MCTSBot)
Agt 2 (MCTSBot/MCTSBot) wins the pot ($4.00)
*** SUMMARY ***
Seat 2: Agt 2 (MCTSBot/MCTSBot) collected ($4.00)
What version of the product are you using? On what operating system?

Windows Vista

Please provide any additional information below.

Original issue reported on code.google.com by jrubi...@gmail.com on 11 Oct 2010 at 7:22

GoogleCodeExporter commented 8 years ago
hi jrubin01, thanks for the report.

there is testcase testing your described behavior (see 
DealerTest.testWinAmount).
The JavaDoc claims that this is very intentional (at least for three players).

A raise from the small blind is the actual 1$ call (which  goes into the pot) 
and the actual raise which wins the pot (which is 4$ then).
Do you have any logs from FullTilt or PokerStars that write that differently ?

Please also note that I unfortunately am not coding anymore on opentestbed (a 
small family changed my life). Though it's very interesting that you have a 
version of Sartre playing here :D

I also never was able to make MCTSBot behave like I wanted (and find a 
configuration that would win against the SimpleBot). Guy (one of the authors of 
MCTSBot) will need a new student who might continue on MCTSBot here in 
OpenTestBet so currently the project is a bit dormant.

Original comment by bluegasp...@gmail.com on 11 Oct 2010 at 9:39

GoogleCodeExporter commented 8 years ago
That's a shame, you've got a great testbed here.

Just as a follow up to the issue:

What about the values depicted in chart.png that is produced? Take the 
following 3 duplicate hands (6 hands total) as an example (see attachment). 

The bankroll I am given in the chart looks like this:

Agt (SartreNL/SartreNL): $-407.00 ($-6783.33/100)

Given by adding the following values:

Duplicate hand 1: (-12 + 4) /2
Duplicate hand 2: (-12 - 800)/2
Duplicate hand 3: (2   + 4)/2

* where 2 is the value of the big blind.

So according to the final chart Sartre ended up with a loss of -407 big blinds, 
however Sartre only contributed a total of 204 big blinds overall, the 
remaining 203 big blinds are actually from MCTSBot's stack.

Shouldn't the bankroll values depicted in the chart only include chips that 
were either won or lost by the agent?

Original comment by jrubi...@gmail.com on 12 Oct 2010 at 12:41

Attachments:

GoogleCodeExporter commented 8 years ago
Actually, the values on the chart represent the actual money lost by the agent. 
After the simulation, Sartre's loss was exactly $407.00. This behavior is 
expected based on the history as your agent lost 203.5BB .

As far as I can see, there's absolutely nothing wrong with the payout 
functions. The payout method on PublicGameInfo is flawless and the 
bankrollDelta is calculated comparing the bankroll before and after the hand. 
The values showed on the history are the chips collected from the pot and not 
the net gain.

Original comment by FelipeKu...@gmail.com on 12 Oct 2010 at 8:42

GoogleCodeExporter commented 8 years ago
Ah ok sorry. For some reason I was thinking the values on the chart depicted 
the number of BB's won/lost.

Original comment by jrubi...@gmail.com on 12 Oct 2010 at 9:30

GoogleCodeExporter commented 8 years ago
Hi jrubin01, 

yeah the chart only shows absolute value won/lost and relative to 100 games.
For some reason I didn't include bb/100 (I think because depending on the game 
limit/no limit, people use Big Bets or Big Blinds for their stats and I wanted 
to have a neutral value). Just divide the value by your big blind setting.

I also just double checked with a hand history of Poker Academy:
------------------------------------------
Poker Academy Pro #1,848
No Limit Texas Holdem ($0.05/$0.1 NL)
Table Test
October 14, 2010 - 20:35:40 (CEST)

 1} bluegaspode *    $30  5d 7d
 2) Unknown-0        $30  Kd 5h

bluegaspode posts small blind $0.05
Unknown-0 posts big blind $0.10
bluegaspode raises $29.90 (all-in)
Unknown-0 folds

bluegaspode wins $0.20 uncontested
-------------------------------

As you can see in this match I 'win' the pot of $0.20.
This is the small blind and big blind + a call from the small blind (a raise is 
always considered a call and the actual raise amount). As the raise wasn't 
answered it was just returned, but the (implicit) call stays in the pot.

So my hand histories as printed are right.

The $0.20 of course should't be confused with the 'real' win.
Our bankroll at the time of winning is reduced already by -0.10$ (small blind + 
call), now we win $0.20 so the effective change in the bankroll is just +0.10 
(the villains big blind).

The charts always show your real bankroll - so after such a game you would have 
a plus of $0.10 in the chart.

Original comment by bluegasp...@gmail.com on 14 Oct 2010 at 6:57