Issue 12 in opentestbed: Migrate MCTSBot from CSPoker to work with Meerkat and the testbed

21 views
Skip to first unread message

opent...@googlecode.com

unread,
Mar 25, 2010, 6:39:54 AM3/25/10
to opent...@googlegroups.com
Status: New
Owner: ----
Labels: Type-Enhancement Priority-Medium

New issue 12 by bluegaspode: Migrate MCTSBot from CSPoker to work with
Meerkat and the testbed
http://code.google.com/p/opentestbed/issues/detail?id=12

The MCTSBot included in CSPoker is a very advanced Monte-Carlo-Tree-Search
Bot for multiplayer No-Limit games. As its GPL we can migrate it and would
have a good reference bot for all new AIs.

--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings

opent...@googlecode.com

unread,
Apr 19, 2010, 5:13:30 PM4/19/10
to opent...@googlegroups.com
Updates:
Status: Started
Owner: bluegaspode

Comment #1 on issue 12 by bluegaspode: Migrate MCTSBot from CSPoker to work
Hi bluegaspode,

Looks very nice.
I'm okay with option b). If you can port my code to the meerkat API, I'd
even be
willing to switch to that version for my future updates.
Participating in the poker competition is something I've been considering
for a
while, yes. Your changes would make that easy to do.

Cheers,

Guy

--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings


--
Subscription settings: http://groups.google.com/group/opentestbed/subscribe?hl=en

opent...@googlecode.com

unread,
Apr 19, 2010, 6:45:18 PM4/19/10
to opent...@googlegroups.com

Comment #2 on issue 12 by schatzberg.dan: Migrate MCTSBot from CSPoker to
This is a very interesting bot and I have a few ideas to enhance it as
well. I'll be
sure to help on this most likely once May starts and my work deadline has
passed.

opent...@googlecode.com

unread,
Apr 21, 2010, 4:35:32 PM4/21/10
to opent...@googlegroups.com

Comment #3 on issue 12 by bluegaspode: Migrate MCTSBot from CSPoker to work
First success: copied most important classes + packages (39) and created the
game-representation for the Bot.
Asked for AA preflop action the MCTSBot votes 'AllIn', asked for 72o
preflop action
the MCTSBot votes 'Fold'.
We are on our way :D

Too much code/packages still to commit.

opent...@googlecode.com

unread,
Apr 24, 2010, 6:13:27 AM4/24/10
to opent...@googlegroups.com

Comment #4 on issue 12 by bluegaspode: Migrate MCTSBot from CSPoker to work
I pushed a first version of the migration work.

This is what I did so far:
- used all packages from
- included all needed libraries and other referenced classes from cspoker
- tried to remove as much classes outside as possible
- replaced some obvious classes like 'Card' with the meerkat equivalents.
- moved the package structure
- wrote a small Meerkat-Wrapper-Class (MCTSMeerkatBot) which builds the
'GameState'-structure needed by the actual MCTSBot and asks this bot for
action.

Could be that some important classes are missing now (which were
uncommented in the
current CSPoker). One temporary victim was the SWTTreeListener which I
revived again.
(One can active the Tree-GUI in the MCTSBot.pd - Meerkat-File)


I changed the CashGameConsoleStarter to play a small game between two
SimpleBots and
two MCTSBots. MCTSBot is very aggresive preflop but according to Guy this
is to be
expected.

Tasks to come:
# CSPoker has some 'ai-experiments' classes which setup the bot in
different ways.
Need to check that all these variations are still working.
# Provide options to the MCTSBot.pd-file to configure the Bot (like was
done directly
in the Code before). Create some more common preconfigured MCTSBot.pd-Files.
# Still far too many classes.
- I think we can get rid of all Event-Classes (merge them with the State
classes).
- The spears2+2 HandEval could be replaced either by the KlaatuFastEval
or Jokipii
adaptions which doesn't use as much memory (see HandEvaluator-Thread on
pokerAI)
- The 'PlayerContext'-class is not needed anymore, but the current way
for the bot
to publish his actions.
- Some Factories are not needed anymore (i.e. BotFactory).
# Change the MCTS-Tree-GUI to Swing (currently the final window with the
graph is
Swing too)
# I'm not building the GameState to showdown (just as far as the bot needs
it). Could
be that some opponentmodels need that, but didn't check yet

opent...@googlecode.com

unread,
Apr 24, 2010, 6:17:34 AM4/24/10
to opent...@googlegroups.com

Comment #5 on issue 12 by bluegaspode: Migrate MCTSBot from CSPoker to work
with Meerkat and the testbed
http://code.google.com/p/opentestbed/issues/detail?id=12

I pushed a first version of the migration work.

This is what I did so far:
- used all packages from org.cspoker.ai.bots.bot.gametree
- included all needed libraries and other referenced classes from cspoker
- tried to remove as much classes outside as possible
- replaced some obvious classes like 'Card' with the meerkat equivalents.
- moved the package structure to bots.mctsbot

opent...@googlecode.com

unread,
Aug 3, 2010, 12:31:33 PM8/3/10
to opent...@googlegroups.com

Comment #6 on issue 12 by guy...@gmail.com: Migrate MCTSBot from CSPoker to

I'm confused about this quote:

opent...@googlecode.com

unread,
Aug 3, 2010, 1:30:34 PM8/3/10
to opent...@googlegroups.com

Comment #7 on issue 12 by bluegaspode: Migrate MCTSBot from CSPoker to work
Hi guy,

there were times, when my Adapter used a 'fresh' GameState-Object for each
round. As MCTS-Bot ís only called when its got to do some action on the
first action of a new hand the look back in the 'past' to see what has
happened after it has folded in the previous hand. With a new GameState on
each round it couldn't 'see' what happended previous round of course.

Anyway - this is not an issue anymore with this commit:
http://code.google.com/p/opentestbed/source/detail?r=72bb42a835ec5271f6e4b25b4bb0666f6cc073d5&path=/src/bots/mctsbot/ai/bots/bot/gametree/mcts/MCTSMeerkatBot.java

Reply all
Reply to author
Forward
0 new messages