Holdem Poker Online is a member of the THP Texas Holdem Online Poker strategy network.



Splitting a pot



Posted Mon Dec 05, 2005 2:56 am GMT by cooldudeguy911
Okay, I know only a bit about texas hold 'em and I have a friend who is writing a network-able game and needs to know the typical procedure for splitting a pot under a weird condition: that is, say player 1 has $100, 2 has $1,000, and 3 has $10,000. Player 3 bets all-in and is called by both players 1 and 2. It turns out that 1 and 3 tie and 2 loses. How would the pot be devided?

Now, same situation, but this time the only thing that changes is that player 1 bets the initial all-in.

Any help with this is much appreciated.


50 Seat Frenzy Qualifier Speed Rebuy at PartyPokerStarts in 20 minutes
Super Weekday 25 Point Qualifier at PartyPokerStarts in 25 minutes
Regular at PartyPokerStarts in 30 minutes
$100 Guaranteed Turbo at EmpirePokerStarts in 35 minutes
888PL Nightly PLO Freeroll at PacificPokerStarts in 35 minutes
BankrollMob May $25 Freeroll at PartyPokerStarts in 35 minutes
Welcome Lounge at PartyPokerStarts in 35 minutes
WSOP Sub Qualifier Speed Rebuy at PartyPokerStarts in 35 minutes
Summer Million MEGA Friday Satellite Qualifier Speed Rebuy at PartyPokerStarts in 40 minutes
Summer Million Sub Qualifier Speed Rebuy at PartyPokerStarts in 60 minutes
Show all upcoming online poker freerolls

Did you know that participating in a poker forum can help you improve your own game? Be it by sharing experiences or simply asking for help, participation in a forum helps you focus and keep 'on topic' which will help you improve your game. You can learn from other players feedback and from their experiences. Why the THP poker forums? We offer one of the best managed texas holdem poker forums available, and the community within is far more friendly than those typicaly found on other sites.

We've made a 'lurkers edition' of the poker forum available here on Holdem Poker Online, but we encourage all visitors to
register and join in on the conversations on TexasHoldem-Poker.com


Posted Mon Dec 05, 2005 3:24 am GMT by bluef0x
You split the pot according to everyones bet amount.

1st example:

P1 has $100
P2 has $1,000
P3 has $10,000

If p1 and p3 tie then p1 receives 150 chips while p3 receives 1,150



Example 2 depends on how you word it.. if player 1 went allin and was just called by p2 and p3 and they dont bet then the final pot is 300 chips and will be split among the winner(s)


Another example:

P1 has $10,000
P2 has $60,000
P3 has $10,000

If P2 goes allin and the other two players call, and p1 and p3 tie... then P1 will get $15,000 and p3 will get $15,000 and P2 gets back his $50,000.



You can only win how much you put in the pot.



Posted Mon Dec 05, 2005 9:00 am GMT by xhi
bluef0x wrote:
You split the pot according to every ones bet amount.

1st example:

P1 has $100
P2 has $1,000
P3 has $10,000

If p1 and p3 tie then p1 receives 150 chips while p3 receives 1,150


Actually there would be 3 pots.

One of $300 ($100 from each)

One of $2000 ($1000 from players 2 & 3)

and One of $8900 uncalled returned to player 3

At the end
Player 1 receives 150 (Half of Pot 1)
Player 2 receives nothing
Player 3 receives 2150 (All of Pot 2 and Half of Pot 1)

In the second case If Player one goes all-in and the other players just call there is just one 300 pot split 150 to players 1 & 3.

Also, just to add programming misery any odd chips of the lowest chip denomination left after a spilt pot are passed out like dealing cards beginning to the left of the dealer button.



Posted Mon Dec 05, 2005 11:47 am GMT by lwestatbus
I teach information systems design and programming for a living and I would hate to have to code this logic. Wish your friend luck.


Posted Mon Dec 05, 2005 11:57 am GMT by xhi
lwestatbus wrote:
I teach information systems design and programming for a living and I would hate to have to code this logic. Wish your friend luck.


As we systems programmers used to say in the old days, "No problem just another IF statement or two". And "When in doubt LOOP something".



Posted Mon Dec 05, 2005 11:58 am GMT by Muck
I’d have the design and algorithms...unfortunatly they’re in my dissertation on my home PC.


Posted Mon Dec 05, 2005 1:12 pm GMT by Soup_dog
xhi wrote:
lwestatbus wrote:
I teach information systems design and programming for a living and I would hate to have to code this logic. Wish your friend luck.


As we systems programmers used to say in the old days, "No problem just another IF statement or two". And "When in doubt LOOP something".


Make sure you use lots and lots of GOTO statements and meaningless variable names.



Posted Mon Dec 05, 2005 2:52 pm GMT by xhi
Soup_dog wrote:
xhi wrote:
lwestatbus wrote:
I teach information systems design and programming for a living and I would hate to have to code this logic. Wish your friend luck.


As we systems programmers used to say in the old days, "No problem just another IF statement or two". And "When in doubt LOOP something".


Make sure you use lots and lots of GOTO statements and meaningless variable names.


NO! NO! NO! Never a GOTO in my programs. I programmed without them long before some IT* professor decided to call it top down structured programming.

* IT Name was changed because the word science as in computer science scared away so many administrative dunderheads.



Posted Mon Dec 05, 2005 4:11 pm GMT by Always_Bored
xhi wrote:

One of $300 ($100 from each)

One of $2000 ($1000 from players 2 & 3).

and One of $8900 uncalled returned to player 3


actually, 1800 in pot two as its only $900 from each player. Since the first hundred goes into pot 1. And 9000 would be returned uncalled.


xhi wrote:
At the end
Player 1 receives 150 (Half of Pot 1)
Player 2 receives nothing
Player 3 receives 2150 (All of Pot 2 and Half of Pot 1)


and Player 3 would recieve 1950 + 9000 that was uncalled (half pot 1 and all of pot 2)



Posted Mon Dec 05, 2005 6:40 pm GMT by xhi
Sheesh I knew there was a mistake there somewhere, thanks for the correction.


Posted Tue Dec 06, 2005 8:36 am GMT by lwestatbus
xhi wrote:

NO! NO! NO! Never a GOTO in my programs. I programmed without them long before some IT* professor decided to call it top down structured programming.

* IT Name was changed because the word science as in computer science scared away so many administrative dunderheads.


Ah.... The old GOSUB..RETURN structure.

Actually, they still have computer science but also IT or MIS in the business school. The CS folks actually know how the computers work but the IT folks know how to make money with them Wink

Anybody out there know how this algorithm is implemented? You'd have to theoretically handle any number of players from 2 to 10 in at the showdown, up to eight side pots plus the main pot (total of 9), and splitting any side or main pot with 'remainder' chips to be allocated from any pot. There should be some problem space reducing approach. I think you would center around a 'Pot' object (no, not that kind of pot), assign players to pots for which they remain eligible, and then determining the pot winner should be fairly straightforward, including allocating remainder chips on splits. I'm even wondering if an expert system engine might not be the easiest way to go. We all know how any pot(s) should be split based on a description--transforming our knowledge into code to handle all possible situations is much harder than you'd think.

Anybody ever seen the algorithm for assembling the top hand possible out of seven eligible cards?

Another difference between CS and MIS. In CS this would be given as the second programming assignment in the first year programming course and those that didn't immediately change majors to Marketing would remain in the program. In MIS we'd figure it was more cost effective to find somebody with the code and buy it from them.

I'm writing this response while my database students are anguishing over their final exam. Here's a question for all of you techies answering this post:

"The table VenueRoom (RoomNum, VenueID, Name, MeetCapacity, MealCapacity, Comments, ContainedBy) indicates a unary relationship that pertains to a room at a hotel or convention center that can be used for conference sessions. The unary relationship indicates that many such facilities are set up so that one large room can be broken up into several smaller rooms by unfolding collapsing partitions. Thus, a record for a room that is formed as part of a larger room will have the RoomNum value of the larger room in the ContainedBy field of the smaller room. Assume that you are working on a conference and that a certain large room whose Name value is 'Crystal River Ballroom' will be used for a large presentation. Write the SQL query to find the names of all of the smaller rooms that are contained by this room so that you don't assign events to these rooms during the same time." Hopefully somebody will reply so I'll know if anyone got it right.



Posted Tue Dec 06, 2005 8:43 am GMT by Muck
lwestatbus wrote:

Anybody out there know how this algorithm is implemented?

Yes I wrote a multiplayer poker game as the final year project for my software engineering degree.



Posted Tue Dec 06, 2005 8:48 am GMT by lwestatbus
Muck wrote:
lwestatbus wrote:

Anybody out there know how this algorithm is implemented?

Yes I wrote a multiplayer poker game as the final year project for my software engineering degree.


What approach did you take?



Posted Tue Dec 06, 2005 9:08 am GMT by Muck
I’ll dig out the soft copy of my diss tonight when I get home, it’s an inefficient use of my time to re-writing a chuck of it here and now.

EDIT:
Woops missed this.
lwestatbus wrote:

"The table VenueRoom (RoomNum, VenueID, Name, MeetCapacity, MealCapacity, Comments, ContainedBy) indicates a unary relationship that pertains to a room at a hotel or convention center that can be used for conference sessions. The unary relationship indicates that many such facilities are set up so that one large room can be broken up into several smaller rooms by unfolding collapsing partitions. Thus, a record for a room that is formed as part of a larger room will have the RoomNum value of the larger room in the ContainedBy field of the smaller room. Assume that you are working on a conference and that a certain large room whose Name value is 'Crystal River Ballroom' will be used for a large presentation. Write the SQL query to find the names of all of the smaller rooms that are contained by this room so that you don't assign events to these rooms during the same time." Hopefully somebody will reply so I'll know if anyone got it right.


Something like this should probably work:
Code:
 
SELECT
 tblSubRoom.Name As SubRoomNames
FROM
 VenueRoom tblMainRoom, VenueRoom tblSubRoom
WHERE
 tblMainRoom.Name = 'Crystal River Ballroom' AND
 tblMainRoom.RoomNum = tblSubRoom.ContainedBy



Posted Wed Dec 07, 2005 4:37 am GMT by Muck
Dissertation Excerpts covering questions here.


Posted Wed Dec 07, 2005 11:59 am GMT by lwestatbus
Muck wrote:

Woops missed this.
lwestatbus wrote:

"The table VenueRoom (RoomNum, VenueID, Name, MeetCapacity, MealCapacity, Comments, ContainedBy) indicates a unary relationship that pertains to a room at a hotel or convention center that can be used for conference sessions. The unary relationship indicates that many such facilities are set up so that one large room can be broken up into several smaller rooms by unfolding collapsing partitions. Thus, a record for a room that is formed as part of a larger room will have the RoomNum value of the larger room in the ContainedBy field of the smaller room. Assume that you are working on a conference and that a certain large room whose Name value is 'Crystal River Ballroom' will be used for a large presentation. Write the SQL query to find the names of all of the smaller rooms that are contained by this room so that you don't assign events to these rooms during the same time." Hopefully somebody will reply so I'll know if anyone got it right.


Something like this should probably work:
Code:
 
SELECT
 tblSubRoom.Name As SubRoomNames
FROM
 VenueRoom tblMainRoom, VenueRoom tblSubRoom
WHERE
 tblMainRoom.Name = 'Crystal River Ballroom' AND
 tblMainRoom.RoomNum = tblSubRoom.ContainedBy


You get an A. You can use a subquery as well.



Posted Wed Dec 07, 2005 12:16 pm GMT by Muck
Thanks. I think a lot of design comes down to personal preference, I think using two table references is more readable and I’ve encountered some poor support for nested selects in some DBMS’s in the past.





Latest poker forum activity