Poker-AI.org

Poker AI and Botting Discussion Forum
It is currently Mon Nov 13, 2023 6:01 pm

All times are UTC




Post new topic Reply to topic  [ 11 posts ] 
Author Message
PostPosted: Sat Feb 20, 2021 9:14 am 
Offline
Junior Member

Joined: Sun Feb 16, 2020 5:26 am
Posts: 11
Hello, everyone.
This is icybee. I'm current an reinforcement learning engineer and I'm very interested in texas holdem solvers and finally decide to make one. I have been working on a solver for some time, and now I'm announcing it.

https://github.com/bupticybee/TexasHoldemSolverJava

it's a java version of texas/shortdeck postflop solver with python/bash apis.

Another cpp version is finished but I still don't have time to write document for it (it also provides python apis): https://github.com/bupticybee/TexasSolver

I took some code from Fossana's java project (special thanks to Fossana, without his code my project is impossible), fix some of it's bugs, do some "optimization", and make the code more general, supported both standarded texas holdem and it's popular variant short-deck. I also extand the code to flop as Fossana suggested. Python and commandline apis are also provided.
Also I do a little bit of small modification to the algorithm itself to make dcfr a little bit faster: https://github.com/bupticybee/TexasHold ... #algorithm.

Image

If Fossana's code is an awesome prototype, I hope TexasHoldemSolverJava is more close to a product.

Really hope you guys like this project, or give me a lot of advices.


Top
 Profile  
 
PostPosted: Sat Mar 13, 2021 4:41 pm 
Offline
Junior Member

Joined: Sat Mar 13, 2021 3:43 pm
Posts: 23
Wow, this is super cool! Thanks for sharing. Have you taken this for a test ride on online poker?


Top
 Profile  
 
PostPosted: Sun Mar 14, 2021 1:27 am 
Offline
Junior Member

Joined: Sun Feb 16, 2020 5:26 am
Posts: 11
someone_else wrote:
Wow, this is super cool! Thanks for sharing. Have you taken this for a test ride on online poker?


No, but I will public the gui version(designed very close to piosolver) in the next two days. Here are some previews:

Image

Image

Image


Top
 Profile  
 
PostPosted: Thu Mar 18, 2021 11:56 pm 
Offline
Junior Member

Joined: Sat Mar 13, 2021 3:43 pm
Posts: 23
bupticybee wrote:
someone_else wrote:
Wow, this is super cool! Thanks for sharing. Have you taken this for a test ride on online poker?


No, but I will public the gui version(designed very close to piosolver) in the next two days.


Very cool stuff. Can't wait to dig into this. Does the C++ code implement the same algorithm? It would inevitably be faster


Top
 Profile  
 
PostPosted: Sun Mar 21, 2021 11:58 am 
Offline
Junior Member

Joined: Sat Mar 13, 2021 3:43 pm
Posts: 23
bupticybee wrote:
Really hope you guys like this project, or give me a lot of advices.

Btw, this is super awesome! One thing which isn't clear to me is the difference between the "oop" range and "ip" range. What is the difference between these two? Why do you need two different ranges?
bupticybee wrote:
Another cpp version is finished but I still don't have time to write document for it (it also provides python apis): https://github.com/bupticybee/TexasSolver

If the C++ code implements the same algorithm, it would be super worthwhile to work further on that. I'd be happy to contribute, starting with working on proper documentation. The C++ version seems like more of a gold mine even though there is no GUI, the absence of a GUI actually makes it better! I appreciate having an easy way to explore the Java version with a GUI though, this is a very fun tool to play with...


Top
 Profile  
 
PostPosted: Wed Mar 31, 2021 9:34 am 
Offline
Junior Member

Joined: Sun Feb 16, 2020 5:26 am
Posts: 11
someone_else wrote:
bupticybee wrote:
someone_else wrote:
Wow, this is super cool! Thanks for sharing. Have you taken this for a test ride on online poker?


No, but I will public the gui version(designed very close to piosolver) in the next two days.


Very cool stuff. Can't wait to dig into this. Does the C++ code implement the same algorithm? It would inevitably be faster


c++ implement exact the same algorithm, it runs at least 3 times faster and requires at least 3 times smaller memory, but that's not enough . I'm current aggressively trying to optimize it to be even faster.


Top
 Profile  
 
PostPosted: Wed Mar 31, 2021 9:39 am 
Offline
Junior Member

Joined: Sun Feb 16, 2020 5:26 am
Posts: 11
someone_else wrote:
bupticybee wrote:
Really hope you guys like this project, or give me a lot of advices.

Btw, this is super awesome! One thing which isn't clear to me is the difference between the "oop" range and "ip" range. What is the difference between these two? Why do you need two different ranges?
bupticybee wrote:
Another cpp version is finished but I still don't have time to write document for it (it also provides python apis): https://github.com/bupticybee/TexasSolver

If the C++ code implements the same algorithm, it would be super worthwhile to work further on that. I'd be happy to contribute, starting with working on proper documentation. The C++ version seems like more of a gold mine even though there is no GUI, the absence of a GUI actually makes it better! I appreciate having an easy way to explore the Java version with a GUI though, this is a very fun tool to play with...


Documenting is not that easy, especially when I'm still making huge modification to the code. You can read the java code first if you are that interested. C++ version is at first is just a port of java version. However in recent weeks I have make huge modification to the code, not they still provide the same result, but use slight different data structure.

I'm current working on https://github.com/bupticybee/TexasSolver/tree/speedup branch to accelerate the speed of the solver. Althrough it's a lot faster than java, it has still a long way to go to even get near the efficiency of piosolver.

My plan is to optimize the algorithm first, then the gui. Happy if you can provide any kind of help.


Top
 Profile  
 
PostPosted: Wed Mar 31, 2021 9:41 am 
Offline
Junior Member

Joined: Sun Feb 16, 2020 5:26 am
Posts: 11
someone_else wrote:
bupticybee wrote:
Really hope you guys like this project, or give me a lot of advices.

Btw, this is super awesome! One thing which isn't clear to me is the difference between the "oop" range and "ip" range. What is the difference between these two? Why do you need two different ranges?
bupticybee wrote:
Another cpp version is finished but I still don't have time to write document for it (it also provides python apis): https://github.com/bupticybee/TexasSolver

If the C++ code implements the same algorithm, it would be super worthwhile to work further on that. I'd be happy to contribute, starting with working on proper documentation. The C++ version seems like more of a gold mine even though there is no GUI, the absence of a GUI actually makes it better! I appreciate having an easy way to explore the Java version with a GUI though, this is a very fun tool to play with...


OOP range means out of position player's range, IP range means in position player range, you might want to use wikipedia for that. It's a 2-palyer game so 2 range is required.


Top
 Profile  
 
PostPosted: Thu Apr 01, 2021 9:11 am 
Offline
Site Admin
User avatar

Joined: Sun Feb 24, 2013 9:39 pm
Posts: 642
Interesting. I hope to take a closer look soon.


Top
 Profile  
 
PostPosted: Fri Apr 02, 2021 3:43 am 
Offline
Junior Member

Joined: Sat Mar 13, 2021 3:43 pm
Posts: 23
bupticybee wrote:

Documenting is not that easy, especially when I'm still making huge modification to the code. You can read the java code first if you are that interested. C++ version is at first is just a port of java version. However in recent weeks I have make huge modification to the code, not they still provide the same result, but use slight different data structure.

I'm current working on https://github.com/bupticybee/TexasSolver/tree/speedup branch to accelerate the speed of the solver. Althrough it's a lot faster than java, it has still a long way to go to even get near the efficiency of piosolver.

My plan is to optimize the algorithm first, then the gui. Happy if you can provide any kind of help.


I played around with the Java version and will check out the C++ version soon. Thanks so much for making this available.

bupticybee wrote:
OOP range means out of position player's range, IP range means in position player range, you might want to use wikipedia for that. It's a 2-palyer game so 2 range is required.


Oh I get it now. I am familiar with the role of positions on the table in poker, just wasn't sure what I was looking at because I have never used piosolver before. This is so much cooler than piosolver because I can look at the source. Thanks again! Will take some notes which could be used for documentation to start off with, will go on from there. Very interested in this project!


Top
 Profile  
 
PostPosted: Mon Nov 22, 2021 9:24 am 
Offline
New Member
User avatar

Joined: Mon Nov 22, 2021 9:23 am
Posts: 1
Thanks for sharing! Texas Holden used to be one of my favorite card games. It’s been a while since I have played it, but I think that I might pay it soon enough. Lately, I’ve been mostly gambling online. Ever since the Covid started and all the casinos have closed, I began to search for alternatives. Eventually, I was able to find a fantastic platform for online gambling https://holdemtour.com that had all types of games, such as Texas Holden and many slot games.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 11 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 2 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:
cron
Powered by phpBB® Forum Software © phpBB Group