Using minimax search for card games with imperfect information

后端 未结 2 2105
天涯浪人
天涯浪人 2021-02-15 09:33

I want to use minimax search (with alpha-beta pruning), or rather negamax search, to make a computer program play a card game.

The card game actually consists of 4 playe

2条回答
  •  爱一瞬间的悲伤
    2021-02-15 09:59

    Minimax search as you've implemented it is the wrong approach for games where there is so much uncertainty. Since you don't know the card distribution among the other players, your search will spend an exponential amount of time exploring games that could not happen given the actual distribution of the cards.

    I think a better approach would be to start with good rules for play when you have little or no information about the other players' hands. Things like:

    1. If you play first in a round, play your lowest card since you have little chance of winning the round.
    2. If you play last in a round, play your lowest card that will win the round. If you can't win the round, then play your lowest card.

    Have your program initially not bother with search and just play by these rules and have it assume that all the other players will use these heuristics as well. As the program observes what cards the first and last players of each round play it can build up a table of information about the cards each player likely holds. E.g. a 9 would have won this round, but player 3 didn't play it so he must not have any cards 9 or higher. As information is gathered about each player's hand the search space will eventually be constrained to the point where a minimax search of possible games could produce useful information about the next card to play.

提交回复
热议问题