We've only run 7 billion hands so far, but we're finding something interesting I didn't expect.
Double deck, Basic Strategy, DAS allowed, Dlr hits S17, no surrender, 1 card on split aces, cut card 45 from end:
4 players at table: EV=-.428%
1 player at table: EV=-.443%
Based on the t-test, 95% confidence the difference is real. The difference is only 1 bet every 7,000 hands but I'm having trouble believing playing with others at the table makes any difference. Has anyone else run a similar analysis?
p.s. Do not trust Microsoft random number generator! It is not good enough for things like this.
We also see a slight sensitivity to deck penetration. One thought I have is that when the cut card comes out, there is deeper penetration on that last hand with more players in the game and that makes an iota of a difference. Sorry if that is restating your comment in different words.
We were hoping to match the WoO house edge calculator before we turn on more advanced features.
1 player: -0.4567
4 players: -0.4436
As a comparison:
Mike’s online calculator: -.45688
BJTF online calculator: -.456
Lots of lousy PRNGs. They've caused problems for some scientific studies.Quote: LouisTrezp.s. Do not trust Microsoft random number generator! It is not good enough for things like this.
Quote: LouisTrezThanks QFIT!! A quick 20 billion. Love it. Is that a proprietary program you're using?
I try to avoid mentioning my software. CVData. A billion rounds for normal counting takes 30 seconds on my PC.
Quote: QFITA billion rounds for normal counting takes 30 seconds on my PC.
Very impressive QFIT. Do you care to share how you are generating your random numbers?
Quote: LouisTrezVery impressive QFIT. Do you care to share how you are generating your random numbers?
A customized version of MarZam II. The MarZam II PRNG has a period so long, that if you started a PC generating numbers as fast as it could at the beginning of the Universe, it will not yet have repeated, and it passes the Diehard tests.
Quote: LouisTrezI'm curious about your setup for basic strategy with cut card. I assume this is based on a simulator after a gazillion hands (millions is not enough). Where do you have the cut card for a double deck game and how many players at the table? Our simulator is in the ballpark but a little different than yours. Thanks in advance.
I think I put it at 75% for two or more decks. 50% for one. Strangely, I find I find no correlation between cut card placement and house edge as long as it isn't so shallow that the number of hands per decks is almost always the same. To be honest, I have never understood why this is. Perhaps QFIT can shed some light.
https://www.blackjackincolor.com/blackjackeffects1.htm
you will see that the effect occurs in the final rounds. I assume what's important is not simply the penetration, or number of players; both of which would alter the ratio of normal rounds versus affected rounds. Indeed, if there are multiple players, it doesn't matter which seat you choose. What likely matters is the happenstance of the variation of numbers of rounds. That depends on number of players and how they play and wouldn't be linear. That's just a guess. It would take a few trillion rounds to examine -- and wouldn't provide any useful AP info. Which is a long way of saying: "I don't know". :)
Quote: QFITA customized version of MarZam II. The MarZam II PRNG has a period so long, that if you started a PC generating numbers as fast as it could at the beginning of the Universe, it will not yet have repeated, and it passes the Diehard tests.
QFIT it appears you are a respected expert in BJ simulation. We think our project is suffering RNG blues. Will need to dig further to find MarZam II but what do you think about KISS? Also have you ever tried a TRNG service like random.org?
Custom code your own. I compared a bunch of them for speed compiling with gcc - you can easily get 5x the speed of Mersenne Twister with some of these.Quote: LouisTrezWe think our project is suffering RNG blues.
https://en.wikipedia.org/wiki/List_of_random_number_generators
The Big Crush tests are far more strenuous than the Diehard tests, but Diehard is good enough. In particular, the xorshifts are easy to code, pass nearly every Big Crush test and are very fast.
"A naive C implementation of a xorshift+ generator that passes all tests from the BigCrush suite (with an order of magnitude fewer failures than Mersenne Twister or WELL) typically takes fewer than 10 clock cycles on x86 to generate a random number ..."
Quote: QFITMersenne Twister should probably be adequate.
Well, we are now using Mersenne Twister and after 4 billion hands we are again converging on EV of -0.443%. I wonder if Swift is already using MT. Anyway, still statistically different than your -0.457%.
QFIT - I understand you don't care too much about BS edge, but we are sticklers for detail. Do you mind if I send you a private message?
Quote: QFITE-mail support@qfit.com. I prefer to centralize my correspondence.
how long before this pops up down the block at the Losers Lounge?
Quote: QFITBut, my e-mail has been public for 24 years. Pretty much every AP knows it. After all those years, I have only one e-mail troll.
I wonder who that could be.
Quote: LouisTrezp.s. Do not trust Microsoft random number generator! It is not good enough for things like this.
Here is my C# code that uses cryptographically strong pseudo random numbers to shuffle a deck:
public static void Shuffle<T>(this IList<T> list)
{
RNGCryptoServiceProvider provider = new RNGCryptoServiceProvider();
int n = list.Count;
while (n > 1)
{
byte[] box = new byte[1];
do provider.GetBytes(box);
while (!(box[0] < n * (Byte.MaxValue / n)));
int k = (box[0] % n);
n--;
T value = list[k];
list[k] = list[n];
list[n] = value;
}
}
Quote: gamerfreakHere is my C# code that uses cryptographically strong pseudo random numbers to shuffle a deck:
Thanks gamerfreak. So what EV does your simulator converge on for 1 player and 4 players with rules as above?
Quote: LouisTrezThanks gamerfreak. So what EV does your simulator converge on for 1 player and 4 players with rules as above?
Still need to flesh out my program more, I have a solid card/deck objects created, and most of a blackjack game.
I still need to implement Splitting/Surrendering and a strategy class, then I should be able to run accurate simulations.
Quote: gamerfreakI still need to implement Splitting/Surrendering and a strategy class, then I should be able to run accurate simulations.
What say you gamerfreak? Are you getting the same number as qfit? I'm seeing numbers all over the map out there.
qfit, I found this one from your site calculator
If I calculate for the above rules I get EV=-.38% (please check me)
and from Arnold Snyder's blackjackforumonline
EV=-.31 - .20 (H17) + .14 (DAS) = -.37%
These are more in line with what our new simulator is converging to. As you can see, I'm kind of obsessed with finding the "right answer". What if those who came before us left us with pi=3-1/8 or e (natural log base)=2.7 or Avogadro's constant = 6x10^23. We would be screwed!!
I cannot sleep until we have put this to rest. What say all you smart people?
p.s. How do you post links here??
Arnold's calculations are based on numbers from 1983, do not take into account the CCE, and ignore interactions between rules. You cannot simply add rule effects since they interact with each other.
Update: I just replaced the QFIT calculator with the newer one.
How about this one. I am running an analysis of 4-card 16 vs. 10 to see which has the better EV: Hit, Stand, or "Rule of 45". I usually use the WoO Hand Calculator for each permutation, but it seems to crash on all combinations with 2 aces. I have seen another Hand Calculator somewhere but can't find it now. Do you know another one?
fyi, here's the results I get now for 4-card 16 vs. 10 including the permutations with 2 aces (double deck, 1st hand after shuffle):
STAND -54.26%
HIT -54.99%
"Rule of 45" -54.20%
So if my math is correct, the "Rule of 45" edges out STAND but the difference is only about 1 bet in 1,741 hands so it's value is more in a trivia contest than real life.
Quote: JBBy the way, i]here is another good blackjack calculator.
Yes, that's the other one I was looking for! Thanks JB
Quote: gamerfreakHere is my C# code that uses cryptographically strong pseudo random numbers to shuffle a deck:
I would say that your routine, as other people's before it, randomizes the deck(s) rather than “shuffles” it (them). With this routine there is a chance that the top card of the deck before the randomization could appear on the bottom of the deck after the randomization. This doesn’t happen after one riffle shuffle (or even two or three).
Technically this routine could completely reverse the deck’s order which is not possible in a riffle shuffle, a wash, or via continuous shufflers. (Yeah, someone’s going to try to prove me wrong on this point.)
I would like to see a routine that models:
- washing cards
- a riffle shuffle with n decks
- various continuous shufflers
I’d have a go at it but I haven’t programmed in 17 years, don’t have a need for one, and have too many programming projects that I am already not creating.
Steven
If anybody knows of a true shuffle routine, we would be interested.
Quote: QFITMy experimentation and that of others shows otherwise. My configurable real shuffle routines provide the same results as random shuffles.
I can see how that would all come out in the wash after 20 billion cycles. But have you ever seen/performed a "small sample size" study? Just thinking out loud here, maybe compare a billion 3-shoe results, random vs. shuffled and see if the shuffled have a higher standard deviation. Wouldn't that indicate "streakier" results? Or am I crazy on that?
Now, if you're a shuffle-tracker, that's a different story. You are essentially manipulating the result of the shuffle by cutting in a prescribed spot and adjusting the counts accordingly.
Quote: JBBy the way, here is another good blackjack calculator.
Instead of online calculator : https://wizardofodds.com/games/blackjack/hand-calculator/, is it possible to download?(or buy it) this BJ calculator and run it without internet connection ?
I need a BJ hand calculator that can analyze BJ hands WITHOUT internet connection.