Download bbjd
bbjd is a tool to calculate the optimum strategy playing Blackjack. This program may be used to prove that playing Blackjack, it is possible to beat the dealer under certain conditions. As far as I know, Blackjack is the only game offered by casinos, where it is mathematically provable, that under certain conditions it is possible to win on the long term. This program was written in 1992 during my studies of physics for a seminar about probability calculations.Version 1.0.0: first working release, written in 1992.
Version 1.0.1: has been adopted for public and released in 1998.
Version 1.0.2: A web interface has been added in 1999 using Perl as glue between cgi and bbjd.
Version 1.0.3: Some bugs in the user interface have been fixed. Thanks to Jiang Tang for reporting them. The web interface now also works with Lynx.
Version 1.0.4: Relaunch of the website in 2008. Added a simulation interface. Dynamic pages now make extensive usage of AJAX technology. Now Python is used to glue bbjd to the web, instead of Perl.
Download the sources here (~16 kB). The following executables can be build:
- bbjd: tool to calculate probabilities and expectations interactively.
- basicbbjd: the same as bbjd but for the basic strategy.
- simbj: simulation of a Blackjack player using the best strategy.
- basicsimbj: the same as simbj but for the basic strategy.
Disclaimer
bbjd may be used to understand and to learn the strategies of how to beat the dealer. The sources are published under the GNU Public License which means that this program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
This program should work on every computer younger than myself. The only tools you require are a C compiler. The probability calculator (the heart of bbjd) has no dependencies, not even to the standard C library. Minor modifications to the Makefile may be necessary. It is as easy to compile bbjd as a simple helloworld program, so don't ask me any questions on how to build it on your architecture.
Bugs
This program has been released to public in 1998. Since then it has been downloaded a few times daily. Nobody ever reported a bug, except for the interface of bbjd. I therefore assume that the mathematical engine of the program is bug free.Guarantee
I will pay 100 US Dollars to the first person showing a bug in the mathematical engine, ie.probability.c of bbjd.Accepted bugs are: i) when bbjd crashes or shows bogous results using correct input as allowed by the API as defined by
probability.h.ii) When the decision maker of bbjd instructs the player to do wrong decisions, such as buying, staying, doubling or splitting.
Not accepted bugs for the offered guarantee are: iii) Wrong results caused by rounding errors on your hardware.
iv) bugs in the user interface of bbjd.
A bug of type ii) is accepted, if the assumed Blackjack rules are the same as used by bbjd. In order to prove that an alternative solution makes better mathematical decisions than bbjd, one must provide a solution using an API compatible to simbj. The alternative solution must show a considerabely higher total gain than bbjd after at least 10 million simulated games with exactely the same content in the shoe.
This offer is voluntary and no legal claims can be derived from this guarantee, therefore no law is applicable. I will publish the name of this person and/or add a link to a page of his choice.
Manifest
Even if this explanation demonstrates that it is possible to win on the long term playing Blackjack, do not believe that you can do your earnings or even become rich with it. Why?Assume you play at a casino where the minimum bet is one Dollar and the maximum bet is 100 Dollars. By playing 60 games you will earn about 5 Dollars - per hour! This is a statistical number, sometimes you will earn a few hundred Dollars, sometimes you will loose a few hundred. But the average is less than 5! Tips, drinks and specially mistakes from your part are not included in these statistics.
With a total Expectation above zero you must bet high, otherwise this strategy won't work. But betting high means that you also take a high risk to loose all your capital. Therefore playing Blackjack according to any winning strategy means: Low earnings and high risks!
Check the simulation on this site, or try out simbj included in this package. simbj is a program to simulate a Blackjack gambler using the strategy described here. Examine the results from simbj and you will see that even if you have a moderate advantage over the dealer, there is no way to become rich through gambling.