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 08-21-2007, 07:41 PM
Adrian20XX Adrian20XX is offline
Senior Member
 
Join Date: Dec 2005
Posts: 172
Default 7 Cards Hand Evaluators Using Full Lookup Table

Hi,

I'm in the middle of programming my own 7 Cards Hand Evaluator using the full lookup table, and I'd like to share some ideas and also see what other people think.

The full table lookup that was first mentioned and implemented by mykey1961 and then was implemented and publicly made available by Ray Wooten with a C++ version, both in the great 7 Card Hand Evaluators started by Gullanian.

These are the main ideas I have now:

* Ray's implementation is implemented using the tools for the non table lookup evaluators, this includes tools that are very interesting but all they do is slow up the generation process, this includes things like sorting networks to sort the cards, generating a table of states to be compressed, and so on. The full table lookup solution is a different kind of beast that the normal 7 hands evaluator, and as such needs different tools. It does not need to sort anything, as it can generate all the combos in order. It also does not need to compute any combinadic, because as I just said it can generate the combos in order. I think my version will generate the whole table under one second.

* There are a few more things I'd like to put in the table (probably will not be there on my first implementation). The first one is for the five and six cards states two more things, one is the current hand value (five or six cards), and the other one is the "best evolves to", that says which is the highest hand value that can be generated from this state. This I think will help a lot to evaluators doing enumerations, and it will also help partial analysis (like examining when a hand that was trailing got the lead after the flop.

* The order of the table can matter in the final performance, we might play with the order of the states to improve the results. For example from XXXXY we only go to XXXXY or XXXXZ, so this should be continous states on the array.

* I'm not sure but I think in the real world we might achieve diferent performaces for different "starting decks". The normal starting deck is 2222, that means 2x is 0, 2y is 1, 2z is 2, 2t is 3. The other starting decks I'm interested are Ax Ay Az At and Ax Kx Qx Jx, as I think most enumeration include more high enumerations that low enumerations.

* Beside the norml "suits compression", there is some room for some rank compression on the six cards states. Full Houses with Kickers are PERMUT(13;3)=1716, but in only half of them the kicker can be used for the hand value (for example 88877 discards kickers 6 5 4 3 and 2), so it can be compressed to 858 states. Straights are 78, but it can be compressed to 18 states, 10 for straights and 8 for "straight with kicker" (straight with kicker is for example 6789T kicker Q), this is both for normal straights and flushes. Low cards on 6 cards flushes also can be discarded when they are not going to be part of the final hand value. For example 3 6789 Q discards the 2. And also 2345 78 discards the 2.

Well these are my ideas, I'll post some more as I continue with the code (I'm already in the middle of generating state 5, and I already have more than 2000 lines of code).

Regards ...
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:04 PM.


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