Image Image Image




Post new topic Reply to topic  [ 23 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: Introducing CSPoker
PostPosted: Thu Nov 20, 2008 11:15 pm 
Offline
Regular member
User avatar

Posts: 64
Favourite Bot: MCTSBot
Hi,

I'm one of the devs at CSPoker. We're an open source software project for everyting poker related, including a server in Java, clients in Flash and Java and a framework to test AI bots. I myself am working on a game tree search bot with opponent modeling for my thesis in AI. All of it open source.

We're currently looking to improve the hand evaluation used by the bots. We'd love to use the fastest 2+2 evaluator posted in the "7-card Hand Evaluators" thread but there are some legal issues. I need the permission of the copyright holders of the code for us to release it under the GPL open source license. Can anybody help us there?

We're also setting up a framework where bots can compete against each other. I's all very much work in progress but we have a good number of people working on it. Everybody here is very welcome to join our efforts.

Cheers ;)


Top
 Profile E-mail  
 
 Post subject: Re: Introducing CSPoker
PostPosted: Thu Nov 20, 2008 11:41 pm 
Offline
PokerAI fellow
User avatar

Posts: 7731
Favourite Bot: V12
Hi,

Welcome to these forums. This sounds quite unteresting, actually.

I'm not fully sure on the copyright issues. The 2+2 was released in cooperative manner, by many people contributing, so I believe this is now somehow in the public domain.

The second best evaluator - which I personally use now - Steve Brechers - is open source and public domain for sure:
http://www.stevebrecher.com/Software/software.html wrote:
Hold’Em Showdown and its source code are in the public domain (not copyrighted). You are free to give a copy to anyone.


What else might be interesting - is to add integration to Poker Academy Meerket API deveoped bots. Mine (and other people one) are built against this interface. This again may raise some copyright conflicts, however, as this might even cause conflict in business interests with Poker Academy software.

_________________
indiana


Top
 Profile E-mail  
 
 Post subject: Re: Introducing CSPoker
PostPosted: Fri Nov 21, 2008 12:01 am 
Offline
Regular member
User avatar

Posts: 64
Favourite Bot: MCTSBot
indiana wrote:
I'm not fully sure on the copyright issues. The 2+2 was released in cooperative manner, by many people contributing, so I believe this is now somehow in the public domain.

In most jurisdictions, code posted without any copyright information is not public domain. You could argue that there is an implicit statement that the code can be used for any purpose but I just can't legally take the risk. If the last developer to work on it could be contacted (who is RayW?) that might make it acceptable.
indiana wrote:
What else might be interesting - is to add integration to Poker Academy Meerket API deveoped bots. Mine (and other people one) are built against this interface. This again may raise some copyright conflicts, however, as this might even cause conflict in business interests with Poker Academy software.
Having a compatibility layer would be very cool indeed.


Top
 Profile E-mail  
 
 Post subject: Re: Introducing CSPoker
PostPosted: Fri Nov 21, 2008 12:19 am 
Offline
PokerAI fellow
User avatar

Posts: 7731
Favourite Bot: V12
guyvdb wrote:
In most jurisdictions, code posted without any copyright information is not public domain. You could argue that there is an implicit statement that the code can be used for any purpose but I just can't legally take the risk. If the last developer to work on it could be contacted (who is RayW?) that might make it acceptable.

Yes - you cannot assume something is in the public domain. I simply had no clue who's copyright is code that is reposted and modified 100 times by 100 people - these are techically 100 copyright infridgements - and this is usually a precedent that might make something in the public domain. Like Google were going to lose their trademark on Google, because people started to use "Googling" instead of searching. I.e. if someone does not enforce his rights, he may lose them. Also, I have now posted a Java version of RayW evaluator - which I have no clue who developed at first place. And to be honest - I already might infridge things, as I am redistributing all these evaluators with modified packages (pokerai.game.eval).

So far no one has raised a complain, thou, while the 7-card evaluator thread is pretty popular. But I cannot really take the legal burden of reposting such code under GPL - to remove the legal burden from you. I would really propose that you go for Steve Brecher. It is as fast as RayW, and also works for games for which RayW doesn't (at least he published implementation).

guyvdb wrote:
Having a compatibility layer [With Meerkat API] would be very cool indeed.

I may have a look into that. I however just finished my SNG meerkat test bed and this was pretty much occupying my free time (beside serious things like ramping up my 26-th account on PokerStars - just kidding Jeff - you know that I don't like multiaccounting).

_________________
indiana


Top
 Profile E-mail  
 
 Post subject: Re: Introducing CSPoker
PostPosted: Fri Nov 21, 2008 1:53 am 
Offline
Junior member
User avatar

Posts: 29
Favourite Bot: none
guyvdb wrote:
Hi,

I'm one of the devs at CSPoker. We're an open source software project for everyting poker related, including a server in Java, clients in Flash and Java and a framework to test AI bots. I myself am working on a game tree search bot with opponent modeling for my thesis in AI. All of it open source.

We're currently looking to improve the hand evaluation used by the bots. We'd love to use the fastest 2+2 evaluator posted in the "7-card Hand Evaluators" thread but there are some legal issues. I need the permission of the copyright holders of the code for us to release it under the GPL open source license. Can anybody help us there?

We're also setting up a framework where bots can compete against each other. I's all very much work in progress but we have a good number of people working on it. Everybody here is very welcome to join our efforts.

Cheers ;)


The idea for the "fastest 2+2 evaluator" came from my brain. Back in December of 2006 I wrote in the 2+2 forum that a simple lookup table could be created, and it wouldn't require the billions of bytes of memory others were claiming it would.

The code to use the table is very simple, as is the code to create the table.

RayW via private messages asked a number of questions about how I created the table, but not for actual code to create it. I believe the only thing others can lay claim to is their implementation of my idea.

To me, the part which has real value is the idea, not any one person's implementation.

I gave my idea freely to the community. To be clear, I'll state that I place the idea into public domain.

I guess that means if you want to include your implementation of my idea in your software you are more than welcome to do so. I can guarantee you will never hear a complaint from me.


Top
 Profile E-mail  
 
 Post subject: Re: Introducing CSPoker
PostPosted: Fri Nov 21, 2008 1:03 pm 
Offline
Regular member
User avatar

Posts: 64
Favourite Bot: MCTSBot
mykey1961 wrote:
To me, the part which has real value is the idea, not any one person's implementation.

Unfortunately, copyright law disagrees :-). Ideas are not copyrighted but implementations are.

How should i contact Ray to get his permission to use his implementation?

btw: nice job :D


Top
 Profile E-mail  
 
 Post subject: Re: Introducing CSPoker
PostPosted: Fri Nov 21, 2008 1:40 pm 
Offline
PokerAI fellow
User avatar

Posts: 1239
Favourite Bot: my bot
guyvdb,

At the risk of repeating indiana, I'd suggest you use the Steve Brecher evaluator. In most practical cases it's fast enough. But the 2+2 evaluator uses a huge amount of memory, and that is a real problem in lots of cases. And BTW, I think both of them are very impressive pieces of work.

Looking forward to messing with CSPoker..


Top
 Profile E-mail  
 
 Post subject: Re: Introducing CSPoker
PostPosted: Fri Nov 21, 2008 3:53 pm 
Offline
Regular member
User avatar

Posts: 64
Favourite Bot: MCTSBot
Steve Brecher's code is impressive indeed and already committed and integrated in our codebase. It speeds up our code a lot.

But it can't hurt to try to also get the other one licensed correctly before the copyright holders have disappeared. :)


Top
 Profile E-mail  
 
 Post subject: Re: Introducing CSPoker
PostPosted: Fri Nov 21, 2008 4:44 pm 
Offline
PokerAI fellow
User avatar

Posts: 7731
Favourite Bot: V12
@guyvdb - agree. However, I'm not sure that RayW actually is the copyright owner. If he developed the C code, and someone ported this to Java - is RayW still the sole copyright owner, or both authors, or?

P.S. Somehow this CSPoker thread turned into copyright thread :)

_________________
indiana


Top
 Profile E-mail  
 
 Post subject: Re: Introducing CSPoker
PostPosted: Fri Nov 21, 2008 4:51 pm 
Offline
PokerAI fellow
User avatar

Posts: 1239
Favourite Bot: my bot
OK.

RayW's post on 2+2 says
Quote:
// HandRankSetup.cpp : Sets up the HandRank File for VERY fast Lookups
// by Ray Wotton and the 2+2 list My code is GPL, use it as you like

Is that insufficient?

I guess you already PM'd RayW at 2+2. Maybe you should try M_White on the PA forum. http://forums.poker-academy.com/viewtopic.php?t=4787&postdays=0&postorder=asc&highlight=rayw&start=20 (but maybe that is mykey)


Top
 Profile E-mail  
 
 Post subject: Re: Introducing CSPoker
PostPosted: Fri Nov 21, 2008 4:54 pm 
Offline
Senior member
User avatar

Posts: 209
Favourite Bot: winnie
indiana wrote:
@guyvdb - agree. However, I'm not sure that RayW actually is the copyright owner. If he developed the C code, and someone ported this to Java - is RayW still the sole copyright owner, or both authors, or?


RayW is still the copyright owner of the code if it is "only ported" to java. the only exception is if you solve a problem where everybody would independently code it the same way. (e.g. some kinds of for() loops). everything else is hurting the copyright. even if you "steal" the idea behind and code it in another language...


Top
 Profile E-mail  
 
 Post subject: Re: Introducing CSPoker
PostPosted: Fri Nov 21, 2008 6:17 pm 
Offline
Regular member
User avatar

Posts: 64
Favourite Bot: MCTSBot
spears wrote:
OK.

RayW's post on 2+2 says
Quote:
// HandRankSetup.cpp : Sets up the HandRank File for VERY fast Lookups
// by Ray Wotton and the 2+2 list My code is GPL, use it as you like

Is that insufficient?


Thanks for that. This makes the Java translation of the code derived work that is also GPL licensed. I'll take the leap of faith then.


Top
 Profile E-mail  
 
 Post subject: Re: Introducing CSPoker
PostPosted: Fri Nov 21, 2008 6:52 pm 
Offline
PokerAI fellow
User avatar

Posts: 7731
Favourite Bot: V12
That are good news. Means the zip in the current 7-card evaluators thread is almost legal :) - I have to check the Alberta's evalautor and jpoker but I can remove them if needed as well.

_________________
indiana


Top
 Profile E-mail  
 
 Post subject: Re: Introducing CSPoker
PostPosted: Fri Nov 21, 2008 7:02 pm 
Offline
PokerAI fellow
User avatar

Posts: 1239
Favourite Bot: my bot
guyvdb wrote:
This makes the Java translation of the code derived work that is also GPL licensed. I'll take the leap of faith then.


I don't know where you are getting your java translation from, but the one on this forum I think I got off 2+2. I added a java port of Cactus Kev's 5 card evaluator, which you can use as you wish. I guess you should check the copyright status of CKs evaluator too. http://www.suffecool.net/poker/evaluator.html - No mention of copyright there.

I recall some issues with 6 card hand evals that were discussed on this forum.


Top
 Profile E-mail  
 
 Post subject: Re: Introducing CSPoker
PostPosted: Fri Nov 21, 2008 11:08 pm 
Offline
Junior member
User avatar

Posts: 29
Favourite Bot: none
guyvdb wrote:
mykey1961 wrote:
To me, the part which has real value is the idea, not any one person's implementation.

Unfortunately, copyright law disagrees :-). Ideas are not copyrighted but implementations are.

How should i contact Ray to get his permission to use his implementation?

btw: nice job :D


I went back and looked at RayW's code again, and what I had posted before he posted his implementation. I can say his code has some of what I posted in it, and the work of others.

Ray would get credit for putting all of the pieces together into a working version in C. But I don't see him being able to claim a copywrite on it.


Top
 Profile E-mail  
 
 Post subject: Re: Introducing CSPoker
PostPosted: Tue Nov 25, 2008 10:16 pm 
Offline
Senior member
User avatar

Posts: 223
Favourite Bot: N/A
guyvdb wrote:
Hi,

I'm one of the devs at CSPoker. We're an open source software project for everyting poker related, including a server in Java, clients in Flash and Java and a framework to test AI bots. I myself am working on a game tree search bot with opponent modeling for my thesis in AI. All of it open source.

We're currently looking to improve the hand evaluation used by the bots. We'd love to use the fastest 2+2 evaluator posted in the "7-card Hand Evaluators" thread but there are some legal issues. I need the permission of the copyright holders of the code for us to release it under the GPL open source license. Can anybody help us there?

We're also setting up a framework where bots can compete against each other. I's all very much work in progress but we have a good number of people working on it. Everybody here is very welcome to join our efforts.

Cheers ;)

If you want, you have formal permission to use my own implementation of the 7 cards LUT.
It generates the table much faster than RayW (under 1 second), and also you can generate the table with pointers in it for faster performance.
The code was posted here, and you also can use the code for the pre-flop evaluation that is much faster and with a smaller table.
The code is here: viewtopic.php?f=3&t=1121&hilit=
The traiditional LUT cards (alla mykey1961 is in lutcards.c, and you have as an example of the standard benchmark in benchmarks.c in the following functions:
Code:
void   BenchmarkHandEval5WithoutSavingIntermediateStatesLUTCards(const LUTCards_t p);
void   BenchmarkHandEval5SavingIntermediateStatesLUTCards(const LUTCards_t p);
void   BenchmarkHandEval7WithoutSavingIntermediateStatesLUTCards(const LUTCards_t p);
void   BenchmarkHandEval7SavingIntermediateStatesLUTCards(const LUTCards_t p);


Top
 Profile  
 
 Post subject: Re: Introducing CSPoker
PostPosted: Wed Nov 26, 2008 9:36 am 
Offline
Regular member
User avatar

Posts: 64
Favourite Bot: MCTSBot
Adrian20XX wrote:
If you want, you have formal permission to use my own implementation of the 7 cards LUT.

I appreciate your contribution but I'm looking for Java code to interface with the rest of software. I know I could call the native code through JNI but it's not elegant to do so.


Top
 Profile E-mail  
 
 Post subject: Re: Introducing CSPoker
PostPosted: Wed Nov 26, 2008 12:50 pm 
Offline
Senior member
User avatar

Posts: 223
Favourite Bot: N/A
If you are still interested in contacting RayW, his name seems to be Ramon Wooton, and here is supposed to be his email: http://tech.groups.yahoo.com/group/poke ... essage/329


Top
 Profile  
 
 Post subject: Re: Introducing CSPoker
PostPosted: Thu Nov 27, 2008 12:35 am 
Offline
Regular member
User avatar

Posts: 64
Favourite Bot: MCTSBot
Adrian20XX wrote:
If you are still interested in contacting RayW, his name seems to be Ramon Wooton, and here is supposed to be his email: http://tech.groups.yahoo.com/group/poke ... essage/329


You rock :). I sent him an email.


Top
 Profile E-mail  
 
 Post subject: Re: Introducing CSPoker
PostPosted: Sun Nov 30, 2008 12:10 pm 
Offline
PokerAI fellow
User avatar

Posts: 7731
Favourite Bot: V12
Adrian20XX wrote:
If you want, you have formal permission to use my own implementation of the 7 cards LUT.
It generates the table much faster than RayW (under 1 second), and also you can generate the table with pointers in it for faster performance.
The code was posted here, and you also can use the code for the pre-flop evaluation that is much faster and with a smaller table.
The code is here: viewtopic.php?f=3&t=1121&hilit=
The traiditional LUT cards (alla mykey1961 is in lutcards.c, and you have as an example of the standard benchmark in benchmarks.c in the following functions:
Code:
void   BenchmarkHandEval5WithoutSavingIntermediateStatesLUTCards(const LUTCards_t p);
void   BenchmarkHandEval5SavingIntermediateStatesLUTCards(const LUTCards_t p);
void   BenchmarkHandEval7WithoutSavingIntermediateStatesLUTCards(const LUTCards_t p);
void   BenchmarkHandEval7SavingIntermediateStatesLUTCards(const LUTCards_t p);


Adrian, do you make that available in the public domain or under GPL v2+? I want to cleanup all the licensing stuff in the code that I distribute, so I'm fixing now a license.TXT to include in the archive.

For now I include the following, and you should let me know if you disagree:

...
Quote:
=============================================================================
The work of pokerai.org members
=============================================================================
The work of various PokerAI.org members
(in this thread: http://pokerai.org/pf3/viewtopic.php?f=3&t=16):
* Indiana
* Spears
* Adrian20XX
* Timmy
and others was used in modifying and assembling the codebase. All of that
is made available under GPL v2 or later.

...

_________________
indiana


Top
 Profile E-mail  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 23 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: