Image Image Image




Post new topic Reply to topic  [ 91 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next
Author Message
 Post subject: Re: Open Meerkat Bot Simulation Testbed
PostPosted: Thu Jun 10, 2010 9:01 pm 
Offline
Junior member
User avatar

Posts: 14
Favourite Bot: Deep Thought
Hi,

First of all, thank for this excellent tool ! I am still poking around the source to understand how it all works, but my Java knowledge has taken a leap forwards - so thank you ! :)

I have been having a bit of a problem over the last few days with the Hand Histories. I bought Hold 'em Manager a few days ago (my trial period elapsed about 6 months ago...) However, when I load up a data set, I am having some problems, with 4000 import errors and 0 hands loaded.

At first I thought it was me incorrectly using Hold 'em Manager, or that Hold 'em Manager was not compatible with the histories, but although the full-tilt test histories contain duplicates, there are no Import Errors.

Next I thought it was due to having so many hands in one file, but subsequent checks have shows I can concatenate the three full-tilt histories together, and by renumbering the games I can load all three from a single file.

My current thinking is that Hold 'em Manager does not like the # or / within the player names. I'm about to try to pull apart your code to use a different naming format (e.g. "Agt1_SimpleBot") since I think this will work better, but I wondered if anyone else was having the same problem ?


Top
 Profile E-mail  
 
 Post subject: Re: Open Meerkat Bot Simulation Testbed
PostPosted: Thu Jun 10, 2010 9:17 pm 
Offline
Regular member
User avatar

Posts: 61
Favourite Bot: FlockBot!
What do you mean by full tilt test history?

The hands imported fine for me, but they do appear as full tilt hands. The names didn't have slashes or #'s either;

Full Tilt Poker Game #14116420558253: Table OpenTestBed - $0.01/$0.02 - Limit Hold'em - 09:52:07 BST - 2010/05/27
Seat 1: demobotnumber2 ($2.00)
Seat 2: demobotnumber1 ($2.00)
demobotnumber1 posts the small blind of $0.01
demobotnumber2 posts the big blind of $0.02
The button is in seat #1
*** HOLE CARDS ***
Dealt to demobotnumber2 [3c 3h]
Dealt to demobotnumber1 [9c 2s]
demobotnumber1 folds
Uncalled bet of $0.01 returned to demobotnumber2
demobotnumber2 wins the pot ($0.02)
*** SUMMARY ***
Seat 1: demobotnumber2 collected ($0.02)

What did yours look like?


Top
 Profile E-mail  
 
 Post subject: Re: Open Meerkat Bot Simulation Testbed
PostPosted: Thu Jun 10, 2010 9:43 pm 
Offline
Junior member
User avatar

Posts: 14
Favourite Bot: Deep Thought
Quote:
What do you mean by full tilt test history?

I mean src/junit/game/full-tilt-hh1.txt and also versions 2 & 3 which are associated with the HandHistoryWriterTest.java test cases.

When I run a fill simulation (with another SimpleBot instead of mctsbot) I am getting:
Code:
Full Tilt Poker Game #7515985263969: Table OpenTestBed - $0.01/$0.02 - Limit Hold'em - 07:47:06 BST - 2010/06/10
Seat 1: Agt#1 (DemoBot/SimpleBot) ($2.00)
Seat 2: Agt#2 (DemoBot/AlwaysCallBot) ($2.00)
Seat 3: Agt#3 (DemoBot/SimpleBot) ($2.00)
Seat 4: Agt#4 (DemoBot/SimpleBot) ($2.00)
Agt#2 (DemoBot/AlwaysCallBot) posts the small blind of $0.01
Agt#3 (DemoBot/SimpleBot) posts the big blind of $0.02
The button is in seat #1
*** HOLE CARDS ***
Dealt to Agt#1 (DemoBot/SimpleBot) [Js 9d]
Dealt to Agt#2 (DemoBot/AlwaysCallBot) [As Kd]
Dealt to Agt#3 (DemoBot/SimpleBot) [5c 8s]
Dealt to Agt#4 (DemoBot/SimpleBot) [Ks Tc]
Agt#4 (DemoBot/SimpleBot) calls $0.02
Agt#1 (DemoBot/SimpleBot) folds
Agt#2 (DemoBot/AlwaysCallBot) calls $0.01
Agt#3 (DemoBot/SimpleBot) checks
*** FLOP *** [9c Kh 5s]
Agt#2 (DemoBot/AlwaysCallBot) checks
Agt#3 (DemoBot/SimpleBot) bets $0.02
Agt#4 (DemoBot/SimpleBot) calls $0.02
Agt#2 (DemoBot/AlwaysCallBot) calls $0.02
*** TURN *** [9c Kh 5s] [Ts]
Agt#2 (DemoBot/AlwaysCallBot) checks
Agt#3 (DemoBot/SimpleBot) checks
Agt#4 (DemoBot/SimpleBot) checks
*** RIVER *** [9c Kh 5s Ts] [Jd]
Agt#2 (DemoBot/AlwaysCallBot) checks
Agt#3 (DemoBot/SimpleBot) checks
Agt#4 (DemoBot/SimpleBot) bets $0.04
Agt#2 (DemoBot/AlwaysCallBot) calls $0.04
Agt#3 (DemoBot/SimpleBot) folds
Agt#4 (DemoBot/SimpleBot) shows [Ks Tc]
Agt#2 (DemoBot/AlwaysCallBot) mucks
Agt#4 (DemoBot/SimpleBot) wins the pot ($0.20)
*** SUMMARY ***
Seat 4: Agt#4 (DemoBot/SimpleBot) showed [Ks Tc] and won ($0.20)


I had messed around with the original downloaded code to understand it better, but cloned a fresh copy yesterday to ensure that I was correctly using the hand history when trying to import to Holdem Manager. These reports are from the fresh download.


Top
 Profile E-mail  
 
 Post subject: Re: Open Meerkat Bot Simulation Testbed
PostPosted: Thu Jun 10, 2010 10:13 pm 
Offline
Junior member
User avatar

Posts: 14
Favourite Bot: Deep Thought
Quote:
I have been having a bit of a problem over the last few days with the Hand Histories.


Solved!
Thank you for the post ██████, it showed I was on the right track.

If anyone else is having a similar problem, the solution is very simple...
Simply uncomment the following line:
Code:
//cashGameDescription.setInGameNames(new String[] { "Simply #1", "Simply #2", "Cally #3", "Cally #4" });

And change the names to "Tom", "Dick", "Or", "Harry". The hand histories will then upload without a problem !


Top
 Profile E-mail  
 
 Post subject: Re: Open Meerkat Bot Simulation Testbed
PostPosted: Thu Jun 10, 2010 11:07 pm 
Offline
Senior member
User avatar

Posts: 172
Favourite Bot: don't know
Since I wrote the life-graph I never imported the simulations back again into HoldemManager (which I use myself as well).
Thanks for pointing this out, I'll be changing the default-naming after the weekend!

In the meantime (as pointed out) you can manually name all bots to the names you (and HoldemManager) like.


Top
 Profile E-mail  
 
 Post subject: Re: Open Meerkat Bot Simulation Testbed
PostPosted: Sun Jun 13, 2010 10:24 am 
Offline
Regular member
User avatar

Posts: 57
Favourite Bot: favourite_bot
I had a look through the code. Why don't you subclass AlwaysCallBot from an abstract Bot for handling the administrative issues? That should reduce the number of methods for the bot to 2-3.


Top
 Profile E-mail  
 
 Post subject: Re: Open Meerkat Bot Simulation Testbed
PostPosted: Sun Jun 13, 2010 3:47 pm 
Offline
Level1 member
User avatar

Posts: 47
Favourite Bot: Poki/Polaris
Edit:
Nevermind^^, I was playing No Limit^^
Edit again:
I have set cashGameDescription.setNolimit(false), but still DemoBot is allowed to make a fifth raise. Is this a bug or intended?


Top
 Profile E-mail  
 
 Post subject: Re: Open Meerkat Bot Simulation Testbed
PostPosted: Sun Jun 13, 2010 8:04 pm 
Offline
Senior member
User avatar

Posts: 172
Favourite Bot: don't know
pokerjokus wrote:
Edit:
Nevermind^^, I was playing No Limit^^
Edit again:
I have set cashGameDescription.setNolimit(false), but still DemoBot is allowed to make a fifth raise. Is this a bug or intended?


To be honest I'm playing No-Limit all the time and there you are allowed to do endless raises.
But you are right. For Limit this is not allowed and the Game-Engine currently doesn't prevent endless raises.

Feel free to provide a patch !


Top
 Profile E-mail  
 
 Post subject: Re: Open Meerkat Bot Simulation Testbed
PostPosted: Tue Jun 15, 2010 10:24 am 
Offline
Regular member
User avatar

Posts: 57
Favourite Bot: favourite_bot
How good is Pokeracademy as a simulation engine? I guess I'm asking: why not write an open-source simulation engine instead of a wrapper for a closed system?


Top
 Profile E-mail  
 
 Post subject: Re: Open Meerkat Bot Simulation Testbed
PostPosted: Tue Jun 15, 2010 1:30 pm 
Offline
Senior member
User avatar

Posts: 172
Favourite Bot: don't know
pkr_reborn wrote:
I guess I'm asking: why not write an open-source simulation engine instead of a wrapper for a closed system?

The API is quite nice - so why reinvent the wheel again ? Every custom-solution would look very similar.

So using the Meerkat-API has the advantages:
- is as good as any other API
- if you want to you can plug your computer into Poker Academy and have fun with it (i.e. play against him with nice GUI and no further coding effort)
- you can let your bot play against the other bots of Poker Academy - so have some real challenges for the beginning
- there are Meerkat Wrappers for the Poker Competition of the University of Alberta. So effort to put your bot into one of those contests is very low.
- its the only public Java API, so chances are high(er) that you find collaborators which use Meerkat API themselfes.


Top
 Profile E-mail  
 
 Post subject: Re: Open Meerkat Bot Simulation Testbed
PostPosted: Tue Jun 15, 2010 3:02 pm 
Offline
PokerAI fellow
User avatar

Posts: 2342
Favourite Bot: My next one
pkr_reborn wrote:
why not write an open-source simulation engine

That's what they did, they just use the Meerkat API to stay compatible to Poker Academy.


Top
 Profile E-mail  
 
 Post subject: Re: Open Meerkat Bot Simulation Testbed
PostPosted: Tue Jun 15, 2010 3:17 pm 
Offline
Regular member
User avatar

Posts: 57
Favourite Bot: favourite_bot
Edit: Sorry for the confusion. Is the Meerkat-API included in the distribution?


Top
 Profile E-mail  
 
 Post subject: Re: Open Meerkat Bot Simulation Testbed
PostPosted: Tue Jun 15, 2010 3:36 pm 
Offline
Senior member
User avatar

Posts: 172
Favourite Bot: don't know
pkr_reborn wrote:
Is the Meerkat-API included in the distribution?

Yes - the project is an Eclipse project ready to run out of the box.


Top
 Profile E-mail  
 
 Post subject: Re: Open Meerkat Bot Simulation Testbed
PostPosted: Tue Jun 15, 2010 3:43 pm 
Offline
Regular member
User avatar

Posts: 57
Favourite Bot: favourite_bot
Ok, thanks, now I get it. Thanks for sharing anyway. This saves me some work.

Just a thought on TableSeater.java. If you use the structure linked list the method createSeatPermutations is not necessary.

dealer.java line 38: here I would use a type such as Seat.IsEmpty() or something. Then
if (player != null && player.isActive()) {

reduces to players.isActive()


Top
 Profile E-mail  
 
 Post subject: Re: Open Meerkat Bot Simulation Testbed
PostPosted: Tue Jun 15, 2010 5:59 pm 
Offline
Senior member
User avatar

Posts: 172
Favourite Bot: don't know
pkr_reborn wrote:
Ok, thanks, now I get it. Thanks for sharing anyway. This saves me some work.

Just a thought on TableSeater.java. If you use the structure linked list the method createSeatPermutations is not necessary.

dealer.java line 38: here I would use a type such as Seat.IsEmpty() or something. Then
if (player != null && player.isActive()) {

reduces to players.isActive()

But this wouldn't match the Meerkat API anymore (which doesn't give me a list of seated players only)


Top
 Profile E-mail  
 
 Post subject: Re: Open Meerkat Bot Simulation Testbed
PostPosted: Wed Jun 16, 2010 8:52 am 
Offline
Regular member
User avatar

Posts: 57
Favourite Bot: favourite_bot
Ok, I see.

Stupid question: how do I check out the project via Windows or better Eclipse? I am always having problems with the SVN view in ecilpse. What is the address and username/password? TIA


Top
 Profile E-mail  
 
 Post subject: Re: Open Meerkat Bot Simulation Testbed
PostPosted: Wed Jun 16, 2010 10:34 am 
Offline
Regular member
User avatar

Posts: 61
Favourite Bot: FlockBot!
source page on the wiki; http://code.google.com/p/opentestbed/source/checkout

follow the link for mercurial clients

download TortoiseHg

of if you want to do it from eclipse; http://lmgtfy.com/?q=eclipse+mercurial


Top
 Profile E-mail  
 
 Post subject: Re: Open Meerkat Bot Simulation Testbed
PostPosted: Wed Jun 16, 2010 12:20 pm 
Offline
Senior member
User avatar

Posts: 172
Favourite Bot: don't know
Yeah, sorry guys that I didn't use SVN *g*. But I needed to check for work if distributed version control like Mercurial (and the provided tooling) is the way to go on the long run. So why not start with a hobby project to find out ...


Top
 Profile E-mail  
 
 Post subject: Re: Open Meerkat Bot Simulation Testbed
PostPosted: Wed Jun 16, 2010 10:27 pm 
Offline
Level1 member
User avatar

Posts: 47
Favourite Bot: Poki/Polaris
bluegaspode wrote:
pokerjokus wrote:
Edit:
Nevermind^^, I was playing No Limit^^
Edit again:
I have set cashGameDescription.setNolimit(false), but still DemoBot is allowed to make a fifth raise. Is this a bug or intended?


To be honest I'm playing No-Limit all the time and there you are allowed to do endless raises.
But you are right. For Limit this is not allowed and the Game-Engine currently doesn't prevent endless raises.

Feel free to provide a patch !


I'll possibly give it a try within the next month, so far I am focussing more on my CFR Abstraction.


Top
 Profile E-mail  
 
 Post subject: Re: Open Meerkat Bot Simulation Testbed
PostPosted: Wed Jun 16, 2010 10:46 pm 
Offline
Regular member
User avatar

Posts: 57
Favourite Bot: favourite_bot
A question about the methods of the AlwaysCallBot. Why are methods, such as getSettingsPanel not in the AbstractBot class?

1 AlwaysCallBot()
2 holeCards(Card, Card, int)
3 getAction()
4 getSettingsPanel()
5 getPreferences()
6 init(Preferences)
7 stageEvent(int)
8 showdownEvent(int, Card, Card)
9 gameStartEvent(GameInfo)
10 dealHoleCardsEvent()
11 actionEvent(int, Action)
12 gameStateChanged()
13 gameOverEvent()
14 winEvent(int, double, String)


Top
 Profile E-mail  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 91 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next


Who is online

Users browsing this forum: No registered users and 14 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: