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-24-2006, 02:32 AM
_D&L_ _D&L_ is offline
Senior Member
 
Join Date: May 2006
Posts: 128
Default Re: 7 Card Hand Evaluators

Yeah, i don't think anything exists for that right now. It would take me about 3-7 days to transform my program into something that could do that...as well as adding a decent user interface to edit distributions (right now I use access).

If someone with (proven) experience in publishing share-ware like programs wanted to co-publish a program like this with me, I could probably be talked into doing it. As I said elsewhere in this thread, I'm not a programmer by trade. I have difficulty getting my program to run on other systems, don't know how to create an installation package, and i would want to protect my databases (part of my algorithm) from being hacked and used for other un-liscensed purposes, etc.
Reply With Quote
  #8  
Old 12-24-2006, 03:15 AM
Phil153 Phil153 is offline
Senior Member
 
Join Date: Oct 2005
Posts: 4,905
Default Re: 7 Card Hand Evaluators

[ QUOTE ]
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

[/ QUOTE ]
I call BS. It may be faster than pokerstove in very specific situations, but for the majority of analyses I doubt there's much difference.

And anything that requires a 200MB database on disk is not commercially viable except as a web application, a market which propokertools has pretty much owned. Sorry.

Anyone can generate the lookup tables required for a blazing fast algorithm, so I don't know how you claim that PokerStove "cheats" by using them, when that's exactly what you use. You can only do about a billion bitwise (and, or, xor), comparison, or iteration operations a second, and without lookup tables you'll never get a reasonable speed using any algorithm.
Reply With Quote
  #9  
Old 12-24-2006, 04:16 AM
_D&L_ _D&L_ is offline
Senior Member
 
Join Date: May 2006
Posts: 128
Default Re: 7 Card Hand Evaluators

Phil why are you hostile? Did I ever say the world needed a poker stove that was 10,000 times faster? In fact, you gloss over the fact I said the exact opposite, because you want to pick a fight.

I didn't design my program to be the next poker stove, i designed it for speed - to be used in high end bots that i work on, or game theory software, which is pretty much the same thing.

BTW i'm not a programmer, and haven't worked on these algorithms in over a year, so i mistook how much memory they used. I said 200mb, that was an earlier version, I double checked, they use about 15MBs. My original version was 8 gigs of hd space...so i've made lots improvements over time.

Anyways, do i fault poker stove for using "lookup tables" - of course not. I use them too. My point - which u missed, because u want a fight - was that if a result is not on the lookup table, the program slows considerably. From 100,000 million games a second, to 5,000. The difference being is that for my algorithm no result is "off table."

-Dirty & Litigious
Reply With Quote
  #10  
Old 12-24-2006, 11:03 AM
Andrew Prock Andrew  Prock is offline
Senior Member
 
Join Date: Sep 2002
Location: oakland
Posts: 346
Default Re: 7 Card Hand Evaluators

5,000 per second? On what platform? The slowest it ever goes for me about 500,000 evals per second.

- Andrew
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 01:36 AM.


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