rmwlaw
rmwlaw
  • Threads: 2
  • Posts: 18
Joined: Jul 23, 2014
March 26th, 2015 at 11:54:31 AM permalink
I truly appreciate that the main website includes appendices, specifically one that was really helpful the other day, Appendix 7 - Effects of Removal.

I have been playing around with the math behind different counting systems, and using Griffin's EORs from TTOBJ, the Betting Correlation Coefficients that I was generating would come close to those I generated online over at blackjacktheforum.com.

I found Appendix 7 here, and I inserted the EORs for my BC spreadsheet, and the results were a significantly closer to the EORs that I was able to generate with the online efficiency calculator at that other site.

However, a note to Appendix 7 specifically states:

These numbers were based on infinite deck, dealer stands on soft 17, double on any two card,
double after split, split only once, and strategy adjustments for the changed deck composition.

I am posting this in order to solicit assistance from anyone who can provide me the formulas to generate EORs on my own (Griffin simply states what he believed were the correct EORs), and also, if anyone has a complete set of EORs for Hit 17 games, infinite deck, to request a copy.

I am spreadsheet oriented (helps me learn and internalize mathematical tasks, including how I learned basic strategy and indices to various counting systems).

Thanks for any help that can be shared.
charliepatrick
charliepatrick
  • Threads: 39
  • Posts: 2946
Joined: Jun 17, 2011
March 26th, 2015 at 12:07:37 PM permalink
Sorry I don't have that - but one way might be to create an infinite deck based spreadsheet but instead of assuming 1/13 for each card use a table with (say) how many cards are in each of the infinite decks - e.g. 4 Aces, 4 Kings.... 4 Twos, then adjusting the card numbers. btw does this seem a realistic way to do it?
rmwlaw
rmwlaw
  • Threads: 2
  • Posts: 18
Joined: Jul 23, 2014
March 26th, 2015 at 12:18:05 PM permalink
Thanks for the quick comment. I truly don't know how to calculate EORs. That's why I posted here, hoping that someone else knows how to do this, and could provide me the information so that I can generate a (or many if appropriate) spreadsheet to learn.

Could you lead me in the right direction so that I can learn how to create an infinite deck spreadsheet? And how to manipulate it once created?

Who knew that EORs were game specific (S17 or H17), as implied by the note on Appendix 7.
Gabes22
Gabes22
  • Threads: 15
  • Posts: 1427
Joined: Jul 19, 2011
March 26th, 2015 at 1:18:30 PM permalink
https://wizardofodds.com/games/blackjack/calculator/
A flute with no holes is not a flute, a donut with no holes is a danish
rmwlaw
rmwlaw
  • Threads: 2
  • Posts: 18
Joined: Jul 23, 2014
March 26th, 2015 at 1:22:48 PM permalink
Quote: Gabes22

https://wizardofodds.com/games/blackjack/calculator/


Not looking for calculation of house edge based on playing conditions.

I am trying to learn how to generate EORs, or at least gain information or copy of spreadsheet that someone has already generated to calculate EORs.
Romes
Romes
  • Threads: 29
  • Posts: 5602
Joined: Jul 22, 2014
March 27th, 2015 at 6:31:15 AM permalink
Quote: rmwlaw

No looking for calculation of house edge based on playing conditions.

I am trying to learn how to generate EORs, or at least gain information or copy of spreadsheet that someone has already generated to calculate EORs.


While plausible to do the math (as the original 4 horsemen kind of did to come up with basic strategy) most EOR's are found by simulation. Essentially get a deck, remove a card, play a billion hands, and the results should converge to a number. Now do this for every other card in the deck and compare. Then you know how much each cards EOR is.
Playing it correctly means you've already won.
rmwlaw
rmwlaw
  • Threads: 2
  • Posts: 18
Joined: Jul 23, 2014
March 27th, 2015 at 6:39:37 AM permalink
Quote: Romes

While plausible to do the math (as the original 4 horsemen kind of did to come up with basic strategy) most EOR's are found by simulation. Essentially get a deck, remove a card, play a billion hands, and the results should converge to a number. Now do this for every other card in the deck and compare. Then you know how much each cards EOR is.


Well, Griffin had EORs listed in The Theory of Blackjack, and Michael Shackleford has them in Appendix 7, but notes that they were generated for S17, infinite decks.

Based on the EORs posted on the Wizard of Odds website, I was hoping that someone my be able to provide me the formula to generate EORs for different games (S17, H17, 1D, 2D, 4D, 6D, 8D) and differing rules (DAS, LS, RSA, etc.).

So, there must be some non-complicated highly theoretical formula to accomplish my goals with either spreadsheets or other software. I am trying to get the EORs to be as accurate as possible for different games (never mind variants of BJ - Spanish 21, BJ Switch, etc.).
Dieter
Administrator
Dieter
  • Threads: 16
  • Posts: 5563
Joined: Jul 23, 2014
March 27th, 2015 at 6:52:59 AM permalink
Quote: rmwlaw

I was hoping that someone my be able to provide me the formula to generate EORs for different games (S17, H17, 1D, 2D, 4D, 6D, 8D) and differing rules (DAS, LS, RSA, etc.).



They're almost always experimentally determined (via simulation), rather than calculated.

The calculations would be impractical, even with modern high speed computers.
May the cards fall in your favor.
rmwlaw
rmwlaw
  • Threads: 2
  • Posts: 18
Joined: Jul 23, 2014
March 27th, 2015 at 6:57:32 AM permalink
Dieter,

Thank you.

I suspect you understand my confusion since Appendix 7 was posted and identifies those EORs for S17 game, infinite decks. Wanted to get more accurate information on EORs to generate accurate BC, PE and IC calculations for counting system I am looking at using, but modifying.

Thanks.

If Mike Shackleford used a simulator or some other application, I would appreciate that information, so that I can look into purchasing that or something similar.
Romes
Romes
  • Threads: 29
  • Posts: 5602
Joined: Jul 22, 2014
March 27th, 2015 at 6:59:30 AM permalink
Quote: rmwlaw

...So, there must be some non-complicated highly theoretical formula to accomplish my goals with either spreadsheets or other software. I am trying to get the EORs to be as accurate as possible for different games (never mind variants of BJ - Spanish 21, BJ Switch, etc.).


There's a very simple way... write a program. As a programmer (writing my own blackjack application to test my spread, bankroll requirements, etc, etc) one could simply write a program that plays hands of blackjack and keeps track of the stats. Then allow the user to enter the rules of the game (# of decks, hit/stand 17, etc, etc). This way whenever you had a question about a game, simple pull up the application, plug in the specific rules, and the program will play a "billion hands" and come back with your numbers as they converge.

This is how most people find the EORs for cards, then they post the results. The math formulas are exceedingly detailed and it would take years part time to do every single card. I want to say I recall reading Mike wrote a program to do his EORs, but don't quote me on that.
Playing it correctly means you've already won.
rmwlaw
rmwlaw
  • Threads: 2
  • Posts: 18
Joined: Jul 23, 2014
March 27th, 2015 at 7:27:26 AM permalink
Quote: Romes

There's a very simple way... write a program.
...
I want to say I recall reading Mike wrote a program to do his EORs, but don't quote me on that.


Exactly why I was asking if anyone could provide me direction on how to do this via spreadsheet, or if there was an application that I could purchase. I guess getting a program if it was already created would be helpful.

I am willing to learn how to program (what language would work best and fastest for compiling and running valid RNG, as may prove necessary for other purposes I am exploring). Are there libraries or modules already available to help with the process? If so, where does one find them?
Romes
Romes
  • Threads: 29
  • Posts: 5602
Joined: Jul 22, 2014
March 27th, 2015 at 7:50:20 AM permalink
Quote: rmwlaw

Exactly why I was asking if anyone could provide me direction on how to do this via spreadsheet, or if there was an application that I could purchase. I guess getting a program if it was already created would be helpful.

I am willing to learn how to program (what language would work best and fastest for compiling and running valid RNG, as may prove necessary for other purposes I am exploring). Are there libraries or modules already available to help with the process? If so, where does one find them?


I've programmed in numerous languages (Java, C, C++, C#, VB, VB.NET, etc) as well as used many scripting languages, etc, etc. Honestly, I'm writing my application using purely JavaScript. You don't need any kind of programming environment to even do that. All you need is Notepad on your computer (hopefully an upgraded version because once you save the document as HTML it colors the tags). Also, JavaScript is client side, where as most programs have to call back to a server to run code. So most JavaScript applications appear to be 'instant' because there's no delay for a callback to the server to run the server side code. I also personally believe JavaScript is very easy to learn (not because I'm a developer but because I can compare it to other languages), and I know for a fact there's endless support documents online (if you're having a problem just type "how do I do X in JavaScript" in Google).

Do note you need to know a little HTML though for the interface, as well as calling your main JavaScript function. HTML is joke easy to learn though, took me less than a week and you can find fantastic tutorials all over the internet (might I suggest www.w3schools.com for BOTH HTML and JavaScript tutorials).
Playing it correctly means you've already won.
rmwlaw
rmwlaw
  • Threads: 2
  • Posts: 18
Joined: Jul 23, 2014
March 27th, 2015 at 8:03:05 AM permalink
How quickly does JavaScript run a decent RNG? I am interested in learning how to generate a simulator for analysis of counting methods. Would C++ be better positioned for that type of processor intensive application?

Are you familiar with combinatorial analysis? Have to do some research, and see if that would be applicable, and if so, beneficial to some of the projects on the mydo (nothing from the honeydo) list.
Romes
Romes
  • Threads: 29
  • Posts: 5602
Joined: Jul 22, 2014
March 27th, 2015 at 8:09:20 AM permalink
Quote: rmwlaw

How quickly does JavaScript run a decent RNG? I am interested in learning how to generate a simulator for analysis of counting methods. Would C++ be better positioned for that type of processor intensive application?

Are you familiar with combinatorial analysis? Have to do some research, and see if that would be applicable, and if so, beneficial to some of the projects on the mydo (nothing from the honeydo) list.


JavaScript has an inbuilt function called "random()" which provides you back with a 'random number.' I put it in quotes because technically no piece of software can compute a pure, 100% random number. It's only 99.999999% random, so good enough for me =). Basically you just call this random number function to get a random number back, and it's essentially instant.

Yes, I had upper level math/stats classes in college. Math is surprisingly easy to program as it's set mathematical functions/processes. A very, very, simplistic example of this would be if you wanted to write a program for someone to figure out X + Y, where X and Y were user entered. You program the JavaScript to take the two and add them (now in your combinatorial analysis you would have to program it to do that), but the point is there's steps and all you have to do is program each step once, then each time the program is run all you do is feed it inputs and it does the rest of the work (near instant on JavaScript client side). Again, if you're thinking about programming it, chances are someone else already has or has already tried as well. You might even be able to find functions others have posted to do the math you want, or at the very least you can find pages with inbuilt functions you can leverage to again make the process easier.
Playing it correctly means you've already won.
rmwlaw
rmwlaw
  • Threads: 2
  • Posts: 18
Joined: Jul 23, 2014
March 27th, 2015 at 8:12:27 AM permalink
Sounds great.

Where would I find functions that others have posted, or the pages with inbuilt functions that might be leverageable?

Truly appreciate your assistance.
Romes
Romes
  • Threads: 29
  • Posts: 5602
Joined: Jul 22, 2014
March 27th, 2015 at 8:51:48 AM permalink
Quote: rmwlaw

Sounds great.

Where would I find functions that others have posted, or the pages with inbuilt functions that might be leverageable?

Truly appreciate your assistance.


There's tons and tons of "native," or inbuilt functions. I just typed JavaScript built in functions in google and found a page with a list: http://www.tutorialspoint.com/javascript/javascript_builtin_functions.htm ...Past that it's actually more economical of your time to simply try to program what you want, and when you get stuck, then google about your specific problem. There's no point in going through thousands of native functions looking for the ones you want and wasting your time reviewing all the other (although the more you know the better programmer you become in the long run).

You'll find others code from googling... Stackoverflow is a PHENOMENAL site with a lot of smart people whom post problems/code solutions all the time. When I get stuck programming I simply google what I'm trying to do in the form <programming language> <problem>... so example: "JavaScript random number generator" would be my google search. Usually when googling programming questions Stackoverflow pops up near the top and I would recommend checking those pages out first as they've very reliable and have tons and tons of good info. Quite often when someone asks a question others will respond with code. Usually they're snip bits, but sometimes they're full functions that you could just copy to your code and utilize.

If you're serious about doing this you should first just stick to learning HTML and JavaScript (which honestly isn't too difficult - the w3schools link I sent you is a great reference with a great tutorial). Once you've learned those two then worry about googling and finding others code =P.
Playing it correctly means you've already won.
  • Jump to: