Development and Implementation of a Machine Bridge Bidding Algorithm By Dan Emmons Computer Systems Laboratory 2008-2009
Bridge Bidding is Hard Both cooperative agents and opposing agents must be dealt with Only partial information is available to each player Effectiveness of all bids cannot be evaluated until the end of the entire bidding sequence Multiplicity of meanings for each bid Some hands can be readily handled with multiple bids while other hands can be readily handled by no bids
Three Necessary Parts A way to select bids that overcomes the limitation of partial information A way to evaluate a bidding scenario by counting tricks that can be earned in play A way to improve partnership bidding agreements inductively to improve overall bidding through learning
Monte Carlo Sampling ? ? ? ? ? ? ? C: QJT94 D: 732 H: AQJ S: KT C: 73 D: AK984 H: K4 S: 96 ? C: 6 D: QT85 H: 73 S: AQ9742 ? C: AQ83 D: QJ32 H: A32 S: Q5 ? C: T6 D: Q72 H: AQ62 S: 8732 ? C: J93 D: A43 H: AKQT84 S: T ? C: AJ8 D: K94 H: KJT5 S: K85 ?
The Bid Decision Hierarchy Root Node Constraints: None Actions: Pass High Priority Low Priority Constraints: 13+ HCP Actions: 1C, 1D, 1H, 1S, 1NT Constraints: 5+ Hearts Actions: 1H Constraints: 4+ Diamonds Actions: 1D Constraints: 15-17 HCP, Balanced Actions: 1NT
Double-Dummy Solver Implementation MTD(f) is used with a transposition table Two pruning extra pruning techniques: Only check one of adjacent cards in the same hand Assume the player does not want to lose with a higher card than necessary Hash values are computed so as to hash equivalent hand positions to the same value: Clubs: A K J Diamonds: 9 7 2 Hearts: 6 5 4 3 2 Spades: K 9 After the club queen has been played Clubs: K Q J Diamonds: 9 7 2 Hearts: 6 5 4 3 2 Spades: K 9 After the club ace has been played
Sample Output of Implemented Solver North: Clubs: T 7 5 3 2 Diamonds: J Hearts: A Q J T Spades: T 9 7 West: East: Clubs: 6 Clubs: A J 8 Diamonds: A K T 7 5 Diamonds: Q 9 8 Hearts: 9 8 4 Hearts: 5 3 Spades: Q J 6 2 Spades: A K 8 5 4 South: Clubs: K Q 9 4 Diamonds: 6 4 3 2 Hearts: K 7 6 2 Spades: 3 Trick Counts for Each Declarer (North, South, East, West): Clubs: 9 9 3 3 Diamonds: 2 2 11 11 Hearts: 7 7 3 3 Spades: 0 0 11 11 No Trump: 2 2 8 8
Current Bidding Performance – No Conventions vs. Conventions Dealer: West Vulnerable: None North Clubs: A K 7 6 Diamonds: J T 8 4 Hearts: Q T 8 3 Spades: 2 West East Clubs: 9 8 5 4 Clubs: J 2 Diamonds: 9 7 6 Diamonds: A Q 2 Hearts: J 2 Hearts: A K 9 7 6 4 Spades: 8 7 6 3 Spades: K 9 South Clubs: Q T 3 Diamonds: K 5 3 Hearts: 5 Spades: A Q J T 5 4 South West North East Pass Pass Pass 2S Pass 3H Pass 3S X 4C Pass 4S Pass 4NT Pass 5C Pass 5H Pass 5S X Pass Pass Pass 5SX Nonvul - South Making Exact Score: 650 Dealer: West Vulnerable: E-W North Clubs: Q J 8 4 3 Diamonds: K T 4 Hearts: K J 9 Spades: K 7 West East Clubs: T 6 2 Clubs: 5 Diamonds: A 5 3 2 Diamonds: 9 8 7 6 Hearts: 8 6 2 Hearts: Q 5 3 Spades: Q 6 2 Spades: A J 9 4 3 South Clubs: A K 9 7 Diamonds: Q J Hearts: A T 7 4 Spades: T 8 5 West North East South Pass 1D Pass 1H Pass 2C Pass 3NT Pass 4C Pass 4H Pass Pass Pass 4H Nonvul - South Making Exact 420
The computer averaged a gain of 1.83 IMPs per hand Test Results Computer bidding agents played online against humans with human partners who were not told they were playing with a computer on www.bridgebase.com using IMP scoring The computer averaged a gain of 1.83 IMPs per hand As compared with a typical average IMP gain per hand of 2 for experts playing novices, this constitutes success
Expected Fourth Quarter Activities Addition of a more complete set of common conventions Development of the ability to develop conventions automatically through induction Development of a plot of the relationship between playing strength and the number of bidding convention networks learned