← all repositories
kwai/DouZero

Why classic Monte Carlo still wins at DouDizhu

It trains agents to play DouDizhu, a three-player Chinese card game whose 10,000-move action space breaks most standard RL assumptions.

4.6k stars Python AgentsDomain Apps
DouZero
Not currently ranked — collecting fresh signals.
star history

What it does

DouZero is a reinforcement-learning framework built to play DouDizhu, the most popular card game in China. It trains agents from scratch via self-play to compete as either the Landlord or one of the two Peasants. The catch is that legal moves change drastically every turn, and the action space spans roughly 10^4 possibilities—far larger than what most standard RL algorithms comfortably handle.

The interesting bit

Rather than chasing the latest policy-gradient fashion, the authors revived classic Monte Carlo methods, augmenting them with deep neural networks, action encoding, and parallel actors. Starting from scratch on a single server with four GPUs, the system reached first place on the Botzone leaderboard among 344 agents after days of training.

Key highlights

  • Tackles a three-player, imperfect-information game mixing competition with implicit cooperation (two Peasants versus one Landlord).
  • Uses Deep Monte Carlo (DMC) with action encoding to wrangle an action space of approximately 10^4 legal moves.
  • Ships pretrained models for two reward objectives: Average Difference Points (DouZero-ADP) and Winning Percentage (DouZero-WP).
  • Offers an online demo, a local demo option, and a Google Colab notebook for experimentation.
  • Community forks have added ResNet backbones and full-auto gameplay integrations.

Caveats

  • Training expects GPUs; Windows users are restricted to CPU-only actors.
  • CPU evaluation works, but the README notes GPU evaluation is “much faster.”

Verdict

Grab it if you research imperfect-information games, large action spaces, or mixed cooperative-competitive RL. Pass if you want a polished consumer card-game bot—this is a training framework and research artifact.

Frequently asked

What is kwai/DouZero?
It trains agents to play DouDizhu, a three-player Chinese card game whose 10,000-move action space breaks most standard RL assumptions.
Is DouZero open source?
Yes — kwai/DouZero is open source, released under the Apache-2.0 license.
What language is DouZero written in?
kwai/DouZero is primarily written in Python.
How popular is DouZero?
kwai/DouZero has 4.6k stars on GitHub.
Where can I find DouZero?
kwai/DouZero is on GitHub at https://github.com/kwai/DouZero.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.