All the cards are distributed before the first round.The player who wins the round goes first the next round.The player who goes second can only play certain cards, depending on what was played first.The player who goes first can play any card he wants.The game is played in rounds, with each player playing one card per round.Here's what I understand from your question : I think it depends on the rules of the game. You could use historic data to adjust probabilities when building each virtual game. A player's past bids and card selection during a hand might reveal a "tell" about what's hidden in their hand. There are also learning opportunities for card distribution. You could even get fancy and model their assumptions about cards hidden from them. If you track plays across games, you can learn how a given player, or players in general, tend to play based on the cards in their hand and the cards that have been played. Conceptually, separate the probabilities for a card being in someone's hand (card distribution) from the probability of a player playing a given legal card during a hand (card selection).Ĭard selection is ripe for learning. Ultimately, you may want to scrap the idea of perfect play for all players and substitute something more realistic. For instance, vary your probabilities based on a player's historic plays, vary probabilities based on a player's style (passive, cautious, aggressive), or even consider the effects of specific players playing together. Once you get something working, you can add all sorts of enriched strategies. When you have a solid sampling (or you run out of time), pick the legal move that gave you the best outcome most often.You know all the cards in your virtual game so you can make each player play perfectly. Assume each player will play to the best of their ability. For each virtual game, use your probabilities to assign cards to a player and then quickly simulate the game. Simulate playing a card from your hand and then determine your opponents' responses using the rules of the game and your probabilities. Now, run through as many "virtual" games as you can.To start, you could just use a naive and equal probability that a card is in some player's hand. Determine the probability of all other cards based on cards that have been played and possibly a player's bid if there's bidding involved. You know with certainty which cards are in your hand and which cards have been played. Determine the probabilities of each card being in a given hand.Top Bridge-playing systems use Monte Carlo methods to select moves. For instance, I had a look at minimax (maybe with a pruning algorithm), but would be a good option for this problem? I’m quite unsure since the most important plays are at the beginning of the game when there is the highest unknown parameters (most of cards are not played yet). I am also wondering if there is others techniques which would best fit to the problem. I’m unsure if this would be a good way to develop an AI for such a card game? Second problems, it is very likely that I don’t know all rules and that there is some implicit rules which are needed by the AI to find the optimal play. The problem is that I don’t know any probabilities to assign, but I could compute an heuristic using the history of played games (against a human). Thus I first wanted to use a Bayesian network to describes those rules. if I know the player has cards A, B, C then I should play D) which helps me to win to the game. Then Player 2 plays a card and then Player 1 plays. Player 1 plays a card, Player 2 plays a card and wins. The player which wins the trick, plays then first.There is restriction about the cards which can be played when a card was already played.I mean here that every player can choose which cards he plays but no random process occurs as when distributing the cards at the beginning of the game. After the cards are distributed to players, there is no randomness.Here are a few assumptions about the game: I’m trying to develop an AI for a card game and I’m a bit stuck about the technique/algorithm I should use.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |