Image Image Image




Post new topic Reply to topic  [ 25 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: Call for participation in CSPoker
PostPosted: Thu Dec 11, 2008 8:57 pm 
Offline
Regular member
User avatar

Posts: 64
Favourite Bot: MCTSBot
I've introduced CSPoker before. We' re an open source poker software project.

There's some stuff we are working on that is interesting for this community:

  • A high performance poker server with easy to use clients.
  • A botting framework that enables competitions between bots or between humans and bots.
  • An adapter for the Meerkat API. CSPoker bots would be able to play on PA and vice versa.
  • A web framework that allows us to hold botting competitions online and provide statistics.
  • A game tree search bot based on Vexbot but for NL Holdem and with a relational opponent model learner.

I hope some people here are interested in participating. Our two communities have plenty of common goals.


Top
 Profile E-mail  
 
 Post subject: Re: Call for participation in CSPoker
PostPosted: Thu Dec 11, 2008 8:57 pm 
Offline
Senior member
User avatar

Posts: 422
Favourite Bot: roai
I'm kind of new here and haven't done all of the homework but bare with me.. a quick question related to:

guyvdb wrote:
An adapter for the Meerkat API. CSPoker bots would be able to play on PA and vice versa.


I couldn't figure out from your project documentation whether xml-rpc you use is anything similar (same) that is used in PA Online. Reversing Meerkat "online" API that PA uses is one of the current items on my todo list. Idea would be to use PA as it is to connect to custom server stub that actually plays in real sites. Couldn't find whether that is already somewhere documented. My bad if it is.

Btw nice project you got there. Keep up the good work!


Top
 Profile  
 
 Post subject: Re: Call for participation in CSPoker
PostPosted: Thu Dec 11, 2008 8:58 pm 
Offline
Regular member
User avatar

Posts: 64
Favourite Bot: MCTSBot
roai wrote:
I couldn't figure out from your project documentation whether xml-rpc you use is anything similar (same) that is used in PA Online. Reversing Meerkat "online" API that PA uses is one of the current items on my todo list. Idea would be to use PA as it is to connect to custom server stub that actually plays in real sites. Couldn't find whether that is already somewhere documented. My bad if it is.


I don' t want to disappoint you but we haven' t started any work on the compatability layer. The XML-RPC protocol we have is not related to the PA one. What I had in mind was adapting to meerkat in Java, not in the protocol. But then I really don' t know much about PA. We just need it to participate in the AAAI competition and to be able to benchmark against existing bots.

Anyone coming in will have the freedom to design it the way he/she wants.


Top
 Profile E-mail  
 
 Post subject: Re: Call for participation in CSPoker
PostPosted: Thu Dec 11, 2008 9:27 pm 
Offline
PokerAI fellow
User avatar

Posts: 7731
Favourite Bot: V12
@guyvdb - grean plans, and I suppose great work for what you already did. I will support you with spamming about your project.

Developing full blown bot that is able to complete in AAAI in an open source manner is, however, not good in my opinion. You should separate this out, and bring it to a private and controlled enviornment <spam> I can open a private forum for you here </spam>.

_________________
indiana


Top
 Profile E-mail  
 
 Post subject: Re: Call for participation in CSPoker
PostPosted: Fri Dec 12, 2008 12:49 pm 
Offline
Regular member
User avatar

Posts: 64
Favourite Bot: MCTSBot
Which parts of my bot will be public is still not decided. The framework and some simple bots will certainly be open source. That's what should be most interesting for this community.


Top
 Profile E-mail  
 
 Post subject: Re: Call for participation in CSPoker
PostPosted: Fri Dec 12, 2008 1:40 pm 
Offline
Senior member
User avatar

Posts: 138
Favourite Bot: the one I'm building
Yeah to this community the most interesting would be a testing framework (although Indiana seems to have created something similar for SNG, I have yet to make time to create an SNG to get into the forum though. So much to do ;)).

But what I'd also be very interested in is the frameworks of the three bot ideas you proposed thus far: Genetic algorithm bot, Neural network bot / Support vector machine bot, learning bot. I have worked with neural networks learning behavior on a rudimentary level a few years back and learned it to remember numbers and to recognize facial expressions (well, it kinda sucked until I cheated a little and put some expert knowledge in :P). But my understanding of this technique as to apply it to something as complex as a bot is far too limited (I mainly had theoretical knowledge as apposed to practical knowledge and it's been a few years as well).

However I do believe a bot learning to play poker on its own rather than being made with expert knowledge is the best way to proceed. Also because my expert knowledge is quite limited (I think expert knowledge is beneficial, so I'm trying to at least be able to beat the micro limit level with manual play).

So summarizing:

yes, testing framework is most beneficial, however a framework that can be used to train the actual bot itself (via one or various ways of machine learning) would be quite interesting as well (at east to me). And you could keep the final results, or distinctive features of the training framework private of course, as to avoid people just stealing your work.


Top
 Profile E-mail  
 
 Post subject: Re: Call for participation in CSPoker
PostPosted: Fri Dec 12, 2008 3:28 pm 
Offline
PokerAI fellow
User avatar

Posts: 1239
Favourite Bot: my bot
I like your idea of hosting competitions for bots and humans, but I'm not convinced you are going to get many folk wanting to build open source bots.

My first bot used RL but it was very slow to learn and its response was brittle. I never found a copy, but there is a paper by Dahl on using RL in poker, and I think one of the guys at Alberta wrote a paper too. I never really figured how to construct a mixed strategy using RL.

While you can use NN's, SVM's and other such techniques to build opponent models, deciding how to beat that model is another problem: best response is just too predictable.

As you will be hosting lots of competitions, it should not be hard to provide easy access to to lots of raw hand histories. That would be useful.


Top
 Profile E-mail  
 
 Post subject: Re: Call for participation in CSPoker
PostPosted: Sat Feb 28, 2009 6:03 pm 
Offline
PokerAI fellow
User avatar

Posts: 7731
Favourite Bot: V12
Just tried to get that running. What JDK version is required?

I'm getting the following on server start:

Code:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/net/httpserver/HttpHandler
        at org.cspoker.server.allcommunication.RunCSPoker$1.startElement(RunCSPoker.java:110)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
        at org.cspoker.server.allcommunication.RunCSPoker.<init>(RunCSPoker.java:74)
        at org.cspoker.server.allcommunication.RunCSPoker.<init>(RunCSPoker.java:55)
        at org.cspoker.server.allcommunication.RunCSPoker.main(RunCSPoker.java:46)

_________________
indiana


Top
 Profile E-mail  
 
 Post subject: Re: Call for participation in CSPoker
PostPosted: Sat Feb 28, 2009 6:16 pm 
Offline
PokerAI fellow
User avatar

Posts: 7731
Favourite Bot: V12
OK, this was just the JDK version. Switched to JDK6 and it's now fine.

_________________
indiana


Top
 Profile E-mail  
 
 Post subject: Re: Call for participation in CSPoker
PostPosted: Sat Feb 28, 2009 6:26 pm 
Offline
PokerAI fellow
User avatar

Posts: 7731
Favourite Bot: V12
So, tried to play some poker.

What kind of games are supported, if I create a table it's always created with 8 seats. Other options possible?

I hit a bug, connected 3 players, get them allin, and on the subsequent hand I got this one - I have check and fold options, but no matter what I select, I get an error popup:

Attachment:
bug.PNG
bug.PNG [ 110.1 KB | Viewed 2149 times ]

_________________
indiana


Top
 Profile E-mail  
 
 Post subject: Re: Call for participation in CSPoker
PostPosted: Sat Feb 28, 2009 7:02 pm 
Offline
Regular member
User avatar

Posts: 64
Favourite Bot: MCTSBot
The downloadable binary is for a very old version of CSPoker. The latest from trunk is a complete rewrite but hasn't been released yet.


Top
 Profile E-mail  
 
 Post subject: Re: Call for participation in CSPoker
PostPosted: Sat Feb 28, 2009 7:15 pm 
Offline
PokerAI fellow
User avatar

Posts: 7731
Favourite Bot: V12
Why don't you publish builds for that?

_________________
indiana


Top
 Profile E-mail  
 
 Post subject: Re: Call for participation in CSPoker
PostPosted: Sat Feb 28, 2009 8:29 pm 
Offline
Regular member
User avatar

Posts: 64
Favourite Bot: MCTSBot
Because we want more features before we do a new release. Because currently, nobody is working on those features, we just work with our own development builds.


Top
 Profile E-mail  
 
 Post subject: Re: Call for participation in CSPoker
PostPosted: Sat Feb 28, 2009 8:49 pm 
Offline
PokerAI fellow
User avatar

Posts: 7731
Favourite Bot: V12
If we can get up:
- 2, 6, and 10 max NL games for bot and humans up and running
- account management (persisting balances), or decoupled cashier like functionallity (have you planned for that?)

I'll consider hosting a server for that. I think developing something like this makes sense if we put games up and running.

I would also like to look at the client, make it possible to plug in meerkat API and UofA bots to play in simple manner (jar + authorization.txt).

_________________
indiana


Top
 Profile E-mail  
 
 Post subject: Re: Call for participation in CSPoker
PostPosted: Sun Mar 01, 2009 12:41 am 
Offline
PokerAI fellow
User avatar

Posts: 7731
Favourite Bot: V12
Thread moved to CSPoker usergroup forum.

_________________
indiana


Top
 Profile E-mail  
 
 Post subject: Re: Call for participation in CSPoker
PostPosted: Sat Jun 06, 2009 5:54 pm 
Offline
New member
User avatar

Posts: 5
Favourite Bot: me myself and i
Hi I'm relative new to poker and to the Poker ai stuff.
I'm working as a programmer, writing webservices in Java, and playing just a little bit of poker.
I'm thinking of a consistent open source interface between a Poker Sever and a Client.

I found a TCP/IP based kommunication here http://games.cs.ualberta.ca/webgames/poker/bots.html
Or HTTP connections with XML content (RESTful webservice), Socket connection sending XML content, RMI for CSPoker here http://code.google.com/p/cspoker/wiki/API

And there is an internal Interface here:
http://www.poker-academy.com/downloads/ ... PI-2.5.zip which is very extensive and kept me from starting right away.

I thought about writing a Poker server in Java as a webservice. What are the reasons for not using a webservice? Performance? I read somewere there were commercial interests on your server.
How much effort was it to write such a server including the database and the hole Table/Tournament Management?

I'm not mainly interested in writing a bot. Are there any (Java) webservice based Poker Servers?


Top
 Profile E-mail  
 
 Post subject: Re: Call for participation in CSPoker
PostPosted: Sun Jun 07, 2009 9:38 am 
Offline
Regular member
User avatar

Posts: 64
Favourite Bot: MCTSBot
The pokersource people also have a REST rest interface.

The reason why we didn't create a SOAP webservice is that we thought is was overkill.
The effort we put in was significant, but then maybe we didn't know what we were doing at first.

You're welcome to use our server as a backend for your webservice. I presume that turning our current REST API into SOAP is pretty easy. We already have all the API classes annotated with JAXB. I think a simple @WebService annotation is all you need.


Top
 Profile E-mail  
 
 Post subject: Re: Call for participation in CSPoker
PostPosted: Sun Jun 07, 2009 1:54 pm 
Offline
New member
User avatar

Posts: 5
Favourite Bot: me myself and i
Rest is also fine. Of coarse SOAP is more complected.
But I think it is still more common sense, but this might have already been changed.
Do you have a link to the REST interface? I have not yet downloaded the source.

What is surprising to me is that commercial poker software scans or Harddrive (hopefully only to detect bots),
and is therefor deleted by some Virus scanners, but the users do not care and switch there anti virus software off.
The client might even log our bank informations when we deposit money for example, I do not know what the client does on my
computer, but nobody cares.

Therefore I'm thinking of a open, fixed interface. This might be REST, SOAP or whatever.
If we have such an interface, we can use more trustful clients like Java/Ajax/JavaFX based once, we can write our own clients, can extend the client, we can use the same client on different servers.

Are there any other open interfaces between client and server?


Top
 Profile E-mail  
 
 Post subject: Re: Call for participation in CSPoker
PostPosted: Sun Jun 07, 2009 3:10 pm 
Offline
Regular member
User avatar

Posts: 64
Favourite Bot: MCTSBot
We have http://code.google.com/p/cspoker/wiki/API

It's a bit outdated though.


Top
 Profile E-mail  
 
 Post subject: Re: Call for participation in CSPoker
PostPosted: Sun Jun 07, 2009 4:22 pm 
Offline
New member
User avatar

Posts: 5
Favourite Bot: me myself and i
Yes I have seen this (see my first entry), but for me it looks more then a Soap Service.
How can i build a uri out of the Action xsd's?
The response is clear. Are the attributes of the xsd transfer to parameters of the url?
I think the avatar (as base64Binary) will not fit in the url.


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


Who is online

Users browsing this forum: No registered users and 1 guest


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: