70 likes | 164 Views
Rational Agents for the Card Game “BS”. Jeff Reilly, Brian Munce , Stephen Tanguis , Alex Keeler. The Game. Known by: “BS”, “Cheat”, and various other names Rules: A deck is evenly dealt between the players of the game.
E N D
Rational Agents for the Card Game “BS” Jeff Reilly, Brian Munce, Stephen Tanguis, Alex Keeler
The Game • Known by: “BS”, “Cheat”, and various other names • Rules: • A deck is evenly dealt between the players of the game. • Play begins with a certain card rank and player. That player may discard a number of cards from his hand to the table, claiming the rank and number of cards that he discards. • The other players are then, in turn, given the chance to call the current players bluff. If the call is correct, the current player must take all the discarded cards and add them to his or her hand; if incorrect, the player who ‘called’ instead receives all of the cards in the discard pile. • A player wins the game when they have no more cards in their hand.
Approach to Solving the Problem • Due to the nature of the game of BS, there is much uncertainty at any stage in the game. • This makes the state space huge, so state-space searching is not a great idea. • Need to use probability to help make rational decisions
Multilevel Reasoning in BS • Reasoning about one’s own hand • Reasoning about opponents’ hands and the discard pile • Reasoning about what opponents think about your hand
About the Bots • HonestBot: Simply a bot that never claims to play cards it doesn’t have, and only calls if it is 100% sure someone is lying. • LearningBot: A bot that attempts to model the aggressiveness of its opponents’ cheating based on previous knowledge, and adjusts its calls accordingly. • DudeBot: Bot that calls more readily against players claiming to play cards that have already been played. • RandomBot: Plays the game while choosing to cheat or call partly randomly to “confuse” other bots. • NoRandomBot: Doesn’t have any random factors, only calls or cheats if it believes it has >50% probability of success.
Factors • Number and rank of cards in one’s own hand • Cards thought or known to be in other players hands or discard pile • Individual players’ histories of cheating and calling • Total number of cards in hand and total number of cards in the discard pile • Aggressiveness arguments for cheating and calling
The Results • Running sets of 1000 or 5000 games at a time, we received quite consistent results for our bots. In general for games where there is a reasonable amount of calls made, LearningBot wins because it has a large enough dataset to successfully model its opponents. When allowed to model its opponents over the course of numerous games, its win rate increases, but falls off as the number of games played increases. However, in games where there are many, many failed calls made, LearningBot starts to lose often. • We found that cheating is often more of a positive factor for success of a bot than calling is, unless there are one or more players in game calling aggressively/often. Since failing at either has the same consequences, it is much more beneficial to risk cheating than calling in most cases. • (Specific result data to be tabulated and appended)