Background info

In Python, I've implemented a rudimentary engine to play "Cheat", supporting both bots and a human or only bots. When only bots are playing, the game is simulated.

When placing cards, input is represented by an array of integers corresponding to the indices of the cards. When bots play, they are presented with all valid combinations of cards to place (currently, the choice made is random). For example, if the bot has two cards, their options are:

[[0], [1], [0, 1]]

After a player places cards, the other players get a chance to call cheat (true to accuse, false not to).

When a player depletes their cards, they are appended to the winners list. The goal of the game is to have the lowest index possible in the winners list.

Summary of game data and end goal

In summary, here is the data which I believe would be useful for the bots to play:

  • the current number of cards that have been placed
  • the current type (e.g. Ace) to play
  • the type of and suit of each card of the bot's hand
  • the number of cards that were just placed by a player
  • the possible inputs to play during a bot's turn
  • the options for calling cheat (true, false)

with the goal of ending up with the lowest index in the winners list.

Help wanted

I'm very new to machine learning, so I apologize for a such a high level question, but how might I go about using a Python module to implement a system for bots to learn to play intelligently as they play? Are there any modules which you think would be ideal for this situation?

Thank you!

  • $\begingroup$ I think that you chose to complex problem to use ML for. I recommend you get a good understanding of neural networks, and reinforcement learning. If you feel adventurous, you can try reading about TD-Gammon: en.wikipedia.org/wiki/TD-Gammon and using similar techniques for your problem. $\endgroup$ Dec 21 '18 at 2:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.