Two Plus Two Newer Archives  

Go Back   Two Plus Two Newer Archives > Internet Gambling > Software
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 12-21-2006, 03:27 PM
Gullanian Gullanian is offline
Senior Member
 
Join Date: Dec 2006
Posts: 1,748
Default 7 Card Hand Evaluators

Hi all, new user but was told this was a good poker forum!

Not sure if this is the right place to post, please move if it is not.

Anyway, I've finished writing a 7 card hand evaluator for poker, and I'm managing to get around 14-15 million hands evaluated per second (14,000 to 15,000 per millisecond). I've had a look around, and is anyone aware of any software that can beat this?

Tests where done on a P4 2.4ghz PC with 1GB Ram.

Thanks for your time!

Tom
Reply With Quote
  #2  
Old 12-21-2006, 05:43 PM
_D&L_ _D&L_ is offline
Senior Member
 
Join Date: May 2006
Posts: 128
Default Re: 7 Card Hand Evaluators

When u say it evaluates hands, what exactly does it do? Solve for the equity value vs a random distribution, a specified distribution, tell you your hands rank, or does some sort of opponent/bidding modelling?

As far as whether I'm aware of faster software? Again it depends what it does. If you just have it look up equity values poker stove caps off at about 100,000 million games a second - but it "cheats" - because it looks them up in tables. If you specify part of the flop, then it slows to about 5-10 million games a second. And if you specify distribution vs. distribution analysis with multiple players it slows a to a crawl, it slows to a few thousand a second.

Because of that I've wrote a poker evaluator as well that is 10,000 faster than poker stove for distribution vs. distribution analysis and partial flop analysis, which i'm using as an engine to try write a bot that approximates Nash EQ play. It lets you specify distribtuions more precisely than pokerstove currently does - which honestly isn't much use to the average poker player. E.g. you can assign any decimal between [0,1] to the probability that when your opponent is dealt XY, he plays XY (or is on XY at that point in time). This allows you to capture the full range of possible distributions. The purpose of my program is to be interacted with by another program, not realy for some human to plug in by hand a bunch of values between [0,1] for each of the 1326 XY combinations.

Anyways, need to know what exactly your program does, if u want to know if something else does it faster. "Evaluation" is an ambiguous term [img]/images/graemlins/smile.gif[/img]
Reply With Quote
  #3  
Old 12-21-2006, 06:40 PM
justkevin justkevin is offline
Senior Member
 
Join Date: Oct 2006
Posts: 203
Default Re: 7 Card Hand Evaluators

I think he means ranks hands-- takes a combination of 7 cards and returns an integer. A better hand has a higher integer value than a worse hand.

A faster evaluator means a faster bot/analysis program etc.
Reply With Quote
  #4  
Old 12-21-2006, 10:49 PM
_D&L_ _D&L_ is offline
Senior Member
 
Join Date: May 2006
Posts: 128
Default Re: 7 Card Hand Evaluators

oh ok. In terms of merely assigning a integer value to a hand ranking i'm getting slightly over 60 million per second. I have a AMD Dual FX-60, 2 Gigs of ram. For purposes of conductnig the evaluation I assigned a static flop and hands to 10 players and fed that repeatedly to my "determine winner" function which ranks all 10 hands.

The determine winner function contains no memory of the previous hand fed to it, so its like receiving a new hand, but it isolates the processing time, from the time it takes to generate new hands, etc....

I could write a function that is about 1000x faster but the memory requirements would increase 10 fold. Right now it uses about 200 Mbs of memory.

Well, I would still say yours might be faster than any available commercial software, (I think mine are). If anyone has serious intentions on making commercial or proprietary software using these types of algorithms they can contact me. Right now i'm using mine to design bots.
Reply With Quote
  #5  
Old 12-22-2006, 09:02 AM
DonkBluffer DonkBluffer is offline
Senior Member
 
Join Date: Aug 2005
Posts: 1,597
Default Re: 7 Card Hand Evaluators

I'd be very interested in a program where you could put a player on a preflop range, choose a flop, and let the program calculate how often the player would have flopped every possible combination. (Top pair, a gutshot, top pair AND a gutshot should be different combinations, so the total adds up to 100%, if you know what i mean)

I don't know if such a thing exists, but you guys seem to know a lot about programming.
Reply With Quote
  #6  
Old 12-23-2006, 02:34 PM
Gullanian Gullanian is offline
Senior Member
 
Join Date: Dec 2006
Posts: 1,748
Default Re: 7 Card Hand Evaluators

D&L:

I find 60 million per second extremely impressive. Because you are on dual core, we can cut that in half and say 30 million per second, which is still a darn sight faster than mine.

Just to clarrify:

The problem is, to take in 7 UNORDERED integers (0-52) representing a hand, and convert them into a ranking which can be compared with other hands ranking to quickly determine the winner. I can't cap 13.5million per second! Is this what your evaluator does?
Reply With Quote
  #7  
Old 12-23-2006, 03:15 PM
Gullanian Gullanian is offline
Senior Member
 
Join Date: Dec 2006
Posts: 1,748
Default Re: 7 Card Hand Evaluators

Update: Managed to get it to nearly 15 million per second.
Reply With Quote
  #8  
Old 12-23-2006, 03:48 PM
bachfan bachfan is offline
Senior Member
 
Join Date: Nov 2005
Posts: 196
Default Re: 7 Card Hand Evaluators

[ QUOTE ]
Update: Managed to get it to nearly 15 million per second.

[/ QUOTE ]

This is similar to my numbers on propokertools , although ranking a 7-card hand is not what my code spends most of its time doing these days.

I might try and whip something up faster for fun in the next few hours.

Cheers,
bachfan
Reply With Quote
  #9  
Old 12-23-2006, 03:52 PM
bachfan bachfan is offline
Senior Member
 
Join Date: Nov 2005
Posts: 196
Default Re: 7 Card Hand Evaluators

[ QUOTE ]
[ QUOTE ]
Update: Managed to get it to nearly 15 million per second.

[/ QUOTE ]

This is similar to my numbers on propokertools , although ranking a 7-card hand is not what my code spends most of its time doing these days.

I might try and whip something up faster for fun in the next few hours.

Cheers,
bachfan

[/ QUOTE ]

Oops, off by a factor of two. I'm closer to 30million on one core of a core duo 1.6ghz. This is JUST the compute ranking function.

- bachfan
Reply With Quote
  #10  
Old 12-23-2006, 08:08 PM
Gullanian Gullanian is offline
Senior Member
 
Join Date: Dec 2006
Posts: 1,748
Default Re: 7 Card Hand Evaluators

So, to clear things up, your program can work out the rank of a hand given to it in any order, IE given random unordered set of 7 integers it can work out 30 million of them per second? Or as a pre condition must they be ordered?
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 11:35 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.