AB Software Design - Programming, localization, testing
Blyss: Deals Generator, Deals Viewer and Probability Analyzer
The Deals Generator function of Blyss generates random deals subject to user-specified constraints. These deals are stored in a PBN (Portable Bridge Notation) file and can be played with any bridge program supporting PBN format or viewed with the Deals Viewer function. The Probability Analyzer function generates random deals that are analyzed in real time, searching for specific card distributions in order to estimate probability of a bid situation.
A full featured trial version of Blyss is available for download. A version localized in Italian is also available.

Blyss: Deal Generator function
Deal Generator allows selection for any player of any number of specific cards, input of desidered length of suits, HCP and distribution points range or value. Thanks to graphical user interface, actual cards visible on a deck can be selected, instead of the card codes used by most other generators. Deals are then generated randomly and tested to match the specified deal. Deals testing is done on the fly, wasting no RAM to store non-matching deals. The requested number of matching deals are stored in a PBN file. This is a fast generator: with a 1.6 GHz processor, the number of deals tested per second can be over 250,000.

Data input mode
The Deal Generator has two basic data input modes: Standard and Wildcards. In Standard mode suit lengths are input numerically, with a minimum and a maximum value. Any specific cards can be selected from center deck by clicking on them before inputting suit lengths, HCP and distribution points for each player.

In Wildcards mode, instead of inputting maxima and minima for suit lengths, all hands can be graphically defined by selecting from 15 different types of wildcards, which is more flexible and visually descriptive than inputting min/max suit lengths. Specific cards can also be selected.
A final summary "card" is added to each player's hand, listing selected HCP, distribution points and suit lengths.
When the cards and data each player and the number of matching deals (1 - 500) required have been set, random deals are generated and tested to match the required configuration. The matching deals can be played with any bridge program supporting PBN format or viewed with Deals Viewer.

Blyss: Deals Viewer function
Deals Viewer displays the deals generated by Deal Generator.

Blyss: Probability Analyzer function
This function is a deals generator and analyzer for estimating probability which, South's 13 card hand being a given, generates a specified number of random deals of the remaining 39 cards and analyzes North's 13 cards for a specified hand. In other words, given the cards held by a player, the Probability Analizer calculates by simulation the probability that his or her partner has a specific hand. North's cards can be specified exactly in suit and value, but generic cards per each suit and an "any" card is also available for more generic hands. The Probability Analizer estimates probability by dealing repeatedly the 39 cards for the other players and counting the occurrences of the desired configuration of North's hand. Blyss is written in C++ and uses the rand() function to generate deals. Each hand is analyzed as it is generated; as it is not stored, limited computer memory is used. Simulation runs of 1,000,000 take a few seconds even on a Pentium III. The final output gives the total number of hands found while running the required number of simulations. The ratio of these two numbers is an indication of the probability of the hand specified for North. This ratio has been extensively and successfully compared with combinatorics probability calculations.

Using the Probability Analyzer
Select 13 cards held by South by clicking on the cards on center deck. The selected cards are moved to South. Click again on any placed card you wish to put back on center deck.

When 13 cards have been selected, select cards for North. Generic suit and "any" cards are also available.

When 13 cards have been selected, input the number of simulation runs.

In this specific case the result of the simulation is 4652 hands out of a million, very close to theoretical probability (4649/1000000).
Note that South's cards are a given, i.e. the probability obtained is not the probability that North and South might have the selected cards. It is the probability that North might have the selected cards when South has already been dealt the specified hand. In other words, it is the probability a player might wish to know while bidding. As this same probability value holds for East and West, to make meaningful use of this data South should have some additional information or
assumption from the current bidding.

Samples Skills Download Links Contact Home