At first I thought Casino Verite would have a tool to do that but I haven't found out how. If that is the case would someone please walkthrough the steps to configure?
If not, any other available software on the market that does this?
Also, I would be willing to explore creating my own program. Pretend I have infinite computing resources. I would be willing to use hadoop clusters and/or CUDA GPU programming to increase resources to meet the program requirement of perfect play in 5 seconds. For reality, let's assume "perfect" may mean a 5 sigma accuracy (99.99999%)
Are there any examples of algorithms (simulation or combinatorial analysis) online or in books which would put me on on the right track to write my own software?
Thank you!
Do you have programming experience? Need some more info to better help you out.
So, if you could find the info you need* or an algorithm to generate it, you could put it in a lookup table and away you go.
* The problem as I see it is determining what the proper play really is for every possible combination of deck make ups and rule sets. How many trials of each combination will give you the accuracy you require?
You may have a need for those infinite computing resources before you ever get started.
Compared to divining the answer to the real question here writing your program will be trivial.
Here's the thread, which might be useful since it links another piece of modifiable Blackjack software.
Quote: weaselmanYou don't need fancy clusters and five sigma accuracy to do this. There is no computational complexity here. A program to calculate what you want could run on a mobile phone. The only problem is it's going to take you way more than five seconds to input the deck composition. No technical complexity either, I can't imagine a first year CS student worth the money he spent on tuition not being able to write it in a few hours.
Assuming a large enough screen to comfortable hold the UI, you could have a picture of all 52 cards on the screen (in suited rows or columns) and just touch the card you want to input. Or, for two touches just 2-A and the suits. Then the counting and deck composition could be handled for you.
But I still stand by that it would be trivial to program the app, it's knowing what the correct play is considering number or decks, rule set, and remaining cards.
"Perfect play" has to compute the following:
You draw an ace, and then it has to determine the "perfect play" based on you having 14 and the dealer showing 4 (and there is one fewer ace in the deck).
You draw a 2, and then it has to determine the perfect play based on you having 15 and the dealer showing 4 (and there is one fewer 2 in the deck).
And so on, with 3 through 7. (Obviously, with an 8, you stand on 21, and with a 9 or higher, you bust.)
Now, when determining what the perfect play is for 14 with dealer showing a 4, you have to repeat this process - what if your second draw is also an ace, what if it is a 2, and so on.
Assuming you have the computing power to do that in five seconds, it's reasonably simple; you need an array to represent the queue of cards you draw. It appears that the method is similar to the one I for one use to determine what the probabilities are for the house getting 17, 18, 19, 20, 21, or busting from a full deck based on up card, the number of decks, and whether the house hits or stands on a soft 17.
On the other hand, if you want to know what the "perfect strategy" is based solely on what your initial two cards and the dealer's up card are (as well as what cards remain in the deck), the real problem isn't figuring it out, but using the information; you need to know what to do for each possible card drawn, then, for when you hit, each possible card drawn after that, and so on.
Quote: FiziksWhat language will you be writing this in? Honestly it shouldn't be that hard as I've written a desktop application that keeps count and suggests moves using BS. You won't need a supercomputer to do it and it might take maybe 60-80 hours to program (without a fancy GUI)
Do you have programming experience? Need some more info to better help you out.
I'm partial to C++. I have experience - computer engineering major and computer science minor. I'm five years our of school and programming isn't something I do everyday, but I've kept fresh over the years.
Quote: MonkeyMonkeyI don't think the five second bit is the tough part. Imagine if you put a BS chart into a 2 dimensional array, the correct play would appear to be found instantly, and even if the chart were an order of magnitude or two larger it would still easily breeze in under 5 seconds.
So, if you could find the info you need* or an algorithm to generate it, you could put it in a lookup table and away you go.
* The problem as I see it is determining what the proper play really is for every possible combination of deck make ups and rule sets. How many trials of each combination will give you the accuracy you require?
You may have a need for those infinite computing resources before you ever get started.
Compared to divining the answer to the real question here writing your program will be trivial.
Yes the algorithm is the key part I need help with. Combinatorial analysis looks like the right approach. I don't believe I can run a simulation each time new information is received quickly enough. Also a look up table for all rule types would be infeasible.