Preference-CFR (Pref-CFR) is a novel algorithm that extends traditional Counterfactual Regret Minimization (CFR) to address the limitation of strategy diversity in game theory. While existing AI approaches focus on finding Nash Equilibrium (NE) for optimal payoffs, they often produce overly rational strategies lacking adaptability to different play styles. Pref-CFR introduces two key parameters:
- Preference degree (δ): Guides strategies toward specific action inclinations (e.g., aggressive or passive).
- Vulnerability degree (β): Allows controlled trade-offs between optimality and strategy flexibility, enabling convergence to ε-NE.
This repository is the accompanying code for the paper PrefCFR. This method allows strategies to converge to different equilibria. The paper has been accepted by ICML 2025 Paper Link.
Clone the repo:
git clone https://github.com/Zealoter/PrefCFR.git
cd PrefCFR
Install dependencies:
pip install -r requirements.txt
The paper defaults to running the Kuhn experiment. Simply execute the following command:
python PreCFRMain.py
This will reproduce the results shown in Figure 2 of the paper. If you wish to run other experiments, you can modify the parameters in PreCFRMain.py
.
To reproduce Figure 3:
- Change Lines 169-170 in
PreCFRMain.py
to:# game_name = "kuhn_poker" game_name = "leduc_poker"
- Comment out Lines 139-143.
- Uncomment Lines 148-154.
To reproduce Figure 4:
- Follow the same steps as above.
- Instead of Lines 148-154, uncomment Lines 159-163.