Open Side Menu Go to the Top
Register
Help with counting outs app Help with counting outs app

03-07-2017 , 02:27 PM
I want to build an app to help people practice counting outs. I need help with the algorithm. The algorithm will calculate the number of outs.

This is how the application will work. It will deal a pair of cards for two players, and then it will generate a flop. The user will be prompted to enter the number of outs. Then the application will tell the user if they are correct, but if they are incorrect the application will provide the correct number of outs.

I tried searching on 2+2, and PokerAI. Can anyone provide me with an algorithm in java, or in pseudocode to count the outs? Thanks.
Help with counting outs app Quote
03-07-2017 , 03:50 PM
Do you want an equity calculator or? How are we defining "outs" exactly?

Sent from my SM-G900R4 using Tapatalk
Help with counting outs app Quote
03-07-2017 , 03:57 PM
Quote:
Originally Posted by just_grindin
Do you want an equity calculator or? How are we defining "outs" exactly?

Sent from my SM-G900R4 using Tapatalk
An out is a card that can come on a future street(s) that can give you the best hand. This includes backdoor outs, hidden outs and chopping outs.
Help with counting outs app Quote
03-07-2017 , 04:00 PM
Definition of a hidden out:

Hero: AQ
Villian: 55

Flop: JJT
Turn: 7

If the River is a Ten, that would be a hidden out, because you would have the better kicker and win the hand.
Help with counting outs app Quote
03-07-2017 , 04:00 PM
Quote:
Originally Posted by %eax
An out is a card that can come on a future street(s) that can give you the best hand. This includes backdoor outs, hidden outs and chopping outs.
I'm familiar with the definition of an out in its various forms but you'll have to be more specific when dealing with computers.

So what do you want to return? A number?

What if 30 cards in the deck result in a chop? What if we're currently tied and all cards result in a chop?

How are you representing back door outs if they rely on the previous card to hit? Say an 8 is only an out for me if a 7 hits on the turn?
Help with counting outs app Quote
03-07-2017 , 10:45 PM
Quote:
Originally Posted by just_grindin
So what do you want to return? A number?
Yes, I would like an int.

Quote:
Originally Posted by just_grindin
What if 30 cards in the deck result in a chop? What if we're currently tied and all cards result in a chop?
Then I think the program should say that there are zero outs.

Quote:
Originally Posted by just_grindin
How are you representing back door outs if they rely on the previous card to hit? Say an 8 is only an out for me if a 7 hits on the turn?
Yeah, this one is tricky. In Owen Gaines book he says that if you're going to see both the turn and river (we can make this assumption), you can add an extra out for every backdoor draw. It's also possible to have multiple backdoor draws, so you can add one out for each backdoor draw.

I am not that good at counting outs. I am reading Owen Gaines book Poker Math that Matters, and that is where I got the idea for this project. I am basically a jr-mid level web developer, and a micro donk so let me know if I am saying something incorrect. I am open to any suggestions that would make this app better. Thanks.
Help with counting outs app Quote
03-08-2017 , 02:37 AM
Why not just have users try to guess their equity? That's more important than some vaguely defined concept of "outs", and there are already libraries to calculate equity.
Help with counting outs app Quote
03-08-2017 , 08:18 AM
Quote:
Originally Posted by DarkMagus
Why not just have users try to guess their equity? That's more important than some vaguely defined concept of "outs", and there are already libraries to calculate equity.
Yeah this was at the heart of my questions.
Help with counting outs app Quote
03-08-2017 , 08:32 AM
Quote:
Originally Posted by DarkMagus
Why not just have users try to guess their equity? That's more important than some vaguely defined concept of "outs", and there are already libraries to calculate equity.
You are right. I might try that. Thanks!
Help with counting outs app Quote
03-08-2017 , 09:58 AM
It doesn't sound like a very compelling app tbh.
Help with counting outs app Quote
03-08-2017 , 10:26 AM
Quote:
Originally Posted by leavesofliberty
It doesn't sound like a very compelling app tbh.
i am not doing it to make money. I am primarily doing this to practice, jaxrs, javascript, angular 2, bootstrap, hibernate, and software architecture. I am hoping this will help me with poker as a side benefit.

Last edited by %eax; 03-08-2017 at 10:32 AM.
Help with counting outs app Quote
03-08-2017 , 10:46 AM
Quote:
Originally Posted by %eax
i am not doing it to make money. I am primarily doing this to practice, jaxrs, javascript, angular 2, bootstrap, hibernate, and software architecture. I am hoping this will help me with poker as a side benefit.
Still, nobody cares what kind of engine a car has if it doesn't have a good body to look at. I'd think of a better idea for an app. Maybe a bargaining game if you still want to wow them with the mathz.
Help with counting outs app Quote
03-08-2017 , 11:15 AM
Quote:
Originally Posted by leavesofliberty
Still, nobody cares what kind of engine a car has if it doesn't have a good body to look at. I'd think of a better idea for an app. Maybe a bargaining game if you still want to wow them with the mathz.
What do you mean by a bargaining game? I am open to suggestions.

My goal is to build my first database driven website implemented completely by myself using a cutting edge java based stack. This app will allow me to do that, and I will also be able to use it to practice learning how to calculate poker equity. I will build out my suite of poker apps as I learn more about poker. The website will become more technical, and more visually appealing after the first iteration.

I plan on building websites for businesses (hopefully i can parlay that into a side business), and using some machine learning algorithms for poker and solving enterprise problems. Big data, data science, and AI are my primary interests right now. I think I want to get into Hadoop after I feel like I have mastered web development.
Help with counting outs app Quote
03-08-2017 , 12:36 PM
Quote:
Originally Posted by %eax
What do you mean by a bargaining game? I am open to suggestions.

My goal is to build my first database driven website implemented completely by myself using a cutting edge java based stack. This app will allow me to do that, and I will also be able to use it to practice learning how to calculate poker equity. I will build out my suite of poker apps as I learn more about poker. The website will become more technical, and more visually appealing after the first iteration.

I plan on building websites for businesses (hopefully i can parlay that into a side business), and using some machine learning algorithms for poker and solving enterprise problems. Big data, data science, and AI are my primary interests right now. I think I want to get into Hadoop after I feel like I have mastered web development.
Meh, I think it's a decent idea. I take it back. There's also a lot of personal benefit to going down the poker/compsci rabbit hole. My other idea was something like a "Let's Make a Deal" spin-off or something marketable in the phone game industry.
Help with counting outs app Quote
03-10-2017 , 04:30 PM
I think it's a good idea for an app. It's not really different than any other kind of flash card app someone might make for studying stuff like math, history, music etc.
Help with counting outs app Quote
03-14-2017 , 10:16 AM
You deal two random hands A, B and a flop.
Then determine which hand is the favorite on flop, let's say A > B.
Then iterate through all other cards left in the deck and increment counter whenever B > A when accounting for 4 cards board.

Things to consider: You have to keep doing the first and second steps in case when it's a tie from flop onward or if some hand flop the other one dead.

Hope that helps.
Help with counting outs app Quote
03-14-2017 , 11:23 AM
Quote:
Originally Posted by Xsaa
You deal two random hands A, B and a flop.
Then determine which hand is the favorite on flop, let's say A > B.
Then iterate through all other cards left in the deck and increment counter whenever B > A when accounting for 4 cards board.

Things to consider: You have to keep doing the first and second steps in case when it's a tie from flop onward or if some hand flop the other one dead.

Hope that helps.
Thanks. That would work, but I was looking for a more efficient algorithm. I think I might build a different app.
Help with counting outs app Quote
03-14-2017 , 11:52 AM
You're welcome. What I suggested is actually called "enumerate all" poker evaluation algorithm which is as efficient as you can get when evaluating single hand vs hand.
Help with counting outs app Quote
03-16-2017 , 10:58 AM
poker-eval library is your friend.
Help with counting outs app Quote
03-20-2017 , 05:13 PM
I have made a similar app that let's you guess equities: https://play.google.com/store/apps/d...okerquiz&hl=en

It's not flashcard based as it actually generates the hands and calculates equities. You can specify ranges too.
Help with counting outs app Quote
03-20-2017 , 07:57 PM
Quote:
Originally Posted by Pahvak
I have made a similar app that let's you guess equities: https://play.google.com/store/apps/d...okerquiz&hl=en

It's not flashcard based as it actually generates the hands and calculates equities. You can specify ranges too.
That's nice. I would install it if there was one for the Iphone.

Quote:
Originally Posted by leavesofliberty
poker-eval library is your friend.
That's in C. Thanks, but I'm not fluent with C. I want to do something with Java. I don't think I'll continue with this idea. I have another idea to improve my coding skills. It won't be poker related for now.
Help with counting outs app Quote
03-20-2017 , 08:23 PM
poker-eval has a Java interface
Help with counting outs app Quote

      
m