├── .gitignore ├── .pre-commit-config.yaml ├── CONTRIBUTING.md ├── LICENSE ├── MANIFEST.in ├── README.md ├── cfrx ├── __init__.py ├── algorithms │ ├── __init__.py │ ├── cfr │ │ ├── __init__.py │ │ └── cfr.py │ └── mccfr │ │ ├── __init__.py │ │ ├── outcome_sampling.py │ │ └── test_outcome_sampling.py ├── envs │ ├── __init__.py │ ├── base.py │ ├── kuhn_poker │ │ ├── __init__.py │ │ ├── constants.py │ │ ├── data │ │ │ ├── __init__.py │ │ │ └── info_states.npz │ │ └── env.py │ ├── leduc_poker │ │ ├── __init__.py │ │ ├── constants.py │ │ ├── data │ │ │ ├── __init__.py │ │ │ └── info_states.npz │ │ └── env.py │ └── nlhe_poker │ │ ├── __init__.py │ │ ├── env.py │ │ ├── gui.py │ │ ├── showdown.py │ │ └── test_showdown.py ├── episode.py ├── metrics │ ├── __init__.py │ ├── best_response.py │ ├── exploitability.py │ └── exploitability_test.py ├── policy.py ├── trainers │ ├── __init__.py │ ├── cfr.py │ └── mccfr.py ├── tree │ ├── __init__.py │ ├── traverse.py │ └── tree.py └── utils.py ├── examples ├── cfr.ipynb └── mccfr.ipynb ├── imgs └── bench_open_spiel.png ├── mypy.ini └── pyproject.toml /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/LICENSE -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/MANIFEST.in -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/README.md -------------------------------------------------------------------------------- /cfrx/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cfrx/algorithms/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cfrx/algorithms/cfr/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/algorithms/cfr/__init__.py -------------------------------------------------------------------------------- /cfrx/algorithms/cfr/cfr.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/algorithms/cfr/cfr.py -------------------------------------------------------------------------------- /cfrx/algorithms/mccfr/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/algorithms/mccfr/__init__.py -------------------------------------------------------------------------------- /cfrx/algorithms/mccfr/outcome_sampling.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/algorithms/mccfr/outcome_sampling.py -------------------------------------------------------------------------------- /cfrx/algorithms/mccfr/test_outcome_sampling.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/algorithms/mccfr/test_outcome_sampling.py -------------------------------------------------------------------------------- /cfrx/envs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/envs/__init__.py -------------------------------------------------------------------------------- /cfrx/envs/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/envs/base.py -------------------------------------------------------------------------------- /cfrx/envs/kuhn_poker/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/envs/kuhn_poker/__init__.py -------------------------------------------------------------------------------- /cfrx/envs/kuhn_poker/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/envs/kuhn_poker/constants.py -------------------------------------------------------------------------------- /cfrx/envs/kuhn_poker/data/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cfrx/envs/kuhn_poker/data/info_states.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/envs/kuhn_poker/data/info_states.npz -------------------------------------------------------------------------------- /cfrx/envs/kuhn_poker/env.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/envs/kuhn_poker/env.py -------------------------------------------------------------------------------- /cfrx/envs/leduc_poker/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/envs/leduc_poker/__init__.py -------------------------------------------------------------------------------- /cfrx/envs/leduc_poker/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/envs/leduc_poker/constants.py -------------------------------------------------------------------------------- /cfrx/envs/leduc_poker/data/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cfrx/envs/leduc_poker/data/info_states.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/envs/leduc_poker/data/info_states.npz -------------------------------------------------------------------------------- /cfrx/envs/leduc_poker/env.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/envs/leduc_poker/env.py -------------------------------------------------------------------------------- /cfrx/envs/nlhe_poker/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cfrx/envs/nlhe_poker/env.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/envs/nlhe_poker/env.py -------------------------------------------------------------------------------- /cfrx/envs/nlhe_poker/gui.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/envs/nlhe_poker/gui.py -------------------------------------------------------------------------------- /cfrx/envs/nlhe_poker/showdown.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/envs/nlhe_poker/showdown.py -------------------------------------------------------------------------------- /cfrx/envs/nlhe_poker/test_showdown.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/envs/nlhe_poker/test_showdown.py -------------------------------------------------------------------------------- /cfrx/episode.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/episode.py -------------------------------------------------------------------------------- /cfrx/metrics/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/metrics/__init__.py -------------------------------------------------------------------------------- /cfrx/metrics/best_response.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/metrics/best_response.py -------------------------------------------------------------------------------- /cfrx/metrics/exploitability.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/metrics/exploitability.py -------------------------------------------------------------------------------- /cfrx/metrics/exploitability_test.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/metrics/exploitability_test.py -------------------------------------------------------------------------------- /cfrx/policy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/policy.py -------------------------------------------------------------------------------- /cfrx/trainers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /cfrx/trainers/cfr.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/trainers/cfr.py -------------------------------------------------------------------------------- /cfrx/trainers/mccfr.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/trainers/mccfr.py -------------------------------------------------------------------------------- /cfrx/tree/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/tree/__init__.py -------------------------------------------------------------------------------- /cfrx/tree/traverse.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/tree/traverse.py -------------------------------------------------------------------------------- /cfrx/tree/tree.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/tree/tree.py -------------------------------------------------------------------------------- /cfrx/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/cfrx/utils.py -------------------------------------------------------------------------------- /examples/cfr.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/examples/cfr.ipynb -------------------------------------------------------------------------------- /examples/mccfr.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/examples/mccfr.ipynb -------------------------------------------------------------------------------- /imgs/bench_open_spiel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/imgs/bench_open_spiel.png -------------------------------------------------------------------------------- /mypy.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/mypy.ini -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Egiob/cfrx/HEAD/pyproject.toml --------------------------------------------------------------------------------