Your ideas are truly excellent. I will need to work on it to be able to apply this at different stages in the hand lifecycle (pre-flop, flop, turn, river), but, very well done anyway - you have found a good optimisation strategy indeed!

Update: Just spotted one hole that I thought had been covered in this but seems to be there after all. For example, there are 48 ways to get four aces but only 20 7-high flushes. Therefore a holding of say full house has to take into account the number different ways to land on each rank above or below it or at least take into account the cumulative sum of all possible ways up to current rank and divide that by the (constant and known) number of all possible combinations.

But I could for example calculate the number of possible hands at each rank by a cut-down combination operation and feed that in instead of doing your ++ iterative approach - this changes things a bit so I need to do further work on this algorithm even so.

More update - actually that wasn't quite the right example. I should have been talking about exact rank, i.e. for identical hands. Here is a better one: There are only four combinations (and 480 permutations) of 7 5 4 3 2 suited, but there are 1020 combinations (and 122400 permutations) of the same hand unsuited. These might be unique by the reduced iteration but do not therefore have equal likelihood.

-M

Free your mind


In reply to Re^2: Optimising combinatorial iterations by filtration by Moron
in thread Optimising combinatorial iterations by filtration by Moron

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.