mkl54321@yahoo.com wrote:
> Unfortunately, there's no real shortcut.
I don't know how to say this without coming across as a
bit abrupt, so I'll just blurt it out. You don't know what you
are talking about. You've never actually written a program
to evaluate poker hands, have you? Perhaps you missed
the part where he asked "... from those that have done this..".Actually, I've written FIVE of them, two in Basic, one in Cobol, one
in assembly language, and one in C. The most recent one was written
over ten years ago. So I'm sorry, but I DO know what I'm talking
about. The consideration of not regarding different-ordered draws of
the same cards as unique is so obvious, I never considered it
a "shortcut". The only other "shortcuts" would involve telling the
program to consider all draws at certain points as equal, for
instance drawing to a 3SFDI in JOB; if for instance the draw is to
468 of clubs then all first cards that are not a club, a
4,5,6,7,8,J,Q,K, or A render the fifth card moot. So allowing the
program to realize this situation when it occurs, presuming it was
using the "brute force" method, would spare it the "trouble" of
evaluating that many equivalent (and losing) results. When I wrote
my programs, the fastest thing around was a 286. I HAD to code in
evaluations of certain draws--pruning the search tree as it were--so
that the already painfully slow process didn't take an eternity. My
point about there being no real shortcuts in the present--and I see
once again that I should have SPELLED OUT what I was saying in VERY
SHORT WORDS, making my point CRYSTAL CLEAR--is that the processor
speeds available make it easier to write and run a "brute force"
evaluation program rather than a "smart" program that prunes its own
logic trees, simply because the time spent in doing the extra coding
won't be repaid in the faster running of the program. The more
sophisticated program WILL run faster---but the difference will be
measured in seconds, not hours as was in the days of the 286. If you
are someone who writes code for a living, you may be appalled at the
inelegance and inefficiency of the brute force algorithm--but it
WILL work, and work adequately. To make an analogy, you can toast a
marshmallow over a campfire, or with a flamethrower; the fact that
the flamethrower is undoubtedly more efficient at the task doesn't
mean it's the best choice for the job.
MKL had done a good job of explaining how a hand is analyzed and why there is no viable shortcut beyond combining logically equivalent cards.
His point that the speed of modern computers makes it easier to write "brute force" analysis programs is significant. There's no longer any point in trying to do anything short of going through every possibility to calculate a precise result. Any modern computer can go through those millions of calculations in less than one millisecond.
Thanks to Yuri Sorkin's innovations and programming skill, our new program, Precision Video Poker, can do a complete game analysis in about one second on a 1 GHz computer with no sacrifice in accuracy. There is probably no point in anyone trying to do it any faster.
In spite of the improvements in technique, there will never be an "elegant" way to analyze a hand for more than one- or two-card draws, or to analyze a game more complex than Double Down Stud (and possibly Pick 'em), on a pocket calculator. There are just too many variables.
Dan
···
--
Dan Paymar, author of the book, "Video Poker - Optimum Play"
Editor and Publisher of "Video Poker Times" newsletter
Web site at http://www.OptimumPlay.com
"Chance favors the prepared mind."
-- Louis Pasteur