Log In Sign Up

StarAI: Reducing incompleteness in the game of Bridge using PLP

by   S Thepaut, et al.

Bridge is a trick-taking card game requiring the ability to evaluate probabilities since it is a game of incomplete information where each player only sees its cards. In order to choose a strategy, a player needs to gather information about the hidden cards in the other players' hand. We present a methodology allowing us to model a part of card playing in Bridge using Probabilistic Logic Programming.


page 1

page 2

page 3


The Crew: The Quest for Planet Nine is NP-Complete

In this paper, we study the cooperative card game, The Crew: The Quest f...

Competitive Bridge Bidding with Deep Neural Networks

The game of bridge consists of two stages: bidding and playing. While pl...

What can we Learn Even From the Weakest? Learning Sketches for Programmatic Strategies

In this paper we show that behavioral cloning can be used to learn effec...

Assessing the players'performance in the game of bridge: A fuzzy logic approach

Contract bridge occupies nowadays a position of great prestige being, to...

Bayesian Modeling of a Human MMORPG Player

This paper describes an application of Bayesian programming to the contr...

Bidding in Spades

We present a Spades bidding algorithm that is superior to recreational h...

The parametrized probabilistic finite-state transducer probe game player fingerprint model

Fingerprinting operators generate functional signatures of game players ...

1 Introduction

Playing Bridge is a very difficult task for both human and computer. From a game-theoretic point of view, Bridge, as a game of incomplete information, is much more complicated than games of complete information such as Chess and Go. More precisely, Bridge is probabilistic, partially observable, sequential and multi-agent. These features present difficulties and interests for AI research. Due to partial observability, the search space for planning is exponentially larger than fully observable cases. In addition, the multi-agent aspect (two players against two, both collaborative and adversarial) makes branching factor larger than in two player games. Therefore, Bridge is an interesting and challenging topic for AI research.

It has already been shown in [3] that Bridge is a killer application for Inductive Logic Programming. The goal of this paper is to convey our belief that Bridge is also an ideal test field for both PLP and PILP [6, 2, 7].

In the first part of this paper, we briefly introduce Bridge and the probabilistic reasoning in this game. The second part is dedicated to our experiments related to the inference lead problem.

2 Background

The game of Bridge in short

The interested readers can refer for instance to [5] for a more complete presentation of the game of Bridge.

Bridge is a trick-taking card game opposing four players divided in two partnerships (pairs). A standard card pack is shuffled and each player receives a hand of cards that is only visible to it. Pairs stand across each other. A Bridge deal is divided into two major playing phases: the bidding phase and the card play.

The goal of the bidding phase is to reach a contract which determines the minimum number of tricks the pair commits to win (between and ) during the card play, either with no trump or with a determined suit as trump.

During the card play, the goal is to fulfill (for the declarer) or to defeat (for the defenders) the contract reached during the bidding phase.

Bridge robots are still far from human expert level. During the last three years, the World Computer-Bridge Championship has been won by Wbridge5 developed by Yves Costel and boosted by a method presented in [8]. One can refer to [1] for an overview of computer Bridge.

Probabilistic and logic reasoning in Bridge

In a bridge deal, assuming that players know exactly how the cards are distributed among the four hands will yield a simplified version of bridge which can be easily solved both by bridge experts and by programs such as the Double Dummy Solver developed by Bo Haglund. Hence the difficulty of Bridge is largely due to the fact that the game is partially observable.

In this game of incomplete information, the main goal of each player consists then in rebuilding the hidden hands with respect to it in order to choose the optimal strategy. Throughout the game, the incompleteness decreases either deterministically (e.g when cards are put on the table) or probabilistically (e.g. by rules related to the bidding or card play conventions).

Without any additional information, one may assume that the hidden cards are uniformly distributed among the hidden hands. In order to choose a strategy, a player needs to gather as much information as possible, which may be provided by different sources such as the auctions made during the bidding phase (out of the scope of the paper), and the cards played during the card play. Such information influences the probabilities of distributions of the hidden cards with respect to a player and therefore the optimal strategy of the player.

If cards are played at random, then it is not possible to obtain additional information except the position of the played cards. Fortunately for us, and for the interest of the game of Bridge, normal players do not play randomly, but attempt to play in their best interest. To achieve this goal, they follow specific rules and use logical reasoning to choose the optimal strategy with respect to the information they gathered. This behaviour can be exploited by other players to update the probabilities of presence of the remaining cards in the hidden hands, as long as they have insight about the strategy of their partner or opponents.

In conclusion, Bridge is a natural test field for PLP due to its omnipresent probabilistic and logic reasoning mentioned above.

3 Inference Lead Problem

Problem setting

During the bidding step, the incompleteness is maximum with hidden cards for each player. During the card play, the player on the left of the declarer (called leader) leads the first trick of the game. The declarer’s partner (called Dummy) then lays his cards face up on the table. The incompleteness is now hidden cards for the declarer and the leader’s partner, and for the leader.

The lead is usually chosen by the leader according to a set of rules, which may depend on its hand and its knowledge about other players’ hand deduced from the bidding. This set of rules, called leading rules, is in theory known by the other players.

Hence the lead conveys valuable information about the leader’s hand, available both to his partner and to the declarer. The inference lead problem consists in analyzing the lead in order to reduce the incompleteness of a game. Such a probabilistic and logic inference task is particularly important at the beginning of the game, since the uncertainty of the situation is the highest.

Methodology of experiments

In this paper, we focus on the inference lead problem from the declarer’s point of view. We have carried out several experiments111For more details of the experiments, one can consult the Master thesis [4]. on using PLP to model how declarer updates its knowledge of the hidden cards (i.e. its belief states) by exploiting the information conveyed by the lead.

First, we have chosen a simple set of

leading rules that the leader is supposed to follow, written as a PLP program. Since the inference module only uses this program as a black box that takes a leader’s hand as input and outputs the lead of this hand according to the rules, any set of rules forming a complete decision tree can be used.

Theoretically speaking, we can assume that after the bidding phase, the declarer sees dummy’s hand first and then the lead. The moment just before the lead, there are

hidden cards from the declarer’s prospective. Without additional information from the bidding phase, each of these hidden cards has a prior probability of

to be in the leader’s hand. In other words, they can be described as unbiased Bernoulli random variables. Notice that they are not independent, since each player should have exactly


Now we need a PLP model to describe the declarer’s belief states, i.e. how hidden cards are distributed between the two hidden hands. A simple but elegant approach is to create an unbiased Bernoulli random variable for each card, then impose the evidence that exactly cards are in the leader’s hand. However, in this case the search spaces of PLP is , which is not prohibitively large but unfeasible since PLP implementations such as ProbLog are extremely slow.

Due to the constraint that each player has cards, the real search space is significantly smaller than , a fact that we should exploit. If we are only interested in the hidden cards of the led suit, the search space is even smaller. A better approach consists in factoring the representation of the problem.

We have decided to use one single variable which describes the leader’s led suit. The values that this variable, called hand variable, can take any possible holdings of the leader in the led suit. Trading binary variables with variable that can take different values, where is the number of hidden cards in the led suit with respect to the declarer, greatly reduces the search space of our PLP model and boosts its performance.

Once the belief states are modelled, the lead can be imposed as an evidence. Then it is straightforward to perform inference task in PLP to model how declarer updates his belief states in terms of the lead he observes and the leading rules according to which the lead is chosen.

Results and conclusion

Our new PLP model is quite efficient. In fact, with hidden cards in the led suit, it takes less than

seconds on an ordinary personal computer to update the belief states and to compute the posterior probability of finding each card in the leader’s hand. This is fast enough for practical purpose, since in reality we are rarely interested in performing such inference tasks in a suit with more than

hidden cards. With some additional refinement tricks, the program can be optimized even more.

Our approach is general enough to accommodate many further upgrades and new features without changing the PLP program structure or its performance. For example, taking into account information conveyed by the auctions which change the distribution (prior to seeing the lead) of the hand variable. We are able to exploit this information by computing this prior distribution of the hand variable using Python then passing it to the PLP program for lead inference, without degradation of the performance.


  • [1] P. Bethe (2010) The state of automated bridge play. Internal Report NYU. Cited by: §2.
  • [2] L. De Raedt, P. Frasconi, K. Kersting, and S. Muggleton (2008) Probabilistic inductive logic programming—theory and applications. Springer. Note:

    Volume 4911 of Lecture Notes in Artificial Intelligence

    Cited by: §1.
  • [3] S. Legras, C. Rouveirol, and V. Ventos (2018) The game of bridge: a challenge for ilp. In International Conference on Inductive Logic Programming, pp. 72–87. Cited by: §1.
  • [4] J. Li (2019) Probabilistic logic programming: modelling of card playing in bridge. Note: Cited by: footnote 1.
  • [5] Z. Mahmood, G. A., and O. Sharif (2014) Bridge for beginners: a complete course. Pavilion Books. Cited by: §2.
  • [6] L. D. Raedt, K. Kersting, S. Natarajan, and D. Poole (2016) Statistical relational artificial intelligence: logic, probability, and computation.

    Synthesis Lectures on Artificial Intelligence and Machine Learning

    10 (2), pp. 1–189.
    Cited by: §1.
  • [7] F. Riguzzi (2018) Foundations of probabilistic logic programming. River Publishers. Cited by: §1.
  • [8] V. Ventos, Y. Costel, O. Teytaud, and S. Thépaut Ventos (2017) Boosting a bridge artificial intelligence. In Proc. International Conference on Tools with Artificial Intelligence (ICTAI), pp. 1280–1287. Cited by: §2.