From 231a96e60d0a5b13d01a994cbaee5af84a207d73 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 12 Aug 2025 14:04:43 +0100 Subject: [PATCH 001/240] add new logo --- doc/_static/gambit.png | Bin 8823 -> 22433 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/doc/_static/gambit.png b/doc/_static/gambit.png index fa99aa6a8dfa022ef53e4b5602b2676b320c1889..b1053aa7f1b6ff6449e9597e496f59454b363d91 100644 GIT binary patch literal 22433 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 literal 8823 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 Date: Tue, 12 Aug 2025 14:26:45 +0100 Subject: [PATCH 002/240] add headers and link --- doc/_templates/layout.html | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/doc/_templates/layout.html b/doc/_templates/layout.html index c44167417..537b59f7c 100644 --- a/doc/_templates/layout.html +++ b/doc/_templates/layout.html @@ -13,9 +13,10 @@ {% block relbar1 %}
-Chadwick -Gambit: Software Tools for Game Theory +Chadwick +

Software Tools for Game Theory

+

User Documentation

{{ super() }} {% endblock %} From 047c826df00071c0a0e31546c0aece9fde65e837 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 12 Aug 2025 14:33:28 +0100 Subject: [PATCH 003/240] Add livehtml target to Makefile and update build instructions for live server when doing local development to docs --- doc/Makefile | 8 +++++++- doc/build.rst | 2 +- doc/requirements.txt | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/doc/Makefile b/doc/Makefile index 22f7f23ff..26efc85c2 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -11,11 +11,12 @@ PAPEROPT_a4 = -D latex_paper_size=a4 PAPEROPT_letter = -D latex_paper_size=letter ALLSPHINXOPTS = -d _build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . -.PHONY: help clean html dirhtml pickle json htmlhelp qthelp latex changes linkcheck doctest +.PHONY: help clean html dirhtml pickle json htmlhelp qthelp latex changes linkcheck doctest livehtml help: @echo "Please use \`make ' where is one of" @echo " html to make standalone HTML files" + @echo " livehtml to make HTML files with auto-rebuild and live server" @echo " dirhtml to make HTML files named index.html in directories" @echo " pickle to make pickle files" @echo " json to make JSON files" @@ -34,6 +35,11 @@ html: @echo @echo "Build finished. The HTML pages are in _build/html." +livehtml: + sphinx-autobuild -b html $(ALLSPHINXOPTS) _build/html --host 0.0.0.0 --port 8000 + @echo + @echo "Live server started at http://localhost:8000" + dirhtml: $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) _build/dirhtml @echo diff --git a/doc/build.rst b/doc/build.rst index 67fa403ec..9994e95c6 100644 --- a/doc/build.rst +++ b/doc/build.rst @@ -163,7 +163,7 @@ Editing this documentation pip install . cd doc pip install -r requirements.txt - make html + make html # or make livehtml for live server with auto-rebuild 4. Open ``doc/_build/html/index.html`` in your browser to view the documentation. diff --git a/doc/requirements.txt b/doc/requirements.txt index d86c98f3d..558c04a00 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -3,5 +3,6 @@ numpy scipy pydata-sphinx-theme sphinx_design +sphinx-autobuild ipython pickleshare From 4ccadc122e39b5a637fa5945b8c412c255356d2d Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 12 Aug 2025 14:56:35 +0100 Subject: [PATCH 004/240] tidy navbar --- doc/_templates/layout.html | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/_templates/layout.html b/doc/_templates/layout.html index 537b59f7c..13a64fef9 100644 --- a/doc/_templates/layout.html +++ b/doc/_templates/layout.html @@ -12,11 +12,11 @@ {% block relbar1 %} -
-Chadwick -

Software Tools for Game Theory

-

User Documentation

+
+ Chadwick + +

Software tools for game theory.

{{ super() }} {% endblock %} From bc119220f325e4d40dc86ebd146fe05260fcea18 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 12 Aug 2025 15:38:36 +0100 Subject: [PATCH 005/240] downgrade Ipython to support current docs build process and add matplotlib --- doc/conf.py | 4 ++++ doc/requirements.txt | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/doc/conf.py b/doc/conf.py index e8098594f..1a7bc55df 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -28,6 +28,10 @@ "sphinx_design", ] +# IPython directive configuration +ipython_execlines = ['import pygambit as gbt', 'import os', 'import sys'] +ipython_savefig_dir = 'savefig' + # Add any paths that contain templates here, relative to this directory. templates_path = ["_templates"] diff --git a/doc/requirements.txt b/doc/requirements.txt index 558c04a00..a9634baf5 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -4,5 +4,6 @@ scipy pydata-sphinx-theme sphinx_design sphinx-autobuild -ipython +ipython<7.0.0 +matplotlib pickleshare From 3b0e6fa1164e3bd9fa07e1ad82b6d2f434e31c3b Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 12 Aug 2025 16:16:07 +0100 Subject: [PATCH 006/240] simplify docs landing page --- doc/gui.rst | 6 +++--- doc/index.rst | 42 +++--------------------------------------- doc/intro.rst | 8 +++++--- doc/pygambit.rst | 4 ++-- doc/quickstart.rst | 0 doc/tools.rst | 6 +++--- 6 files changed, 16 insertions(+), 50 deletions(-) create mode 100644 doc/quickstart.rst diff --git a/doc/gui.rst b/doc/gui.rst index 4ca0cee37..361681c40 100644 --- a/doc/gui.rst +++ b/doc/gui.rst @@ -1,8 +1,8 @@ .. _section-gui: -*********************** -The graphical interface -*********************** +*** +GUI +*** Gambit's graphical user interface provides an "integrated development environment" to help visually construct diff --git a/doc/index.rst b/doc/index.rst index 2dd8f21dd..1d9fdd98a 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -1,44 +1,9 @@ -################# -Welcome to Gambit -################# - - +########################## +Gambit: User documentation +########################## **Gambit** is a library of game theory software and tools for the construction and analysis of finite extensive and strategic games. -Gambit is fully-cross platform, and is supported on Linux, Mac OS X, -and Microsoft Windows. - -Key features of Gambit include: - -* A :ref:`graphical user interface `, which uses - `wxWidgets `_ to provide a common - interface with native look-and-feel across platforms. -* All equilibrium-computing algorithms are available as - :ref:`command-line tools `, callable from scripts and - other programs. -* A :ref:`Python API ` for developing scripting applications. - - -Gambit is Free/Open Source software, released under the terms of the -`GNU General Public License `_, -Version 2. - -We hope you will find Gambit useful for both teaching and research -applications. If you do use Gambit in a class, or in a paper, we would -like to hear about it. We are especially interested in finding out -what you like about Gambit, and where you think improvements could be -made. - -If you are citing Gambit in a paper, we suggest a citation of the form: - - Savani, Rahul and Turocy, Theodore L. (2025) - Gambit: The package for computation in game theory, Version 16.3.0. - https://www.gambit-project.org. - -Replace the version number and year as appropriate if you use a -different release. - .. grid:: @@ -93,7 +58,6 @@ different release. :expand: - .. toctree:: :hidden: :maxdepth: 1 diff --git a/doc/intro.rst b/doc/intro.rst index 68c8d7caa..a2b01cb4b 100644 --- a/doc/intro.rst +++ b/doc/intro.rst @@ -1,6 +1,6 @@ -********************* -An overview of Gambit -********************* +******** +Overview +******** What is Gambit? =============== @@ -11,6 +11,8 @@ interactively building and analyzing general games in extensive or strategy form; a number of command-line tools for computing Nash equilibria and other solution concepts in games; and, a set of file formats for storing and communicating games to external tools. +Gambit is fully-cross platform, and is supported on Linux, Mac OS X, +and Microsoft Windows. A brief history of Gambit ========================= diff --git a/doc/pygambit.rst b/doc/pygambit.rst index c38cad446..6309c4b11 100644 --- a/doc/pygambit.rst +++ b/doc/pygambit.rst @@ -1,8 +1,8 @@ .. _pygambit: -``pygambit`` Python package -=========================== +PyGambit +======== Gambit provides a Python package, ``pygambit``, which provides access to Gambit's features. ``pygambit`` is available on PyPI diff --git a/doc/quickstart.rst b/doc/quickstart.rst new file mode 100644 index 000000000..e69de29bb diff --git a/doc/tools.rst b/doc/tools.rst index d08acbebc..542c5bf4e 100644 --- a/doc/tools.rst +++ b/doc/tools.rst @@ -1,8 +1,8 @@ .. _command-line: -****************** -Command-line tools -****************** +*** +CLI +*** Gambit provides command-line interfaces for each method for computing Nash equilibria. These are suitable for scripting or calling from From 644f10de53fc3cf4bd3bc5a114d7128ac4806e32 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 12 Aug 2025 16:28:43 +0100 Subject: [PATCH 007/240] Add external links and icon links to the HTML theme configuration --- doc/conf.py | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/doc/conf.py b/doc/conf.py index 1a7bc55df..7b80707ca 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -104,7 +104,31 @@ # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. -# html_theme_options = {} +html_theme_options = { + "external_links": [ + { + "name": "GitHub", + "url": "https://github.com/gambitproject/gambit" + }, + { + "name": "Releases", + "url": "https://github.com/gambitproject/gambit/releases" + }, + { + "name": "Citing", + "url": "https://www.gambit-project.org/cite/" + } + ], + "navbar_end": ["theme-switcher", "navbar-icon-links"], + "icon_links": [ + { + "name": "GitHub", + "url": "https://github.com/gambitproject/gambit", + "icon": "fab fa-github-square", + "type": "fontawesome", + } + ], +} # Add any paths that contain custom themes here, relative to this directory. # html_theme_path = [] From 16301ed03b43f138c9a66c1d0ac5795dfd87033c Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 12 Aug 2025 16:34:22 +0100 Subject: [PATCH 008/240] Update PyGambit documentation for clarity and installation instructions --- doc/pygambit.rst | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/doc/pygambit.rst b/doc/pygambit.rst index 6309c4b11..556a80afb 100644 --- a/doc/pygambit.rst +++ b/doc/pygambit.rst @@ -4,9 +4,15 @@ PyGambit ======== -Gambit provides a Python package, ``pygambit``, which provides access to -Gambit's features. ``pygambit`` is available on PyPI -(https://pypi.org/project/pygambit/), and can be installed via ``pip``. +Gambit provides a Python package, ``pygambit``, which is available on `PyPI +`_. + +Installation +------------ + +To install the package, use the following command:: + + pip install pygambit .. toctree:: :maxdepth: 2 From 0196776792deed9afc906554885aafabf78f281c Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 12 Aug 2025 16:34:50 +0100 Subject: [PATCH 009/240] reorder so pygambit first --- doc/contents.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/contents.rst b/doc/contents.rst index df74f8dd5..0fc190ffa 100644 --- a/doc/contents.rst +++ b/doc/contents.rst @@ -7,8 +7,8 @@ Detailed table of contents :maxdepth: 3 intro - tools pygambit + tools gui samples build From 8314fbe9175f192b729f68e08883149fab3a7e42 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 12 Aug 2025 16:38:11 +0100 Subject: [PATCH 010/240] add link to older releases --- doc/conf.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/conf.py b/doc/conf.py index 7b80707ca..14adb1504 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -115,7 +115,11 @@ "url": "https://github.com/gambitproject/gambit/releases" }, { - "name": "Citing", + "name": "Older releases", + "url": "https://sourceforge.net/projects/gambit/files/" + }, + { + "name": "Cite Gambit", "url": "https://www.gambit-project.org/cite/" } ], From c0699fd6b99031915cc5cd1ae25ad799cea8cfad Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 12 Aug 2025 16:39:40 +0100 Subject: [PATCH 011/240] remove download section --- doc/intro.rst | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/doc/intro.rst b/doc/intro.rst index a2b01cb4b..fe21fc8c2 100644 --- a/doc/intro.rst +++ b/doc/intro.rst @@ -181,17 +181,6 @@ include: .. _section-downloading: -Downloading Gambit -================== - -Gambit source code and built binaries can be downloaded from the project -`GitHub repository releases section `_. - -Older versions of Gambit can be downloaded from -`http://sourceforge.net/projects/gambit/files -`_. - - Bug reports =========== From 32c09fb83eaa6046768f090fdd81128f38c21d90 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 12 Aug 2025 16:40:46 +0100 Subject: [PATCH 012/240] move bug reports section --- doc/build.rst | 19 ++++++++++++++++++- doc/intro.rst | 16 ---------------- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/doc/build.rst b/doc/build.rst index 9994e95c6..e83ebddde 100644 --- a/doc/build.rst +++ b/doc/build.rst @@ -174,4 +174,21 @@ Editing this documentation 7. Core developers will review your changes and merge to the master branch, which automatically deploys the documentation via the ReadTheDocs service. .. TODO: Add instructions for the GitHub workflow during contributor docs refactoring. - See https://github.com/gambitproject/gambit/issues/541 \ No newline at end of file + See https://github.com/gambitproject/gambit/issues/541 + +Bug reports +----------- + +In the first instance, bug reports or feature requests should be +posted to the Gambit issue tracker, located at +``_. + +When reporting a bug, please be sure to include the following: + +* The version(s) of Gambit you are using. (If possible, it is helpful + to know whether a bug exists in both the current stable/teaching and + the current development/research versions.) +* The operating system(s) on which you encountered the bug. +* A detailed list of steps to reproduce the bug. Be sure to include a + sample game file or files if appropriate; it is often helpful to + simplify the game if possible. \ No newline at end of file diff --git a/doc/intro.rst b/doc/intro.rst index fe21fc8c2..f3b2e0901 100644 --- a/doc/intro.rst +++ b/doc/intro.rst @@ -181,19 +181,3 @@ include: .. _section-downloading: -Bug reports -=========== - -In the first instance, bug reports or feature requests should be -posted to the Gambit issue tracker, located at -``_. - -When reporting a bug, please be sure to include the following: - -* The version(s) of Gambit you are using. (If possible, it is helpful - to know whether a bug exists in both the current stable/teaching and - the current development/research versions.) -* The operating system(s) on which you encountered the bug. -* A detailed list of steps to reproduce the bug. Be sure to include a - sample game file or files if appropriate; it is often helpful to - simplify the game if possible. From adf39075422c4ddcefed2f9e743f2d62d162ffc7 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 12 Aug 2025 16:44:31 +0100 Subject: [PATCH 013/240] Update developer section to clarify team contributions and provide a link to the team page --- doc/intro.rst | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/doc/intro.rst b/doc/intro.rst index f3b2e0901..2f1468b92 100644 --- a/doc/intro.rst +++ b/doc/intro.rst @@ -137,10 +137,15 @@ that Gambit will both contribute to these two areas of research, as well as make the resulting methods available to both students and practitioners. -Developers -========== +Who built Gambit? +================= -The principal developers of Gambit are: +Check out the `team page `__ on the Gambit website for up-to-date information on the current Gambit development team. + +History +------- + +The principal developers of Gambit have been: * `Theodore Turocy `__, University of East Anglia: director. @@ -179,5 +184,3 @@ include: of British Columbia, the NSERC Canada Graduate Scholarship, and a Google Research Award to Leyton-Brown. -.. _section-downloading: - From 71d08dc8ba453373f0d0a23390965568a887f446 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 12 Aug 2025 16:47:02 +0100 Subject: [PATCH 014/240] pygambit before tools --- doc/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/index.rst b/doc/index.rst index 1d9fdd98a..85225c011 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -63,8 +63,8 @@ construction and analysis of finite extensive and strategic games. :maxdepth: 1 intro - tools pygambit + tools gui samples build From 34467d33216b6023d87858651ad4b543b6232a27 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 12 Aug 2025 16:47:40 +0100 Subject: [PATCH 015/240] refactor history section to the bottom --- doc/intro.rst | 93 ++++++++++++++++++++++++--------------------------- 1 file changed, 43 insertions(+), 50 deletions(-) diff --git a/doc/intro.rst b/doc/intro.rst index 2f1468b92..493829225 100644 --- a/doc/intro.rst +++ b/doc/intro.rst @@ -1,9 +1,6 @@ -******** -Overview -******** - +*************** What is Gambit? -=============== +*************** Gambit is a set of software tools for doing computation on finite, noncooperative games. These comprise a graphical interface for @@ -14,51 +11,6 @@ formats for storing and communicating games to external tools. Gambit is fully-cross platform, and is supported on Linux, Mac OS X, and Microsoft Windows. -A brief history of Gambit -========================= - -The Gambit Project was founded in the mid-1980s by Richard McKelvey at -the California Institute of Technology. The original implementation -was written in BASIC, with a simple graphical interface. This code was -ported to C around 1990 with the help of Bruce Bell, and was -distributed publicly as version 0.13 in 1991 and 1992. - -A major step in the evolution of Gambit took place with the awarding -of the NSF grants in 1994, with McKelvey and Andrew McLennan as -principal investigators, and `Theodore Turocy `__ as the head programmer. -The grants sponsored a complete rewrite of Gambit in C++. The -graphical interface was made portable across platforms through the use -of the wxWidgets library (`http://www.wxwidgets.org -`__). Version 0.94 of Gambit was released in -the late summer of 1994, version 0.96 followed in 1999, and version -0.97 in 2002. During this time, many students at Caltech and Minnesota -contributed to the effort by programming, testing, and/or documenting. -These include, alphabetically, Bruce Bell, Anand Chelian, Matthew -Derer, Nelson Escobar, Ben Freeman, Eugene Grayver, Todd Kaplan, Geoff -Matters, Brian Trotter, Michael Vanier, Roberto Weber, and Gary Wu. - -Over the same period, Bernhard von Stengel, of the London School of -Economics, made significant contributions in the implementation of the -sequence form methods for two-player extensive games, and for -contributing his "clique" code for identification of equilibrium -components in two-player strategic games, as well as other advice -regarding Gambit's implementation and architecture. - -Development since the mid-2000s has focused on two objectives. First, -the graphical interface was reimplemented and modernized, with the -goal of following good interaction design principles, especially in -regards to easing the learning curve for users new to Gambit and new -to game theory. Second, the internal architecture of Gambit was -refactored to increase interoperability between the tools provided by -Gambit and those written independently. - -Gambit is proud to have participated in the Google Summer of Code -program in the summers of 2011 and 2012 as a mentoring organization. -The Python API, which became part of Gambit from Gambit 13, was -developed during these summers, thanks in particular to the work -of Stephen Kunath and Alessandro Andrioni. - - Key features of Gambit ====================== @@ -184,3 +136,44 @@ include: of British Columbia, the NSERC Canada Graduate Scholarship, and a Google Research Award to Leyton-Brown. + +The Gambit Project was founded in the mid-1980s by Richard McKelvey at +the California Institute of Technology. The original implementation +was written in BASIC, with a simple graphical interface. This code was +ported to C around 1990 with the help of Bruce Bell, and was +distributed publicly as version 0.13 in 1991 and 1992. + +A major step in the evolution of Gambit took place with the awarding +of the NSF grants in 1994, with McKelvey and Andrew McLennan as +principal investigators, and `Theodore Turocy `__ as the head programmer. +The grants sponsored a complete rewrite of Gambit in C++. The +graphical interface was made portable across platforms through the use +of the wxWidgets library (`http://www.wxwidgets.org +`__). Version 0.94 of Gambit was released in +the late summer of 1994, version 0.96 followed in 1999, and version +0.97 in 2002. During this time, many students at Caltech and Minnesota +contributed to the effort by programming, testing, and/or documenting. +These include, alphabetically, Bruce Bell, Anand Chelian, Matthew +Derer, Nelson Escobar, Ben Freeman, Eugene Grayver, Todd Kaplan, Geoff +Matters, Brian Trotter, Michael Vanier, Roberto Weber, and Gary Wu. + +Over the same period, Bernhard von Stengel, of the London School of +Economics, made significant contributions in the implementation of the +sequence form methods for two-player extensive games, and for +contributing his "clique" code for identification of equilibrium +components in two-player strategic games, as well as other advice +regarding Gambit's implementation and architecture. + +Development since the mid-2000s has focused on two objectives. First, +the graphical interface was reimplemented and modernized, with the +goal of following good interaction design principles, especially in +regards to easing the learning curve for users new to Gambit and new +to game theory. Second, the internal architecture of Gambit was +refactored to increase interoperability between the tools provided by +Gambit and those written independently. + +Gambit is proud to have participated in the Google Summer of Code +program in the summers of 2011 and 2012 as a mentoring organization. +The Python API, which became part of Gambit from Gambit 13, was +developed during these summers, thanks in particular to the work +of Stephen Kunath and Alessandro Andrioni. From 4b57329cb710f7b7c412f68d0fbd2dcb090226f3 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 13 Aug 2025 10:15:58 +0100 Subject: [PATCH 016/240] remove empty quickstart doc --- doc/quickstart.rst | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 doc/quickstart.rst diff --git a/doc/quickstart.rst b/doc/quickstart.rst deleted file mode 100644 index e69de29bb..000000000 From 0b45d0bb6349966366fccd00ad92df64f43af370 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 13 Aug 2025 10:20:21 +0100 Subject: [PATCH 017/240] add links to docs and site on README --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 0f84442cb..c4f4793cd 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,9 @@ **Gambit** is the package for doing computation in (non-cooperative) game theory. +- See our [documentation](https://gambitproject.readthedocs.io/) +- Check our [project website](https://www.gambit-project.org/) + Gambit provides: - Structures to represent games in extensive and strategic form From 16a4da4d5b663285c3f5a12311257b92ffb7a26e Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 13 Aug 2025 10:31:46 +0100 Subject: [PATCH 018/240] developer docs section --- doc/{build.rst => developer.build.rst} | 52 +------------------------- doc/developer.contributing.rst | 50 +++++++++++++++++++++++++ doc/developer.rst | 13 +++++++ doc/index.rst | 2 +- 4 files changed, 66 insertions(+), 51 deletions(-) rename doc/{build.rst => developer.build.rst} (69%) create mode 100644 doc/developer.contributing.rst create mode 100644 doc/developer.rst diff --git a/doc/build.rst b/doc/developer.build.rst similarity index 69% rename from doc/build.rst rename to doc/developer.build.rst index e83ebddde..62a8f4706 100644 --- a/doc/build.rst +++ b/doc/developer.build.rst @@ -1,5 +1,5 @@ -For developers: Building Gambit from source -=========================================== +Building Gambit from source +=========================== This section covers instructions for building Gambit from source. This is for those who are interested in developing Gambit, or who @@ -144,51 +144,3 @@ using `nose2`. Once installed, simply ``import pygambit`` in your Python shell or script to get started. - -Editing this documentation --------------------------- - -1. If you haven't already, clone the Gambit repository from GitHub: :: - - git clone https://github.com/gambitproject/gambit.git - cd gambit - -2. Either install the docs requirements into your existing PyGambit development environment, or create a new virtual environment and install both the requirements and PyGambit there. For example, you can use `venv` to create a new environment: :: - - python -m venv docenv - source docenv/bin/activate - -3. Install the requirements and make the docs: :: - - pip install . - cd doc - pip install -r requirements.txt - make html # or make livehtml for live server with auto-rebuild - -4. Open ``doc/_build/html/index.html`` in your browser to view the documentation. - -5. Make any changes you want to the `.rst` files in the ``doc`` directory and rebuld the documentation to check your changes. - -6. Follow the usual GitHub workflow to commit your changes and push them to the repository. - -7. Core developers will review your changes and merge to the master branch, which automatically deploys the documentation via the ReadTheDocs service. - -.. TODO: Add instructions for the GitHub workflow during contributor docs refactoring. - See https://github.com/gambitproject/gambit/issues/541 - -Bug reports ------------ - -In the first instance, bug reports or feature requests should be -posted to the Gambit issue tracker, located at -``_. - -When reporting a bug, please be sure to include the following: - -* The version(s) of Gambit you are using. (If possible, it is helpful - to know whether a bug exists in both the current stable/teaching and - the current development/research versions.) -* The operating system(s) on which you encountered the bug. -* A detailed list of steps to reproduce the bug. Be sure to include a - sample game file or files if appropriate; it is often helpful to - simplify the game if possible. \ No newline at end of file diff --git a/doc/developer.contributing.rst b/doc/developer.contributing.rst new file mode 100644 index 000000000..4de27ee32 --- /dev/null +++ b/doc/developer.contributing.rst @@ -0,0 +1,50 @@ +Contributing to the Gambit Project +================================== + +Editing this documentation +-------------------------- + +1. If you haven't already, clone the Gambit repository from GitHub: :: + + git clone https://github.com/gambitproject/gambit.git + cd gambit + +2. Either install the docs requirements into your existing PyGambit development environment, or create a new virtual environment and install both the requirements and PyGambit there. For example, you can use `venv` to create a new environment: :: + + python -m venv docenv + source docenv/bin/activate + +3. Install the requirements and make the docs: :: + + pip install . + cd doc + pip install -r requirements.txt + make html # or make livehtml for live server with auto-rebuild + +4. Open ``doc/_build/html/index.html`` in your browser to view the documentation. + +5. Make any changes you want to the `.rst` files in the ``doc`` directory and rebuld the documentation to check your changes. + +6. Follow the usual GitHub workflow to commit your changes and push them to the repository. + +7. Core developers will review your changes and merge to the master branch, which automatically deploys the documentation via the ReadTheDocs service. + +.. TODO: Add instructions for the GitHub workflow during contributor docs refactoring. + See https://github.com/gambitproject/gambit/issues/541 + +Bug reports +----------- + +In the first instance, bug reports or feature requests should be +posted to the Gambit issue tracker, located at +``_. + +When reporting a bug, please be sure to include the following: + +* The version(s) of Gambit you are using. (If possible, it is helpful + to know whether a bug exists in both the current stable/teaching and + the current development/research versions.) +* The operating system(s) on which you encountered the bug. +* A detailed list of steps to reproduce the bug. Be sure to include a + sample game file or files if appropriate; it is often helpful to + simplify the game if possible. \ No newline at end of file diff --git a/doc/developer.rst b/doc/developer.rst new file mode 100644 index 000000000..ba1605914 --- /dev/null +++ b/doc/developer.rst @@ -0,0 +1,13 @@ +.. _developer: + + +Developer docs +============== + +This section contains information for developers who want to contribute to the Gambit project, including how to build Gambit from source, how to contribute code, and how to report bugs. + +.. toctree:: + :maxdepth: 2 + + developer.build + developer.contributing \ No newline at end of file diff --git a/doc/index.rst b/doc/index.rst index 85225c011..2fcb284f3 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -67,7 +67,7 @@ construction and analysis of finite extensive and strategic games. tools gui samples - build + developer formats biblio From 057c434e1ddb57375424c667a786010bd52e141b Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 13 Aug 2025 11:02:53 +0100 Subject: [PATCH 019/240] update toc with developer section --- doc/contents.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/contents.rst b/doc/contents.rst index 0fc190ffa..4b49795cc 100644 --- a/doc/contents.rst +++ b/doc/contents.rst @@ -11,7 +11,7 @@ Detailed table of contents tools gui samples - build + developer formats biblio From e5e0669fdea9d8056b5f5f4c2fddccb1e3be7aa6 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 13 Aug 2025 11:06:29 +0100 Subject: [PATCH 020/240] add version number to bug report template --- .github/ISSUE_TEMPLATE/bug_report.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 092d9f75d..f0c30e678 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -19,6 +19,15 @@ body: - Other validations: required: true + - type: textarea + id: version + attributes: + label: What version of Gambit are you using? + description: Please provide the version number. + placeholder: e.g., 16.3.0 + value: "16.3.0" + validations: + required: true - type: textarea id: what-happened attributes: From 67de383dcc4c9afed4365b337e4e2948372860f3 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 13 Aug 2025 11:08:19 +0100 Subject: [PATCH 021/240] add operating system dropdown to bug report template --- .github/ISSUE_TEMPLATE/bug_report.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index f0c30e678..e83059645 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -19,6 +19,17 @@ body: - Other validations: required: true + - type: dropdown + id: os + attributes: + label: What operating system are you using? + multiple: true + options: + - Windows + - macOS + - Linux + validations: + required: true - type: textarea id: version attributes: From f01785d3157b3025fc3c7ba9993d7097137951a3 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 13 Aug 2025 11:12:21 +0100 Subject: [PATCH 022/240] move issues section to top --- doc/developer.contributing.rst | 37 +++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/doc/developer.contributing.rst b/doc/developer.contributing.rst index 4de27ee32..b67223845 100644 --- a/doc/developer.contributing.rst +++ b/doc/developer.contributing.rst @@ -1,6 +1,27 @@ Contributing to the Gambit Project ================================== +This section provides guidelines for contributing to the Gambit project, including how to report bugs, suggest features, and contribute code. +It includes information relevant to both core developers and external contributors. + +GitHub issues +---------------- + +In the first instance, bug reports, feature requests and improvements to the Gambit documentation should be +posted to the Gambit issue tracker, located at +``_. +Use the issue templates to help you provide the necessary information. + +When reporting a bug, please be sure to include the following: + +* The version(s) of Gambit you are using. (If possible, it is helpful + to know whether a bug exists in both the current stable/teaching and + the current development/research versions.) +* The operating system(s) on which you encountered the bug. +* A detailed list of steps to reproduce the bug. Be sure to include a + sample game file or files if appropriate; it is often helpful to + simplify the game if possible. + Editing this documentation -------------------------- @@ -32,19 +53,3 @@ Editing this documentation .. TODO: Add instructions for the GitHub workflow during contributor docs refactoring. See https://github.com/gambitproject/gambit/issues/541 -Bug reports ------------ - -In the first instance, bug reports or feature requests should be -posted to the Gambit issue tracker, located at -``_. - -When reporting a bug, please be sure to include the following: - -* The version(s) of Gambit you are using. (If possible, it is helpful - to know whether a bug exists in both the current stable/teaching and - the current development/research versions.) -* The operating system(s) on which you encountered the bug. -* A detailed list of steps to reproduce the bug. Be sure to include a - sample game file or files if appropriate; it is often helpful to - simplify the game if possible. \ No newline at end of file From d2aa4db27a60b7f8863e1cd8db35338d2053422e Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 13 Aug 2025 11:28:25 +0100 Subject: [PATCH 023/240] add contributing code guidelines to documentation --- doc/developer.contributing.rst | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/doc/developer.contributing.rst b/doc/developer.contributing.rst index b67223845..daf27fcac 100644 --- a/doc/developer.contributing.rst +++ b/doc/developer.contributing.rst @@ -22,6 +22,38 @@ When reporting a bug, please be sure to include the following: sample game file or files if appropriate; it is often helpful to simplify the game if possible. +Contributing code +---------------- + +Gambit is an open-source project, and contributions are welcome from anyone. +The project is hosted on GitHub, and contributions can be made via pull requests following the standard GitHub workflow. + +1. To get started contributing code in the `Gambit GitHub repo `__, do one of the following: + +- Core developers: request contributor access from one of the `team `__ +- External contributors: fork the repository on GitHub. + +2. Clone the repository to your local machine :: + + git clone https://github.com/gambitproject/gambit.git # or your fork URL + cd gambit + +3. Create a new branch for your changes :: + + git checkout -b feature/your-feature-name + +4. Make your changes. Commit each change with a clear commit message :: + + git add . + git commit -m "Add feature X or fix bug Y" + +5. Push your changes to your fork or branch :: + + git push origin feature/your-feature-name + +6. Open a pull request on GitHub to the master branch of the upstream repository, describing your changes and linking to any relevant issues. +7. Core developers will review your changes, provide feedback, and merge them into the master branch if they meet the project's standards. + Editing this documentation -------------------------- From 5e8f68e7151ac3cdd1e5f876d9c12950bd09703b Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 13 Aug 2025 11:52:16 +0100 Subject: [PATCH 024/240] update requirements.txt to specify package versions --- doc/requirements.txt | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/doc/requirements.txt b/doc/requirements.txt index a9634baf5..6a7554f1d 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -1,9 +1,9 @@ -Cython -numpy -scipy -pydata-sphinx-theme -sphinx_design -sphinx-autobuild -ipython<7.0.0 -matplotlib -pickleshare +Cython==3.1.2 +numpy==2.3.2 +scipy==1.16.1 +pydata-sphinx-theme==0.16.1 +sphinx_design==0.6.1 +sphinx-autobuild==2024.10.3 +ipython==6.5.0 +matplotlib==3.10.5 +pickleshare==0.7.5 From 5ab2aaebe3ce05ce60abc36913a7f01e0f445554 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 13 Aug 2025 12:09:48 +0100 Subject: [PATCH 025/240] ignore 'doc/**' and '.github/ISSUE_TEMPLATE/**' paths in all workflows --- .github/workflows/lint.yml | 6 ++++++ .github/workflows/osxbinary.yml | 3 +++ .github/workflows/python.yml | 6 ++++++ .github/workflows/tools.yml | 6 ++++++ .github/workflows/wheels.yml | 4 ++++ 5 files changed, 25 insertions(+) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 5d6b95ccb..39ee68f9b 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -2,7 +2,13 @@ name: Linters and coding standards checks on: push: + paths-ignore: + - 'doc/**' + - '.github/ISSUE_TEMPLATE/**' pull_request: + paths-ignore: + - 'doc/**' + - '.github/ISSUE_TEMPLATE/**' jobs: clang-format: diff --git a/.github/workflows/osxbinary.yml b/.github/workflows/osxbinary.yml index 30bcbdc25..ceef31feb 100644 --- a/.github/workflows/osxbinary.yml +++ b/.github/workflows/osxbinary.yml @@ -2,6 +2,9 @@ name: MacOS static GUI binary on: push: + paths-ignore: + - 'doc/**' + - '.github/ISSUE_TEMPLATE/**' tags: - 'v*' schedule: diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 1108d4af3..236966b84 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -2,7 +2,13 @@ name: pygambit Python extension on: push: + paths-ignore: + - 'doc/**' + - '.github/ISSUE_TEMPLATE/**' pull_request: + paths-ignore: + - 'doc/**' + - '.github/ISSUE_TEMPLATE/**' jobs: linux: diff --git a/.github/workflows/tools.yml b/.github/workflows/tools.yml index 7cc951e52..0c6b3e7fa 100644 --- a/.github/workflows/tools.yml +++ b/.github/workflows/tools.yml @@ -2,7 +2,13 @@ name: Build executables on: push: + paths-ignore: + - 'doc/**' + - '.github/ISSUE_TEMPLATE/**' pull_request: + paths-ignore: + - 'doc/**' + - '.github/ISSUE_TEMPLATE/**' jobs: linux: diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 70dff4e57..a66c2cf9b 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -1,7 +1,11 @@ + name: pygambit wheels on: push: + paths-ignore: + - 'doc/**' + - '.github/ISSUE_TEMPLATE/**' tags: - 'v*' schedule: From 50b1f5ffbba71b4d65a1510b1291ec84799dffbd Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 13 Aug 2025 12:13:44 +0100 Subject: [PATCH 026/240] also dont run on README.md changes --- .github/workflows/lint.yml | 2 ++ .github/workflows/osxbinary.yml | 1 + .github/workflows/python.yml | 2 ++ .github/workflows/tools.yml | 2 ++ .github/workflows/wheels.yml | 1 + 5 files changed, 8 insertions(+) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 39ee68f9b..02eddc6a6 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -5,10 +5,12 @@ on: paths-ignore: - 'doc/**' - '.github/ISSUE_TEMPLATE/**' + - 'README.md' pull_request: paths-ignore: - 'doc/**' - '.github/ISSUE_TEMPLATE/**' + - 'README.md' jobs: clang-format: diff --git a/.github/workflows/osxbinary.yml b/.github/workflows/osxbinary.yml index ceef31feb..a6cfc2677 100644 --- a/.github/workflows/osxbinary.yml +++ b/.github/workflows/osxbinary.yml @@ -5,6 +5,7 @@ on: paths-ignore: - 'doc/**' - '.github/ISSUE_TEMPLATE/**' + - 'README.md' tags: - 'v*' schedule: diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 236966b84..8299087eb 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -5,10 +5,12 @@ on: paths-ignore: - 'doc/**' - '.github/ISSUE_TEMPLATE/**' + - 'README.md' pull_request: paths-ignore: - 'doc/**' - '.github/ISSUE_TEMPLATE/**' + - 'README.md' jobs: linux: diff --git a/.github/workflows/tools.yml b/.github/workflows/tools.yml index 0c6b3e7fa..536f85c00 100644 --- a/.github/workflows/tools.yml +++ b/.github/workflows/tools.yml @@ -5,10 +5,12 @@ on: paths-ignore: - 'doc/**' - '.github/ISSUE_TEMPLATE/**' + - 'README.md' pull_request: paths-ignore: - 'doc/**' - '.github/ISSUE_TEMPLATE/**' + - 'README.md' jobs: linux: diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index a66c2cf9b..24143f77e 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -6,6 +6,7 @@ on: paths-ignore: - 'doc/**' - '.github/ISSUE_TEMPLATE/**' + - 'README.md' tags: - 'v*' schedule: From 8f71ad48b5f611ed3918c79ec06979feb6353be6 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 20 Aug 2025 11:36:50 +0100 Subject: [PATCH 027/240] Update Python version to 3.11 in Read the Docs configuration --- .readthedocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.readthedocs.yml b/.readthedocs.yml index d91034ca8..ef946888f 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -8,7 +8,7 @@ formats: all build: os: ubuntu-22.04 tools: - python: "3.9" + python: "3.11" apt_packages: - libgmp-dev From 2d5091f499abeb56a0ae6912f5ed4917b08f6aa1 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 21 Aug 2025 10:03:39 +0100 Subject: [PATCH 028/240] add revised logo --- doc/_static/gambit.png | Bin 22433 -> 854477 bytes doc/_templates/layout.html | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/_static/gambit.png b/doc/_static/gambit.png index b1053aa7f1b6ff6449e9597e496f59454b363d91..b264a145e25b56a18722fb51909ba014f4f46865 100644 GIT binary patch literal 854477 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

Cf5hcZszP`QH*+=h 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

CW)k4Z|( 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

!`;Ig2>_l3u8x863+(m#Ito!|K# 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

}Q=d9`&e4>9JF{)-nD7-`$+^40#|4-lkOP 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Ξ+~pC=o)pv5pvX6#5HCQkJy=q%S4ocR~nY+J;VxA{V8UQ_h~xq)nPYH)7R zq14(dRM^mP9CL+qDYd;g1pzooGxZ22WD|osL}n)xrs37)OT=`m%0SHQSSz(MWYZ~ z(ZeW({%q=H@>>#lf;)>;W-^F^9Ump;uJ#VlA{K_o3NBAj1TkQ|(wp#PDbcK$vKA|$ zs@;Oh36aDHl5`-#Iy=S0&}DYYe%_yXbJS53=) z!oo3Zz=m;#5T}cEJ4AwA16wXxR~MsI%{FO+v+I@2npHa(^EpsyghL<=?%ljdwXP%gFon?wKy9=`4Z^`X`gy*UpStB)bq#w zx4YZevICEN;X;@Cp)aUHW!B0Zfu`-1{cmg&Q&93pPCO9Ajg*quZ_3U>yKn3_kLz>? z_g}p8nDMgDzhXRd{|D<%&%N}+M|y6xF9r)k{y6)gK&urZ*P5D^>O|le!0{H4XO;7G zqie7K;rQf5pBq27-!F|#|_tOj!@dMt>Du{vurBN)_XvIfRvf}E6>b} zop;(YzJAe}W5?_7HePh(Z;l7w`{85XJ@0HTpP+S;*J%(-yb$l=&vD_QMP);Kip-~; z%D4N=MA92yY=fI_-f>)f^#$V#=bbkG`lP=ZSKj>9aqs;es0%oC!P!ZUr#Ut>+ZXkA zrmCM&ib#IF9pFn-d1w8Q?2mr*)G4b$m$9A)W@)kKI*Xor8k- zutJ@;!>vlQl+319Sa(k)8dd%j$EsW=y!s%>+a+^$)vdgO=$Oxmfd zsAHBdpvYyF{$p31uBmQp*-xF!khdCYLky;+cNb)8d!@CLi(z9*-*B&ysQ_^`SbQvV z!H8usu_aoyu`z=e(pQ7NhOc6f-2G6~ZkxT0lT3jsj}_pCb8_31qgp|hs+O+AZ*qp9 zy)oY)z(93$RJoE~;J}#QTK^Y~g_8ZqV6U(P$DnSVEN@7Ru5V#nH z9Hk)MhGGChacC>7VEm(juhk

JDd~eSVWZJEVV5n5c*=M`qDt+u}Ze*V|_Fhm!T2 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ν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%0AL6f8ad6(BwIkb#H}&ZQwyeP7f08s= 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ξiBTT{hwrRI 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 literal 22433 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 diff --git a/doc/_templates/layout.html b/doc/_templates/layout.html index 13a64fef9..7ee32a260 100644 --- a/doc/_templates/layout.html +++ b/doc/_templates/layout.html @@ -12,11 +12,11 @@ {% block relbar1 %} -

+
Chadwick + pathto("_static/gambit.png", 1) }}" border="0" alt="Chadwick" style="width: 25%;"/> -

Software tools for game theory.

+

Software tools for game theory.

{{ super() }} {% endblock %} From 03836f7882b2a6ea480e22b762343ac32bf79138 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 21 Aug 2025 10:08:38 +0100 Subject: [PATCH 029/240] neat centred logo and title --- doc/_templates/layout.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/_templates/layout.html b/doc/_templates/layout.html index 7ee32a260..e7c7d9759 100644 --- a/doc/_templates/layout.html +++ b/doc/_templates/layout.html @@ -12,11 +12,11 @@ {% block relbar1 %} -
+
Chadwick + pathto("_static/gambit.png", 1) }}" border="0" alt="Chadwick" style="width: 16%;"/> -

Software tools for game theory.

+

Software tools for game theory.

{{ super() }} {% endblock %} From 8876e32010a6f978d499a241697e847c122227d3 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 21 Aug 2025 10:38:44 +0100 Subject: [PATCH 030/240] update ipython and jupyter --- .readthedocs.yml | 2 +- doc/requirements.txt | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.readthedocs.yml b/.readthedocs.yml index ef946888f..1dd08d262 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -8,7 +8,7 @@ formats: all build: os: ubuntu-22.04 tools: - python: "3.11" + python: "3.13" apt_packages: - libgmp-dev diff --git a/doc/requirements.txt b/doc/requirements.txt index 6a7554f1d..5909d77ee 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -4,6 +4,7 @@ scipy==1.16.1 pydata-sphinx-theme==0.16.1 sphinx_design==0.6.1 sphinx-autobuild==2024.10.3 -ipython==6.5.0 +ipython==9.4.0 matplotlib==3.10.5 pickleshare==0.7.5 +jupyter==1.1.1 \ No newline at end of file From ffad576ceaa249cef445d57dab46c64e25bd91f7 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 21 Aug 2025 16:18:18 +0100 Subject: [PATCH 031/240] restore old logo --- doc/_static/gambit.png | Bin 854477 -> 8823 bytes doc/_templates/layout.html | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/_static/gambit.png b/doc/_static/gambit.png index b264a145e25b56a18722fb51909ba014f4f46865..fa99aa6a8dfa022ef53e4b5602b2676b320c1889 100644 GIT binary patch literal 8823 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

Cf5hcZszP`QH*+=h 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

CW)k4Z|( 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

!`;Ig2>_l3u8x863+(m#Ito!|K# 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

}Q=d9`&e4>9JF{)-nD7-`$+^40#|4-lkOP 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Ξ+~pC=o)pv5pvX6#5HCQkJy=q%S4ocR~nY+J;VxA{V8UQ_h~xq)nPYH)7R zq14(dRM^mP9CL+qDYd;g1pzooGxZ22WD|osL}n)xrs37)OT=`m%0SHQSSz(MWYZ~ z(ZeW({%q=H@>>#lf;)>;W-^F^9Ump;uJ#VlA{K_o3NBAj1TkQ|(wp#PDbcK$vKA|$ zs@;Oh36aDHl5`-#Iy=S0&}DYYe%_yXbJS53=) z!oo3Zz=m;#5T}cEJ4AwA16wXxR~MsI%{FO+v+I@2npHa(^EpsyghL<=?%ljdwXP%gFon?wKy9=`4Z^`X`gy*UpStB)bq#w zx4YZevICEN;X;@Cp)aUHW!B0Zfu`-1{cmg&Q&93pPCO9Ajg*quZ_3U>yKn3_kLz>? z_g}p8nDMgDzhXRd{|D<%&%N}+M|y6xF9r)k{y6)gK&urZ*P5D^>O|le!0{H4XO;7G zqie7K;rQf5pBq27-!F|#|_tOj!@dMt>Du{vurBN)_XvIfRvf}E6>b} zop;(YzJAe}W5?_7HePh(Z;l7w`{85XJ@0HTpP+S;*J%(-yb$l=&vD_QMP);Kip-~; z%D4N=MA92yY=fI_-f>)f^#$V#=bbkG`lP=ZSKj>9aqs;es0%oC!P!ZUr#Ut>+ZXkA zrmCM&ib#IF9pFn-d1w8Q?2mr*)G4b$m$9A)W@)kKI*Xor8k- zutJ@;!>vlQl+319Sa(k)8dd%j$EsW=y!s%>+a+^$)vdgO=$Oxmfd zsAHBdpvYyF{$p31uBmQp*-xF!khdCYLky;+cNb)8d!@CLi(z9*-*B&ysQ_^`SbQvV z!H8usu_aoyu`z=e(pQ7NhOc6f-2G6~ZkxT0lT3jsj}_pCb8_31qgp|hs+O+AZ*qp9 zy)oY)z(93$RJoE~;J}#QTK^Y~g_8ZqV6U(P$DnSVEN@7Ru5V#nH z9Hk)MhGGChacC>7VEm(juhk

JDd~eSVWZJEVV5n5c*=M`qDt+u}Ze*V|_Fhm!T2 zTZnu|WXT=0WZ3w;rY|`2NR0zQiz3HM)6$fUkE2#%+7VC0>6c#qBGzH3 z!Olr#`Ephb8%WmG##WzNkDXC$%QI&svn~s(YFjat#Lg;as#{hHu(OTQMUv7le$;o# z;uba1`2C_VLDidbTftrXUEOv`{HhBw@xF4hm+o$!V?jZ;oOWt{%GPbajR zp!pYWSS0YB*y@jCXnS(9)Zt4(Mtr=}SJw-gZ)e(W!RBAz89c^8a+${+JXL0Ag;~|D zRXceP))Prp&!G%NlX%^F`-wYa8BMwcJ^f1`@h3TQ2KUPPzn1gqwii*V~wt%+PLI3s88@tZXA*pJb@%j%*s=z2u_td#``V`0(ZL z9EaZRXZ0A3E$Ws&T>8di=B%*#;Xl?aGMBSQO4m@JviI;y!5qx_6g!BU$Bj2{9dADO zQ{#^x^1qFjJo|UXE<5XDvo5^asy?W?vj`YRy}}546^h#>x zhsi4<#pT?_KMolOvVt$)r5Z2E0kP`M_-xh1`yc-3N8_Kq^M&!6pLx}I;gK&HyY0Rk z5t%cz_+mq%|IA?8$?co~>;fz=Si-XjR`fOhouLM0rKj^?oL9@;GR*UfCM8Kqy~Z4$ ziA;0H;J)CTXE=ZD>*p(EF5(j)V@KzSU5-3i5vwg9@rpcSf`ns)V|5G(gg7%!HJ7jz z?aln?AzU(`8`PL}+S_e&!5L+aA0X5FcvqtXiC>_OPblJIPD)0M#O$gTgqb47%9HgK zK4hM6vhjS7+^K+PniiOYAVs9jn{yRdkS9oI2}}j;{hR^92$E|2Viv*5p9K6_-u+qG zL*k}=MB#0Cg-JCLfOlWKePT-xAgHNsB~5gZ6P9y{*jPY4N6-n0T(5b4xd96vE)`e9 zYv-}dS=M846caA)-*`}<|1?RJM!TA{OaDLBw#!h%ssql8Oyeudwq@NOTHpQ4+|Qh7{2%@CAB`9N#tX+@d+A34DIDuukwg1ai>hT6 zL+hQ3_#@9Q3=E4@3dPa9pqeWt=yQj2UvL(}xhX#YToyZTH=ff{ z%&}BmvISM45DzN;N@+>NwlM&VWQfB8xImK>mT4FVZVNyk!Oc5^rLK6evR-P#*D<#j z#Yw+S;dw$`e+X1+*Pe!!#Oi`y*TLcksRR;Qj;{u@y#y>QM(RygWf#+Q5k3>AnW}IV z5Y|=A==T0rkxCxlYzs1UTPPiqwtJ*TZ4>mBf*annk+fUaDrSin1wl+uSHcxa<+VF0 zY$MoSK=oYP?t(Kq=Z=crS$NGhP6xTZ=P_Fn0Z=~LOYy6Tzc~P^Kvlo5+>dJ2_}F3< zcApb^s(2w{^b57x)d(o#QCQg5dQ-`|W%o5R?2)J4xJQ8%B?E z`oqTx?1)*wXSf#K4OKcKL~UmH%{SdpZ47611FCoya>8KWY6b#LAxFr}qQyLjZ2-#9 zm<;FSmhW^93AgTRrAgeKNe332_AxsN-oj$60Yj9NNNwzV)9SW736_J69r^JHKe+U= z@gDtx_Vb_r>q4dQV_x~OheW_74~jVxq&PiuEoTtfW8o*vsc`UeTZ_(fPu&=5Sr}|h zz}o%D#K7J~0As{BbG*_~b;`AFpOz7(C9J{#(L8V)6fZ0bfmHb9p1#I(nN$J%ZMapjXs%-{FH!|Z6uhEh(t{<0HBJ^N@Oy| zZ2hPeu+KQ+$nnyby>uLW@Pqv0fwtFP%sWBhv7v|bHsQ2mwW)fc7zmPggwUvpOck%t zAa&*B_1-J>z9#7u~t)yDItk1DTH&i$k>FA9V28bLZRH_$IFEW0Yjd zKrAMQgp*&jc`F6*vrJwra-SE|Ago6S1p`2#u9DOtE4^!KGl677pDFR7dii#IaG-9u zaWtc_?c9dLBZy5vP=eG_>YH>@5IT>rw0fk*4L6LxcvYy zvLcHuthun669Fm7XTj|da|tlBN6nk9`d83@zUWiq{(C%m9Q*5kGxopZ0n*CQ7o3Yg zHss559cL=;qll2@aWilWFBv-gq=7f8fVHl1brjAK1Ik@OxpO;@)z~yHy5u|KxZACkfuKjC#Q#2sFHw7=wN!83pS7&1h9bN9?!zWVX;s)zp9 z@#1H_WbCzzp0{X9`W{gJO}ifP1|2^?zx4L3j_kUA6fgjAsy!@&ZF}t0p!@#1q|2i z$3$K*My3{@RrSF-4ME7g0O-KYj96BR2{xrns^9Eq1gS z1oa7Du(?TrfSZT)(r2ca?eCq2d0NwP5K?hW3);oU)Du;xDqKfxTs(af> z_kpU=;2p44t(PowPXYzR7tT$(g2+7cf$`;$8eDMZKMT0SdCQJK|oEB}Im^)Ws+oz#nVQx_Hx*lUUBc&+KN-m;DWj>R@MJwKxn)vMiXN$CBLV`&mrLkaoP6Z+mozIKY z2p9h+L)G8><~NVS4}aRY)!w)AIgvk4nos#AcAX!2t!-hBdD(W{G&f8I#}*Ku&%KSg zr#axjx8A?44>!$;z8_Nqx%*6~?MU2?Eoh>Qo;J>x78=JL*D+9TLFCL;{d1`Fm;Gbp zrT}C=L1zZSFAV3u6*xZ{_*y-G{miq^SzT}rm;Hw{ey|lCJxZ*02qMKkRV66uF6%}J zkQn0%oK;casok6l&TrEN=K~K6Sc*Bj*EuRb?Ye!tZCo>!PXKg+HL4mPkEsQ%Dq_i~ zm4z$TD7RtG9H9}59`78lWa<)Z&z&G!mz}s|h$pW`SmTto&dKx#hv&2U_#?5q8?W^@3tgy?iGF|M4t1@ zAZ#8wX;N{tB#WlreX-kqX(J{VPN-I@0xeC|$fv8)_dXG33B3$b4 z`LOXUxNCp|Qt$NV4hOy&JPrv6oZYKVMF_f0K}~^6e=W`=kVJwh3$T{yd5eOf{~OWP zYk{;~5sUpd6a{a!?XQ4SU6t9!z6~~Xq!HqprHHE?YL@D&W5p)@oIwxM9XC^a07m6zvRbKki-x-JLnavM-*u(Tq z{hpTkf}pUOBdU0e%cl_3(lM(n$p%@G)(HqOb_}*;CuBpzr#%)+ZUkt|3|xR|So~$< z3jwM_7PHQ4I2-M?7ujyUeffEMcI-#TTTXuaxOVe5#y$4C@3`&;{Tn}dfyk3yW6LoY z`i@C!tC3OQrP1Iw9LADi06*G-u@nAw=LS|ssC;1eE@cB zJIfh|+VZEqnUbLQg54C7}{!?||EOP3S6VGC_@oS81NTK_r zJgRWP`8eI(ciL&EjjygRI9GfomusV06$L(%89cs!v3@j=3(m)`E;yr?p%JOZ)XRTw z;Q(4fv{b|qWXr?cq*hecTDLcq7AfbK^xmH zja+c<9!r*&kLxQ~swSofsyKheVQu-fD6vKo43NbOGI1yYJfod+u`W+|;uFWy4}bbN z;)th@{rBJBV&5?g+*FK-D&D~4N81RWxtX`|lnkfdtXXF}M?)lq7mw>UP#vB!R@E^s z`$H^~=fn^e%K#S#-e7f@GphKlW{tgUFs9hnCm<3n$6f&OpEzxZtBR5KJja&I7czb9 z9wQf=kJkm~Ji{4X@6+J5Yq;b-xz*bJFY=D9*X`2*Z@Vx{cdz;bU*sra&IRX(jko%O z^WD;M>!LO5>|A`{zO^0`&pl)jy2~qYPF>!IcL&#~qcH&TnwS566mI+a%W|9zIau^&PM|ip#S6~x7bfiC&QiTAq4Pl~+swm+vbO9y%aG|U0&JKC zNb(;>u+vKZsHN?S#KhE+XuHoKup*aBK7+R%G2*M@gvDcI!^8mhdf(}`^dP%b2-RFT zdfd?GOSoA18mWZ#K*$ceD$uG55_?eC6T>XXx!{aRSx;Rinh}z<5i}H$t)lWN9Z*yS zWi=DRh{iB_B`R1#4`(w2n8}ki8$GB-tQ=8w0_;qUa#91~7*Lh--Y96AR{$;~-mDW} z`{i~oXFZM&F$rRW}jaazRdUN8xXi8embTSsjrqb|9N zRWwwQ(M_RR|t1#eahM|K9y7`>6kAaC24*(VgG zne$lfJKpI|;}MU1)cCdk{Je44p@-U4thtj;Zza(uN@bsLDyC&H?GfXdACYj8p?%{$ zddX#13>ZWXvUdLYz#5B2f~t>mvQWAl-`oGIgyN%1Px_q2{ z(U-?>9`?VE#~ggvIPmrl)DIKxr2g>ZdExOan?9Ca;IIGPh>vsh%EkRxjZWb+!s=u~ zV`;f#=46=@#r)t2Ok8~X!dagkNB!l)$35<}|G3j_?k!9pFi?s}0oP%e+ z^mb)_ose$PBT6p2>WXpMkA5)5uIG>6J@nndSa|0!AON77^mvXfW9!x%$JZ|Ws(zI3j^ptUIAR?6uwNVd z-iGID>uzJ>gWnw_E;T*>sdOC-!05fb+qXm%ixsEx=?hTqWCA76ymurW%JQHN7Xgg-sDsEGe-unx= zwoAovvo6~2s9f`R?sv}`ci#OzKK`UC>+R ziW()?ids{Uo6;cFJ37{;vQi7F;x`zS%Q1{Nw&oeB(2m5fKO;*h*rN6WQul zO;($;pE4x*!xr=0)oq$u;Fpa-E8J@TL)CQ*sEW|BS}a*!k^#$~XNnC4s&l8s2A1w4 zAl`7}E16mJrIng~u&6N9pv?kXR%%f7ehq<@RLVoz^ZZ5f-pu-#0XDMaiDiHA+~^pj zv{15e_{piAAtz>Fa2Sxb=Kyja>x#WI!zJl+6uYcp4 z-ZY+j^wIX=ZHCCbT@izFXtN$&Jjh;uR#g5B@$h;f?Sk*A%FM5qt@~f|xlokw#9~^r zsoq@jq(vQoRR!X%d7J0!Y}Ir};p;K0XtVhFDh$L6$@U|fg zYCAT7os-S+ft=mD3pO*Ks+O45nvS-IUDC+;T!K`4fAUh!ecq1HAv89&7TdTYb8@Nc zofnWQ*pfv8#fW!d3vt}>$B!30|M_FL-FD08h1GunZPJYb_@^dVUDW%U(jIjXo2WuoMVP$&XxEebWw#+&9r83J?n*QErq0M zJjXdt6&FA37M*fv?pU=?$Kt-mnrAq__Bbv$pXDD7%*{|T>>^l@EL*_)hALYl53WaZE*ASru~=EDMm z;bJ2}6Xm*wThY&I(S771j?K!P7091W7jh)2@ zmOgLO{!BHgql_HFY|r_!!`51GfY>yyxZ;ZOidSs>(LfmJMY!U&+{KSHZfjvI{iH%c z(RH`0q2o$2gOCz=^J0j{-brq};0#vQlY8YLD*Me?2_#wObNSJB>3xsQu4`XF7=9s3E zg(PzyJbf!-HD_e1`$sZ`*z9>N3^06`n>b1znDERe&ndB(*U2wCN%Rco8zlmmknK!Z zhc6jze8iJ0mT_$9j`j%xIG-dMW~LahTy@C8+PD`$^+16%G@U6#_i#}v4izsPe9but z>ZFN2IJTnhKBP|(y5E}APPk*z9b&p@aq;&r86VXh&cFSfXOAD$7qvTb(Mu=E{x%Vp z7*p&%b@$p;EoNUNb^O81t;`{?AW~vAn|Ja^qlpY322>uB^VkJhXyqp~_$=F6xmmKA z#x|Rn3IgMf$Lj#YDFHHbc@bZTOCDToz#{IF6NqfUE!((e&c!0^8@0|AB0~zX4X`}N zkf0D)xM-O7l&OM{Igppffid5@mFM)P9Px}J$4h?ex5fh>^nkIa9;ra_2bk4-=0NM6 zk#v0EGR8fMKeubJeX=nF(3r8&(v}@_(%WWF4CJ8;f1Pmki5@C@(84F`oX8-+-gYP& zq_vdZx>19h}cgFF0%be)ix;=>AIm5To*eC({yZh|ItO z7CiOb=n#;uwM^0=A+Ok}aPqd3ek}0%tv8Ghocpoy(ntUPc=DrvZruI0_aA%c zSlBU#pia`+A7^`oC{!8Ka#!47oaVq*%Zk%R-G zAD3M7?QzP-PaeO1(u>Eh-v5zf*WL7^i8@BbvI1!@&O>#$-Llvq5)hczC|Hg6pd1SR#k5m z>rxQ&EnjffJZJ-P^n9==3o|71CWO?*ZhE}eDk}=3I;qPxu1ez^uNML$BtpFNN5N1l z@n>J8MqXBtNAE&_^cbt2AC|$q^q~$HSX3*`@Z*%Ej#U~{nWDmw_l9lB@YNzh5ZsLtLX?8msD(zkt>q1X2B*zQPnw6 zrThOTU2s17=;u~?rKQi68@nhUK1VYFAK+AsNj}|Vf!^h5G<}8^SrR*^Xq1@Wfq=1)h5`LJu%bojiE7472b;GCsxe|(Y7%r?g~Qc zICdH*8RNBm%Tc5KGRWl?6lgHXOiM#zLCJ<+ zb5ccXr0~fVOS9Ye^e<@S>8&a33IuV%5)O;C@ceW`5Ml+{N<`Ex7IWcpF0Dqjxx@K* zU2s0j7o5MV(;Ci0SNqZpeTfmVOh4kcADpWcZ5rrGh@5w~Qz_Ug_Nsb}-=;g94?OU| z2Fb+MZZmSTr2u*)@q#?Lq9(8Hm^Gyg+rGt7W@%X^&HDrb^Lbymx%Zf2v8s-y+##Q7 zvkpmQ?bAW@pui;}GfFnOFv2bB!oq6~$t)#tVTLVyrFCS|{jiQ-gVEM{ZzOI%tz0u&KL zk@Mg>fpR+IRuFg$2^ThSXbw0$w*!y_CcX4-BSffC@(wgGHL1kMN@2O$WtYB3?|IQs z<9bne`!}r?Evq&iqbN2gdb}({T$M^?TJCI(8Fn|_pbO3r8Li1?&gz+ERbLUhw>ln} z222H#RowOfv+j!zo|K|PmN5+0b}VqU?qr>8A>B9#u`^TI_#oAT$h8T{LG{J(=C*G& z^3l@_%HNK98y&;aUU0z$F zMp~nQWMXVzgJF5`2#bn$+q**2%BDHicMatugKXLeo)t-%uJkj^@au4`Y+FkrQGGN2aY3;e8zapV;(ae|M=wZ6&LeZdwIf6ACQXxUp>EKPym$7tQw8&uwgM7Rg)1A zK$ZxxPVon1b0C&fZyq7=&XeCUe&x;oaUAuKL-Ye}yJ{;zoCt)}TGfpT<-jsNW zFC>YA2Uoy%oj!zq^U^Pm^Dnz%obsDzjr-m6enRMEij!2u;cuyl-zTj$_aaR2b}tqk zHS}m0556#B9?&)Js_0mHmP;C6_Q%-r$JVvO_{!JM8Gm)^OUHTN`;zYa+*fxw-$@E( zM;C)bRJ_~9LCB_UZ@}Y`9HOIez~ipSYk&Ns@wP91cD(&re>aZ$xnI`f9rQzS$^&0` zc^&{J_0zEGcA|RR1e?htA#(Ux$8^HM8>gt6llaV2WHOvOVGOe!#HKEx8k(!jBQU&+ zLA6z*E)J80wVQyjp@WRO5Sw+U`DEK+eDR!r9>4yUpBa1T!o?l-c<|VBH*JrF@SS6` zl>oPk0VnQ&)*YPMsdB+t-nBjd`1)(d+rNC;c>Axuc^q-*5o62PLz|}J+H}4CGlmY9 zg_Fu=iw3RJJ1$)$1rn93>!-4p#m$Ljt@_0u-~jNf%@d=y%Pie+v)Tn!wl$*WvZNOLXT5_e33ml;Mw&*zTw(&;pOL!kAL&haoUSMsV{;a zWmC4x^#y0o=%ggn?krKOl<&+xft(kOnsZo25xb+dVu3-aO~YbU>{Eb-#9O4vn7|qr zUvyUW+;hL8JDl|l=hIHtBQ?%*AKmR3#@~t`=Zt5U_OpnP5MyhCB_i7)=H2HfhG}6K znC+k8yj=VWZ})E7lRRSb@zDMuG3bq5_Ob~bW^ka( zaLb~{8ktEoXZhr!u{MS=wg1@8Iu&36S;<}isNr@(L*rXMwv7+lU?Hkd<De28CE!AljaIsq4+Eowyf~!@KQ# zFw_g#sQ7$@e8>s-jW!VI<&}@DF~T8t9hQ9paHI4XRkbi_Cby0kwU624b@RCVvdae_ z29MVT=l8w;ePgFBy2DvNzU*!hm+>;O(=|B?=_Mi~$&k^qVau6W@|=tL%D(o`?owHI z&ffS&E;t|Ud1-Fq)hp~sQaC3}&vcx2fYEqd1-8hD#8_r(gvo8^f;mIfl*HXmkQwa( zGGIxHn=7tT+nWqMXNbecJhkv^Kk-yVUU7Wl8P3NZbDSP;vOH45cOj}H?o*o)k=;sA zvUPaL3XmmNOA7-VCwh`(a+=XOZnvC$=f+?|;?Q4sU|LqFJQoNJp%xw!(~GBbzQF)1 zmAFk^OCZP)+Yhp8qw;5gRogNx*p0is;ezwZ;Y^Z%b|SRniea`%7?yma;k}+6ZMu-e zhGl`1gKDmQ*d`Ox;)N?-mUgJjx$Qzwc8kWEE78&B?P;b(+~^DXEj#)5SD<;|Lk=E? zKK_a0!3RHhJn@N782jwQ#b({CC9vm>jfe%FFp_)vWq)dfS278V@K|F(2{1IaNKBTq zodJQ6nA7g<9$WKCUAM3V9~#J2u$8sPtw)7@dTU&Txsa`>F||B>u&?6YFh47fW@7En zr}D`kuO|1g&Yj95HI6^_SY2?|Gn~I$7o0f{bI9rIG&G4?Qkug~N?S2G@5pD2s#YEG zY{Y>@ol9^n=0^kH_EueRzT1Juw1N?*gpzubtL_)=pq$Ni?%XGz_`q_OZYcP$Ib%}y zcoaZfW>(X*=1kp)3O@Zv9A1XBI@b-;CxoV_)jp_7K69h%2ku{C3DkbH1Ho;^wBqMN zC~nFXF=IBz241x({@jhCOd`dw5$bdG%WItSDp~NLv60+Cw=^;WG@EQWZJUM9H?q52 zUm(BomCGH@%iJO^4D^P;9q9gsrALZZB94Q^icQQS6-FTA5U7$7o?7F(YujCLwsG|Z zbDy`F#Jmz^Oza?Yt>d?!=@{3sOE4Jv<(TZBeIqIB)VCX%tOYatRdv)3FjaGCVIAsK z9Nm}3u&%ITEI=Mdt*&z6PkJZFXOQ^JzxpaDQv@RfZSLSC8P;U+KNx!txa+Q}+;^sY zsgRyfLr8%XAaFpX8)>1dASiebfkY5RJ$j1gUj3m*>1h_i$VbBHy1WNV86na9g(=Uj7u;%& zw*%4`uE@|fvwB`9(#dfSE^sTo?T}&Ba+uP`#!7Y)bq3BKS89{D^N`H`tldWM!r8&^ zHf8wBul$v9%rP$+kJFQC*UP?@m%sFft59whiU9f2dR$Qwk1&o;CdAw8J)w8}ag+RE z!%(|gzaCWId;md7)_l1UBpLoFKM^DOw9GSTjD|ll~sdv7N&EuvYUNt`OvA-L? z^nu?P$2{su`qH26$DO(v@AVA4cvAMV$5Hz=mp2K3IMwq;o$YnZa&zv=>#rN%yWy;{ ztKLEU$1gc&JnTUa7f3hv4Cba0U!Df99&+mX*=hL%*Ii>6C@AA8;7zGKt2DvE9d_@W)I zYA~e^2o$MfPb8^T$?>C>3kWP|{QE}YPE{;)jadg?3yL+^9K%6~YsOF==$)4sRdA%9 zH+3ihk9l08m693cRtN7QYpkWycX8`80l^U~?TcUim+{0udh9s*fJ4T;gur7`JNwWe=Y8fBoyMfbgC$S~cj)6QZoK7&@xcqu9)Ew_hsJZC{Ij6d z0CH10F+*=Y?R~@9TImFH-Z&v$?bzl;jJnjQ>eXIB_;{^i_@*)>9kY6vMB?bjX`lbt zc*gslHJ)|9L$yx!8$0c=qvPqD!Jb2i-4un4t6J)YskLaxg$IX&&uRKY%eI@g(MNb( zF+TX!bH^FKb-HdiKWSw`uDZxD6^Uk6=h|Uh2cT;J#D!5PDpG1dB-Vy^9#c$seh4;Wxe^yZK%yR|79R60`ibpn0{Yk?yi3 zdVV&xbx!8QLLF+A)kkN`-QMBM8uN1|OO4~%&M@@v1}CWEnL2CIz!;~E8pnHjj7&sF zJy{tm8Nc^H~9bns+9y_~J~4Q!7w8)-L~bq)yAs60GyKlb9QlBFYXM{W@^r;nI$E zYmsAcG-2#+@geNv1WVKtLI*NqqamB<8`TB|YM@5#shtA#{7IF$OD%|Oa<~HylSutB zE>M^Y_hsjg_7Tu02^g!7FVGq?sa}u5T%#}KKKI;n##`R<7Ts|EN52!2|0KkZeSoLg zkvD{mLvydy6`E9u9UYZOUXZATBK;bKE^7(JDeu&0IKQmFG_ZW~M^M&B`9+#**TfNG zGbKleRNF|xVG#xBA#W@`)$vhVw}UlC7@4Jm+OMsX%zpgn7>CbKD2jSYU85c6#_krj5rayxwDx8}ZT^2Z-OQ5r!J)b(y;+Lma}$mU==`yygLj zNOMwhVlZAC$Acaxe$c0957x9?gBr6>ox#O6HcOqBI6xP5$Sqj9=4iu;nP^~6URf75 zLtxj55FCw9z?c!kQ4haoz>2%Z&UzEdt+(E4{Hy=q_s6rI`KYprHe7@A9BS7-HygsHxaRYUK?@&i zV_DC{lv>RS5P-=_IoIlj^J%B) zGuTfW=bfJ$&dB|rfFf{pfR>ZYV#(t==MMrmrXv%EcuK4jOVlMm%p4z6~l4 zAB>{VPsF~S1M22l*s+JEDpkS7lOEeXN7d#)LaxZ&)A$&2>wGj(RH z<7|Gi0T2+G`^2$T8q$R$!LY4x%QL$Q6fAC$c>0ukjDxM?Wh0+PGIs=4l-5pSX8Ij}ZF2{Qr)J||~KK9lU@zYMjDdnOz|vl0N}dO}mQf(RN*b-LkL z4T-zZRqTwp?(b%#$4hQLnR_Lm)q^KGv2kJPB9?s$stYvz3))2&eRF*2%l|rF^SVD6 z*Ij*+{q3N?=-$qaXRKVzOt`0+nDo=ptD}~Q%$5<_Y>At)uwh4H)L~it0=THP!+_R! zF@+0WbYcm$VTdfX59rI@yI@hdO>88SPs%Sa*~AhFJs#GgB(>x^2Nowj zbwST>NHtMKV8aDVk7}V^*rVUtr>iQiMsD<>%0Zw9Phh+28nxQ>ZHpF+rGNKI9dniNp4v=W&Np}zd+I{ePf%T$IZuH zSl|@Y;<-_#?kk$&t6}iA(FUQNSC|^-_<$HgeO}YeSC6y5ce-zEefZpWkH;VSG`(Ql zcHD8t?PbcvqE7rSV(e$qc8W7epiDO%=^Udr+xyG;wi)MN^40OcJ&w@l#2z)C{-|Td z{r5Xa7P;Y@Cmb;dAD$*>L?4|V6$gDEG8S4*^eZ7f9CkHgP%6`xW_&K6f5xtU$bs|=L?Bi&tXs!;Hwhn+F-#- zfqVUwX@McB2c4C@(@gOo6{wmO0R7ui^KwqMkBS>g=;wCkFOiBJ9|pLe3!(aB!!~z} z&z|*}@uW8&Jzj9+Bgfvm?K^I}MPJ@1C)?>}vp>^LemGazM;wLhM{H-L!HQyM2`}6-Wp7FTnlr=Z$b;bwmEx!;txL9!`8I2>1@iYt!XxN$8n7 z8gs{S1#A3hpP^)TDgq{Q+i}KMP9Gn-3nl?Y!sMd-px_`KYYvRkJI`rcb1f zcojn~;E6FShaU0lsE-!9;l>-rColNIc>VMLXguXHPaF5$?I5pJF5XmZSroNVLGzae>N8CJ4(E$>!0`+>Z0bpU`YfBcgh|DEyawR`z zH}%2``fiki6@v&|9}`Tg>mfasxaQH#wJ09A1x}pERyD4!b%sk2Z(-_Kz`zfZ) zqxbos^2EGYt@F6uF;GkWnN#e8ZksqU%G!kuS=ywVoyd7z)aRoPVx6^7KL5$k&YK{S z6#Z(~QGu&Qtr(i8Wo2LTc{2{Rlhxi-+DvG3vM#}8c2V)=Z=FmzJch1FQ z9P`qbjhDUbrQ?40zu&mme)k%?@3tF+{;$H^fQvtFe1)wpx-7039EgmN=@AQ9=oO~= z6C}BDtPi6~L*DwGH`1V~=J0!9D}b;_!;Yc&ob$SVmH`zYzqZNJONHR*G>p-}dh-U8 zH@%6XcpM5wJiyHk$9CQnhx8Nv4Cj-^x&G3?@0-}!+eW4dq*5uNuNAuwOUD^6y+yOJ zRsIq#@iS-?oWdxF$M6p4_wgCd2UYy&^jNuVueo=S>oLn#m@r3>!}6@+PaubV={F;kdAB0#1`LgdaLBbo#z@W$hqVpMwVTDwSw|BLF#BacKRtchh3>+D!b zdEMrl@6^P!unFhaOsOMTa1P~X-l(@%;mSGd1vkmXULyeDxsXz=DiS*xM2bS1j?;L< zLuk8fViBkI>8OJ3IhRoxvulsC3*SN@ia&-=10MZgs zBe6lnxNAUJ+!m0AWE$Iz>ISt`NF~@e%*nM=>AYQb%kLWZzSq6Rlb-Zb<5jPE)p*?F z93A?#h#Wm|H0J{yf;?+pC+^+sY`ZpJxKK|2@zcya{>=%v) z-s{M*>yCR$4}kMPvB=S<$?vHj`73Y?|=B!$i$T=b1`^Oozzsqa5!{N`!@eZ1tzpY-QZhAT`2gsEe2Cov<TQ%{KYZpqE@Xq@v^Mx5v3mOoN7I{wjQJqRmM?4%Pg=alXI zdFof*ddc|o7e6)r^Lt-8p8C+ojXmzU`?%$nTXmyZ8L+AR>?hvVj;xNrnHuj<{BLbp zJ6vRa|Jr}oalP|6V*kU(3m*Tg<0lS%oXqma4}IW{mW=vUCzZ&}uH#r^#VtXf&n@o! zK^xqiiUo0TS;GJuj7^3VY;HL7x#Hit>}%tbU;W$hPiLM!ZXB162jBnDvH6GjGS6-G z&hUPRW&2}Y#JP#g&)BXgywo6g8jjz)#!mXoXx_c_^-C`thaU9E@vKMv!g%JxU*ONN z?+ZAYc;494m`|~$FCzD}X(_9!|FDQ5uH#%F4++TtrWQl^;GlM>-eu zx%q+%&L1Zpf8sdv%rnO~zjcw;mX2$4hcncPq22op9_HRUrgn~B=@=G`dKp&@;v@P6 zlHT2JIQs^E_#C(5>$R5ogB)8P$}%+SCZ5!t3u|!FJ1%Oh2YqeOt<8)@&+)b)W}ymi zwzyclqn5(wNdRa}ww8-A4uY@^aTQtHFypRkPxSI2^#PAy4+m7SJK6;KuOh9dI?1Ak#Y|-ze&(QvLZ-oT&Nsg7oM**SVfcKFoJUj)%0L3vDZ_Y1 zN2Fqv?wYHv9_Q+Y^IN##{E?50P5KY1Ep`6v=c$S~oaPZn2gSL_)WvDN1=Wk^DK5kO zA(<$sac+S3adgT%Pw_`;@HzEvT+AqDnEX6M=vJ_mlzNl69))GZ&x9FuMIksAL#PU431$v^sr zb8t8-Cvz{6tHWNc)efQulJ~e{u!?z0v)WyJ^zor?$6tBk%JU{e^7r{eedo_HGdbKb zW*%SSn*O>co80IkM2KK$XW_62Lt^)w1jDf$K8@39r-j2NqP!ir>@CauIc^}+t(5*) zj>M3ajX}l@U5F(wRjw&ao=^cR0Ir$9u%6tvRGTh3Cdv&O=c-;PrN9mj>1r@j>RLpn zPh!?}#TI{ItigU)>k&sBHh%S0zdoM+^rz=~-l}>IvY|4huEe0%Jbn$uFfqA*+r#X9f z3#*-5e}sn_1u#Y%t+T|{*XDVhhMKs27SwwC(Knol4`iI=dJk`kf;CDH7v!O#*AS%0 z%EllB9Cr)^3aeyDz^CVZM(%pE^*fvs&tgN*$G>^R=U+C(-Pcqad#=iRo}Uv_&Z{tC z1EGG4!eeS*_5lzY0QPF+pPqe$fSLrrHtRkhuUlk#^mPKG=Exre!1j?(KmMF%$Ag$= zH*FoCX0wRA152$-uiYXiJ}hKFp8mn6VuGhQvWv0LX?N)(H9{YiX?&JRagi3FPL>$6 z9_qlc(;)mL7qWz4%IGGCW+t3S3|JDumI`@Q!Y{oI%UVMx?O|-o-Ns#?Sio_fEcdi~Zhu|ei11SzrO%j4Le@z4J}p7PYE#wSLa(BQ=3XC2}7?CF2$)&ab& zE@KDE~E0Uw*;|y6n%PMYPkVv6mODqK$xd^tzF1bX8kbf75oJEKaHPoJ4 zX1QdDtjl8QJP?&edtN-HS+9Y|EyRQ8tT2W3$zp@+GC)=Yeo>~r^I6Y(#knLM+dlB) z0z(^{FBg##!Oz8jJ5qT~l|}U(f+^L@ujdY%JM_+*=Rfaf#|bB#Fb+820Nq^W^K;c^ zOc{D>_eB6Hjdi9SIpN!Jh}UsMVSwSt>jzW2ptCwbXJ+8T!j+mpb95fq`9%>h{4qu- zR1>>i#ZxsBG*Fp?`M{r!U;BsO z8b5pJk^21L-Nuf7S2BSmJhpMu&Ipm2)Htw0YK({g^&o0q0CQn>{Vg|+uV4A4@vwV7 zeZ1-A?-&ob{{gYl97ExnV^;;H6n=85i;eIme+2e`0V)~8Xx=eUym~` z{K7bV|HJ%w>bGzHp*cAHQWwW&3TdkKL%-CY^U!hAg5VNh@0DC zC6CqX8T)F86VQ6%dkcPe$7X%x&6VSd%@>XrJ@og-E1vaV#%{XVuV*^hgx9y6;8lI$ zAU>DcYg7^jt`9k@bzNLNY+^-_OKl9)rfh5mj)$a7Ix5zEeqFb$0fLcGKKtDp=j(>^ z@ozYOocV<_$Hm{iSas#aZ@7Bh+Lm=ELTkKk3WIpI#FTCHIW7}Y{!o&I<2EJFk#~Ni?~cfsfd&`GA0;%5II(&>6#vtkj9124xxK zBJ(u>WMyYcZvd7+X}?6Xkt}m%$N12HF4%~iBFx;^fSue>GrGp8ljqe$VFjkh+0*dJ zyz3`79z9flBGiYGR~e#Abj#8nQtzri|p#Ft{PwY%2&qQ-uAZfkGkQ!y`JN^;Y@Vsi3|=hO8qse!&+jA z8lir5sgFY|6T~#f5+-BkaROKmuFYxh)JJOY4rl+dTX?BAMEMd zlWR#m9l8AZCAkp6F`v@v7?lm8Hm8dcPHks{-$_Yg?wHW0*>mM#LCLKsJSZ;ziGip0 zZFsZ9oUfr9&OaC@>t^!_C!A;sZ>&!aj2%jsDC z4RSX#%r)+jYa6XgAR&G`s`6R@cH%e2)(P5Oe6>~J-V#SaU1KNJq9`&O1?qrjlFcQ( zb54BZ=2`dL)$sxakIo4$^B|X^d|N1aToE%lDgM@D!_8Tfx``xsr)Atm~hiN!uI8PI+j+0$>*~QmlZTh_DKX1JDwXYe6A9lF# zt8;_n2c_8L&-rPaOVnkK@R1RTsg)f&0+{t+yj6>Bgrw9Zw*&$NDX<3X!b#a+>z8=2 zP0f>w*IuQSSQdGgamG<8z~QXq2F%1EE?K%#V(dJT&@`@!cplMPmXFkUvpy2%Yx?qI zKEv7f9Qri@C_?iZqS^$5bNK1g)OS}}$za~lu$@@x?OO;Yt-|oJEfGWN0o~m`!?}F- zybH3-Bb+XX_K*~oUK&EhflF-+M}Zh;6^h3lA9^WlgKdq$*v$UuBS4}?p8jQnZRELb zD?3}KZ?MdAZo^)EFXq(ITj-6^X0}A*Vd@XsxQG^hfqzH(uy7p#bV&JWZ1XYB{jG8L8_qmg+d@1YeAN~gG{jD+i6u*% z=p2c0fO_O9D}2|BVdJe|`B`o_lTUv5z703>Hy5*{PREI|e54lmmrWh-*5L!GZ2D$C zkVqkruIh}GA4_Kl~%D?M+cg-;ilWpe-e50m?kK zD;x5&4vol?6B0cEG_fffC6yYgK2GDV^a{AIA9+KiKf~F@!pNA7!B=QSX9*53fA6a+X+s&I;K?N-GxUM88nqCI))gOllCcFPmZ~S0Ng$(LPtSI zs-?`tr`9s;jp@}l{Ba9k{_>Z{2j2g;;~l5`FT>gJB>Y3YvrH>e=jQs$uFn2Y^i2jY z^pF>?w2mtm!NghTFWY4!h%w|LGUu`u;GI^oRo8PWF=n*h!)LSv$z3%mC$81HUbX~n zunft<)*%r#c^SCC`mbnq+76}GxbrEC4ZB`R%Zt5^FtAK9v52$g+fNh>AtyRH=s6`; z_pM6Y+3JRjZdPn@Ft6S|@zc+J?l|Iz!iE9sT+V3m>+L`0jWyxemf%Z{O}DK17naM#AwEJ|aK`R_i^lTE;iN z{k8F`Kl!C`-KH;%hu`<7bkY#Yz@@G}sW=d74@p5*%q~$YrO){WF5WG%dEEBHo5%b0 zdAWc3^tX;zyzp1`udX`?#49H9$c;WwBe<2!H;1b5YNUNUwXvh&f^zNeZR04EQC zQY0uFQ5PS#5+`=Bx*5Fr&hf#||Hb&T&+EnN=0nDQyWdM+)^-nl;UULm>H>yi4*;@$mO>;C3*&!h6QfsAcW42hyc@2EN?=9rs~ z+v$r5`6CLoW&GK1e`*}H_c7ylUi#{Bz6KSsK3@BdKOAqrUd>IumoQzGf@TW%kJ_1!Ow|L2h37{B|{*N%JohO<6b z+=nUtWQh~U8Wz5&BZTCG%u26a<8e}X)13_-8YVVd1Z0oU5^a|AKL%=+X)n8A6kDAy zxZ(V!H@tCtLGN(B_&eY6bAXR?e8iFC!OrW_zDrd;d%ea{?BWN8s(W*xRzJ_{)WCw; zr~;bojqh+qrGh%1-f2){pW9g@z_c-+IK5`rNRact&w7!AO(oo;o7pPTmEO!H?wo=Z zsQhI;1FB?J-8fiOg-HAi^k6-Ao6l7UoR?}uf%EJ7I7w`6Y+&UWS_mC-#h17kaLlUJ z^N4v2L}tyhnfxdg|A}dVc~P*A!LK>mOmfdfnUpwKuYVMP0`SsbVXG@dIbf&eooqP2 znbY>#to73PSPDN)oGaMkjEc5=%=P^5p6rJ zzFIe&&pt;toZp%o&idot7M(P(W&SZ;xO#EKx3%rtz={R6pBIQ>$tArSJHFC8IgYpR zzw^{n$8pCVYyT1|UR`522mjg3=Xo+FzRahT^@nM4N)05U6O19& z!x_2usE7fL`c;vP;~aqP(9P#K;7y`Fso4cj3pDPb>l(M8cZi!W4LteelQ!OP#$)lY zizf&+Hpgj^P#upAh>5t%QajHrZg7$XF5mRHD6MXtS|0flV5rLgK6whks*BBn>nvyQ??et#>ycuWRxbgX*2Om1_ zec$_zhdt~eW5*r!JtJy-F*ine&UJ7xEB_|!_|Q1C&XaN5V9-VY)1-Byb~Sa*9y!-% zv8kQ8G8-^0ZN=M!u)t|h&tO@!@x)5LqG;Zzv-NRoOy&TLX|ypyo6Nri>h#Sl+XZ2H zo+E9U&u~8B_;KEa7wU%dzxyVj&mH6~4%Q*|IWO1w31{t?AiSpBS&1j8f@7CC#FWq9 z4h7tH<=Fe$X~PX?Q)%O02I;f25k&N}k*xG3aZT_B#x`KLY7R!SwO;**v&}KFvXi*Y z+*2a+<~lWTV$x8@^1nQH;;U+a&P2<+dc2M$0NW%;c>8*!B{N_L8Om^*3V}Ka3rX1- zxYb}4d!9=$Bur=Gc+CKg<{~ddp6e)3rpHdWxh{EghZ-L_`s!D&zBI6NwL{?<&p9Oy z#n7(I5D$GG@^kD~dZ^rbUjv4QdX7?$=Gpp&^TH95*ft?C#)WZJzvQw4c(O3mt-LLr7=ac z>=pzJfe7tRA=r6b1k*Tre6QD4&kHcWZq{dyf-pxPSgvIy8nbo` zigEUZ|2kgxH?J9Y?ev3j;C@H=<}lHvp7Gro*dH6XS+F9B4lgv6$P*i>Y_AL1TW-I3 zTyx{KU+FyF(c*KK$Z0tDn8RB};%NG^q zILZx2VoOGB%kkR3=K>A+=>@3k*R_!ejTF;Mc^LRcO|Ov^w{M)H7buQxzea20`tvVYd}i^DH{CE^|IXKppXwd z1DjS}6vMp0v!aigWd?A@4>z-Q%URCu(icGLj~}|R`jJb%Fpk^*mE-qc_J*yenJV zas72Sj5q(yYsV>HKWRMv-j5ph+f+19-r>|wGFRV1?TJaPb_LehH=Vd| zp*fJhk9_@8+S2<@r1D5FOPu0y4FAoRd{T>cxxmyWen*Jv7M~It{Ra5cOYu}Lxw$L`rucxe$F;tikOMn zi%{dr1G3DaIwqsyMTnAyT*m`AGvODxbFP7p7y4)jrZ8q}zRU-vv!SxT>^+2i9xU*s zp@Y7{iBMx7KeEZcJ}$nR*7y+XAWLl>J6y#{W{enjwc;R{4KXV3rgORgsj&vw+TQh0 zuO|g=o_Ks%$(mY1(t7eBXA`qeEKarpaUOP9ar&g7_;lRy4(D^ea?W^b-EiK-cR)zb zIxw2Vn#VqIB|ptaJRVC_`4NiM>>2Q&5i1*aZDrM*vI3sU4d>&IGmbp@9uA+scy4p+ z`ef~A9diEHk7~sY7(DsEv+PfHazgk#>b3b2mpQ@M%$SZp?h>o}+BlXTu%`yju?Uc9 zzN&)G%Eth{{jcOQ;hfLBDlX5wo-cjFSvLw#Sbb?ARQT(7oNMQVQ(V#r-!X`rJ|c~o zM~m&pNCUiP$|h#uww|5hfvinKW<|uQ&Dyu24g#82BHeI)(0pT#Ur#~o zkK53(p<`+K6Co}<{}uwI#W9uWww!B_AYTQ?sG#h84wJy#z5Wbu5QFNg=hj2wKz!E# z06+jqL_t)kves8(7q^cp^zq)y2~*R1Plb^1@ROGI=+p0Mz(tVRtD^z!DiqT@(c#SbGGbs85>XmDO zWHwl8lRwx9Dt+VVI|y^x0JdN>m6GRYz>3rvlrv03K{1-CE3@| z*Ijq5ZaDwm_>({R6O3)=jsrDeO6x5?Ba6S94>{;R{@O1m9b$IeX3M6>qHwo1tPkv1 z0-e+PhO>mW&-$aAaS1VYH{YHDf>0c7tU`Nk*1I*dUMh!usH|!Wp!|7v+LRZ19ieeMlDseNA!=#an z70#H#sB_zGw~xy&yKH>zymQB2yyrdRgCF{P$;Y_IJ?=4X);sZH%cKNv0k;0d$0Fwh z0g^T=U^QS#C|up3A!SrFo|tn(7CQ%5ZfqP(p^?Ogke=LG{mEy8-ZX{7T4HnhV7yqg z7tYh5O`9}@gOPND29R2oNDas@E}}$l&>WiEBAIx-cz%Scn%clLCF}U6r9&;kyT%@S z>@lvbF9$sO8BZF=9CO?_>Zm7={r26@pUXQv+m8=Jxge9&ZN`UQFBFrbwB>%*$wacT zfd=fQ>|uwGz%ugFPsTk*6}xqb%qJwMz;=U7B#x1qs^w%a6fm!s^3!(UytayITizC< zf5q3C{OoUidVKt>_l-|{^~|y7J$D`Z>BcJW-$y61eG>YsVW-ef@aj1t*VRI{Yar0q;mw zR=kTVL^Z~o3M&%aQPUtQ$i#pNts?Sgi*D8zKwfpj)#KAwoI76i;8%|S{-W29z4qK& zFCjEjK2bA2qVzj=E3u@ZIqBdf&=N8)0Tj%FzF3gFRF0LCD0sNLBAy2c^V9AwbU7g)UJl(_>ccevTmmKx;+ za^g!+)R+%7*?ydR$*0F5yByS7I zg)n#|V>$_tt@E1zipT&(?K8^OB(aT0iJh!u`bEaC*HPU8xf*CaNwPxCeoaZP~F9SmEy&>~$Lq2XM={^oRPn6KQB)c`xS zrs;j+wZ?jIhOYDOw8>9_@Zb1bC`Tkm5_$eW4aQ%R>aY<1mZ1e+BF;+xDU{=c_Un1w_&f=GeDmk&c_~m zoaceM!ulR@!+IZ?7am1NFsz-YNF-qsetVK;i>0?bKYBr~a^rbO{ zHWG9uc$#u-jAd65Ffq0Zhi(1DfgW!7>K)GdIE@qZF6X6%gXa@kpLg7^EaOMVeYs)1 zSjHGL=!wM(BxCGpQlarC=Rwu75~kX__fT3@{;lDcomVuRSK6s^s& zN6~FX+fb_;qZnMf!Z)0`^189yna^G@WRO{=mml&%TP*B6=|N7H*5g1A*E97>M!2yd z9d)}O>oCW+^%ht4IzcPqI%^$Y%eo^Zo-ViDZhL(n#Kw0uKmLi29KZLwuN#kh{1fz1 zayyPqJMc$;2=gWt9Z2dcin$J~^jv^Se9Jz^1&WRtyyA_SE!JUMt4+(OD>ZdpJy$lD zUY;0h*v>s?jMb3)J0wh`n58tA&P&APxRitMwUJJrKZQ@th@r9(8EUi2wm-JVeD(xR zT<|a^5CV`a^q$MF05)&b}vHT3;aZ`L1+zINXE`A7|&OMNrAVu9KXQx6ga zLyMxd|HM;*xXPgB&Z3rg$df0Ig1IXnsqwz|jROxnFdS`cCrwhm;FuFkJ<-EQ?F#F2 zSES6Xz0KrI;CebM>?>CbO(6@*&cWYy^bDgyEPlu&(7A9h(t0(8#m(trzO93~3LGm8wRN65hlP%$`e4QcTK72J@> z8FAR&2yLWEXpySV5k}ia{{>3>|GMEEUPH=59QW(X+?d2K7@P!~v4kF@j3URE!H%IS zGUG{PO|tPz1N~po_CY~~@jc7tlEn2vRnHeI2spDdIAjvgAP-65)#J5St}@& zvqFNNSYm0tv^`hIR&o$nb^`}nufwVH`~~GXb$8=TY$SqLKk~(!Ai`JS6F}uqp(JIT z8Hjp`e>uOJk>~)r90@~m!zJhU&Mlku9L=HwC=I_PR!KmUwxj}xU{UqLG@G57z(Lsp z+^Tt~O)Yn8NT5&P6-ZcnzSW`VwR1QU_dKX8Ri@j*o=+5RSkS;Qf5jDHYEk{{z*jupx%!f^ zHVQ}{H7MldVQd$|1l|XI+lD=>iuq6cNoaZw7&m1`r@7sMU&igfYdhmi5R}=?AEBX} zRNbETlqZiDyzqtNpo0${4?gs;@qqpJw<*K5X)KkV^i_g(Ji*z_M5!srC1|mgkK-cmDb~;(kZ@;@l~5 z@v%@Rl!`Y&ODVeeQPsbBJ#6 z`Q~RFk%4RBgc7Hn5Vo@;q#P%et;f@v4sL;KlRVT7!1CA?pd^fNVOVzh*gAOFg+`#ty2O3+6~*fj5I z^B-yO*+qhTHJ6@FB^U^q7+~MXXuakVPz9Bupe;VltyHz*(o@G z%f2)|`L7=vfA-lojVC_%@%osTT_x8IXL}ZbsqNOR|#Pks>rcSwsmH9=Z#z0=0m z?~)T>%i0!MuSIkqus5gt*dhuu_;A$uqu-fup>8;zpc~Hq(!jpqTybI6vDvuiw$^Oe zL4oTT(LlJKdn*MAN;nf%#6|8K&W>Ah9mhZNhO-QTd!Fo1j3JAQifyCcIObTGHFO{n z%z$iO+=#25*jSY<-SsiUVdxhqDt2O0d<`X*_5%!Kbb9pM2CAANFd!haX^egmGhb!j zPOPjts*l}lA-6%#(V|^!jGx$PoxCM?8fDlQ`0Zwzd9eX*`>83J6plH74j=MaH<_ZH zk^=cTuFa)4GaJdmrasNGQZPoTAv8T_83bcLCIAGM4Xs!wdE|Kw5X9V;kMPFUXmR1w zem!Z@sYd<$#I^fXS6->la6Wsy?T`LQH=I8@Ht9J(?{Fpp5zmu%c)gWuhKZvYWBLvU zxpl2{M8axpvNQiQnP8 z)eUF=u|Q7NH=Kc|g*Q&p4t*q&r4X7dq8Vsdql>g$F=uPa*>(2 zAkFEM=gN0D632$VPqHy?4=}n_{X4e^v&|o@g_NnEFZ86%e->{2(HRFGaG<^r@K?q| zANtU-)6P5U<1-#U_St72llWRx4 zVzZphn$KDR=DclG#-?SpXC1XSu2*a;B*%_patNvozI`#%=+LpP)Exg3ksP4l!Mtim zuyZ~ zACnDjE-FdU``R@88*n1Qm195wk8I;U_(adlvOvmd&#z75Jet@5W9)lu!kR;{Uc*bg zXkuxZT!4vf+2K_I@nas1Guc`zHkDkj5z-R7?ZM}QPCa6$Il;2iu7+00hfDeY1A6iH{(;WgUs3o4vQLFaxUx|$bD8(Wx?wY0;Y zHLYVK-a*mRp1G!zA-zxtZ;|v%bR|<<$RbC!^lYvn>)oH>>;pASf%zZ+1_6fU*&GCe zbr!U>GcYs;5w#u_%(fgU0-?gJAb!WNodg>(+Xj@4#?+=8?=YlwQZ<;o0f%ErU8w08 zUJf#8MO@yTr4L>Na)C>`ZQlmwjplp_AUBNrMXaFX>T9kUZ+OG&$6x-%pX;L;9yq?G z7qd6qaJ@+IM-JRLK=e!MiBP zGVwy^lP?8U^VXZhhJ+uFs2!#bHehrfM}ble5OQg)mbLBl#Km7gw_!bP8W(@>;_-i< z`qFXP?PrVw_tBRr?s8Ab6`B8_(Hz7lp*CrQyddwMcJ)pA>eEA|Xxn`cw<>8$VD0~qB5;fbm>*R|H zaRseT3+R@;0KVZXmCwpKH9M~a74z}}Sz>WOq13jFrF9}2<5&-Neix;3y7-dw$7j#} zz&Pz|pBY!)@ol}^`%v8i)(?ShAz!U+LgcxL^S1`}TN|J2)o0BCp;aj?qnx|ybNFw) z{kHMx3qCbo{)Ar}PkZdM$3yP_lVg`1cU8sp@f0E^CY@Dm;~Fuk@OpqVM-Bbb6hBgK zFtetO@`3=}HbU4GGEAF?fHib&O4bkox7B*!X87j2ZXTz9;Zx&Tr#yeW;IK#NKN9vD zTkeQ$W{ZCku9}FDWrA;?5r`e1$jSu~SjNulo)0z2=V)Jj!}rH0Zv5`}#EbuFJoPb8 z7eao_E>G&hiZA<6vG3HoYN6%f3qS1{@#9oI?jGweK?HAT#U%-$y4H!cIc!ZBz2%~_yS>n{#d zk5OdWrDszO;D(1>bHn-7zxR9k62_cEa(#j+{Nb^Ex)CcVYw>GkXpy-lCG#S$*wFML zhE1@THvyTX@8wA$HRN35b%B8ouGscRyCf1T@c<}W7tF(w#tx3)SfBOW1gu~Dsmt+N zUeKt8zan)!NM>rrXlxj_Kh%*j^Iu9Eqz`>_k+aXg2<*2s-G|3!%G5QfBgrJvI8PB8 zFQD^ajH)c9)6hKa56Z*~hV`^sxOJXb;*q_52=s2xJe9^cdlQ8v)XRr%N+Js zJRHLY_1Mv|sV2Gg#7swH9`fZ-IM^) zwgq+}_O^1&n_kd$E9bLD8n;N0M)r+hl&O6*tTIsf1LYX+de^)34(DTw9PB#(6>-fa zv%~Yh^VQDJCz4S|jxl>7cF%XJYZ)HgVZ-{tm%84dT(vfrD91;lCKtOgMR>x&IxKoG zomyj3GDp;cvo=!Z2qZV0Ptq4+pQtYm?8a*u>f#&Djv+CYC;70kV$j|~ysFi%$Td!! z))|+0@XcH#Rsw}TBlk-Kx!0_9#E)l)gvt(h9+t|YeTw$#MfP9XtAT5##m zmk^bYVeKVzouqO^%>ky5XB|6^Lz|9{c#=V_O%hhK3vt+QaWxWs!RX>pza7)!*zp)3 zU8(b?1RXO)@bS}lhw};JYv=Qk8sFE)s_~zo{oj=_V(arv4z>Bb5!cH(h4|bQd`Dr1 z@=flz<&o?BQp8FjqSQG^xZH4luWmRWRNCfNuC5&xDdSN7ShavPF*!4xcmY9+?m;j(q$CTzRT?^t#k6 zpVV4(&7qE)d8v`~+wujpYFmGXbN@GwbC4cp*6n;QCeE55XyF9o>j-qtSAuFibcCxM zF~U9@afmZDuyiapoaMXh%wYq`_^;G%vm0BBiLr*=H4QSUe0+91j3p=Mn1nD};f2fb zoMUUE0ALU!^O{?t4Kl`R(@vl^!D!}39ImbAm+N%dcqni!BgF|GF3q+2j!~e=t-fXW z187eAM4)DwnZ?Dim_Dl5HB$tMP3y(i_K;wq*z`@&71Ls{xCZ7Z;Y}+)DRjxqpuU71 zpcizTR?rk73$PXNSHS8_y-A|!sE8?vwSh+P**D364__>Ux0DSJUNi%m4FU};R42dD zO6DA`2T-;IsRv?zP8GxYY{)J8yv!@FylPx~^)=(7Z+>&U3mvtsA=Lz(fOvb^6x0DqNUZ<+3APn!}N$ zPk>wb({TEB&17TQN&yX?A}UhG4i2x<*cphW&5;7gK@}ZlW&zMSSP}~^oD*~W?!MdZ zKYjD7a|QMkfp({0iC6 zbiSw(5UlZn>ff}+xOKeq1E-ExeCRjE%YOWczOc#jA-aG&4^zQYKlZoKsh2_I#6}D} z0p6+4Z@zV$d&L*WeYQPhobsz58HXJBV1czlxp9jd9be7I+$1mAR~Q`wE>by?-PpX$ zB=Y(crx6U?;GDhq#32t74p@D?aI=kMy22}zVMBYjaxSFG7h@m{?hXW zh>FcN;UtH}lVs>50E@imX>CGn_=6mO*t%UGi}1d4zc5bunLi!Jz2Ft9vOey_6G3dU z@|>=ma6#=>c~x@eU*`;_pouquF^9`Z1HdY>wwKS&ae8BJ{DVbt2sAI60D^(eJi(Bw zj|gMccf5e(x6iL%{OTFw?f>}eMMb9MX;BFTQlf`0%g%?{V}`K7H)C&2E|tzFbtFo6Q9a#5}?A zIfWdPjMebPgHg@{k(WBLuuTDsZk-0^wS_q0F_b+`3hG3&xjV>&)Pax~wi%y0>oeo1 zKYr49_JI%7msvhg$LuDrmAS@5Vf$JWMKk%k_Qci4m8Z(Ca{+P39X}k`-E{T%@VCw% zAOGc#jHf;BS)yScc-MX6^dFNsK6L>USG8W?b#iv;QqpS~Ui~meVCt;C^~9iub1n`G zr0iIUgT}>vAkp~Z-zN-iIG;C8JpKf|!}$y2o8S6Y{?Len>7?qiaW;(Fhhq^rr{~M{1czgab@F>;B_8}y=}s%t*1|fT~`#d zaI#tX&pAYT7Ie`8?-r;Oay)&z?A}B^W2^Nk<4HxwxkXa5VtTJZ)bc&gZ)FLN+`DC* zl)w`U>WP>g2pyI?^St76#0Xya5*UUnBE&RuqOD?URoBAyHr0mu(YzBoVAbC_xNy;N zZYU(^v`nV@LeuYg(>xl_SjVv6;e3|f;rw>J!}+5h)faW@CW#iBYh#WkT=w{yaoe*- z>i`^Q;prP(R*pq7&OZf7jEM`;si*3O^Kr+9SvcZx)}nAo=44Z|ZF$vy)}rS_mVzdq zILx^;WJEQaDZ7@^*eF9^ZyUlKs2@Xof_piAAthL5yL zb>?q-Ks!Z(v3m2SCdV`n{0-Qn1?8e=_3 zgojVU?ZilPHE$&NQ`B|*h8;3^py50R7qJl;50!)0tMcLNYXpMu8tBFwZ)7yvt6uf0 z@!}V~cpR)7&T#Lw=bru#FayMwKSEZ_K1p-XLq`mB6#N~!Fe>B+mhu<=8+9oOSWVXCO3dHkeUy7r}HO8iw zWYaD5Sk?{a_v#(a2OS8!nlvI~ZYRFUsUu{iU~Mx8zMjF_@~%@rV7f+q&dS=xE|Fzh zcn>1MStw1C_@uH-8?@9J9yklFJ@(C!=d8XcLE7uq!Sf;lbn|L&%XS%cgjQ63T@xE? zQ@BdWLy-2hswL#e?Qe3^$u*AcOOA`of;+Nt0OhRuWzhcxIuXA9)79X-;k@xPoE-qM zi+Y~xRd47VcP9j00G}2~t3tu36A#&61C@bu37ezxh39XeCvCPK~YNZ``~W7nZ1ufk8N5ke6o{ zq2!2AYscygqo_S+rNfoF1+_4*QITbaTy`+5VUrL)9mz1Xb?=tk&{*fWqMu0I<9MQD zFY=@t8m@JwzWmsr=>wk!y3Y!>H;p$G%?m(S7f?fdGGwO><1RG9_J=)Cn)d=aAPiTn zF&6aztR27|gT<^tl319cPG>|=U_5r~-i+V5MQfaBdrI%}myF1_4nm)x`~)BD_b&9wH`{Oskxd9hlgU!@ULVT_|MOnxVH z!Ic^gXsyuJ_+&v08b)J4^zp5}Wl~Sjsvk3}8rB2go|00qLxwkIA}u4Lr!Z0>v9H8WqK{lI#!8v+NTegB$ zp5|+WWPMVYbhy(`azd&R?zAz5&qQ^@mM13F-`=7V8-?jBi#Erq*?j6;s426R0vU```t2zZhM z*24hV>W1^R*X!Sezx~Pak$UaV*(MT@8=A#9Ym0PQZ%Fd)vBbfuK(_c~Ac=nS1YOQ0^9lsadL$V?ShwJ_-cJ9* zC&yFX`Lyv29l!hTw!c0~_ zuVeCno~X*eTpmg!b2VzT%{c4)e;vQ|*N+)H-Lr?2C!OtJ@7i5^+$E7-bj4jVi%1Cl3 zc=Vc!Wo_4F?W>b7ou?3fOiZ+5uuZQG$>n5@Fi>E=PShU`L#OSAxhyUPnp(oqv5H*s zwo7=a3o&^dh%tUgYR6G66F6PT4$J7k_~Pmpwy^*N0-c-0kGjH=GT`CRD4K z%6)b?OV2(bXDC^TJ)Vn7NtskPj*<|sV})Mu;DaGp1ug%T!nmAN1{bJ$&cx-1DI z+qG{XdUzg@Gf>M`9bzXB3$$UZN5`2Pg_21E#B%g2o?auMTz5KIGcjg5i=$&JJ`bB)dr)hc^F_ZhPxJ_BwI*dm?P!iWg-o6$Uz4wW zG+)g|NLJeoF<=NEk6b>?*p|rS&`@<5Rf*O65v_xXS!mS1n|Lh{q2b!h`89QcoIia~ zJk)n0tFiG@TO)R21eWU2Q41Fo{fBy<3wjMJB03ejq3SyagK#w8qK$etZpqx5gYHjI9Skf6xgxFMx6r6J;+{0%BW50&T!wyBof z#$>IwL0-n4poVY&@q=TxbiBj)L9FKU?)}j(;h5 zl+OsrL_Sw`eau+4xLypozQaf9z)udz5XZBmHCX70Ia-jRSjIkAYKU*gD}c4y*h}4T zzE)ov_-Qsg&e8>|63BjOICM{#1Qp_xI&NGfp!Nngws2|TS>(6kO zo}^=HovC>qvKX(6lAhymClR&G{4khL(itDZYE>++3&*m`V-`P*_NB(?aePDV6E#%o=ifxA<+g**(Z2cSo5wLP zed&0UKD+Zix{!jH+N92WJ302;AkzzOUmP=&_3;e^AwTA~4U<)4(!rq#w5#MSGYT1M z8~|=SM%Bojt~QHZ^q6@LQA@f0dti*D2(9hS)6^K39m+f*0~RBg(z^x$vQ?e8AD3MI zo$;ZwP90~Q|GDvl8@@Xpd>?(x1vi}anaX)bMXd$q!A*p5SKK9To%aP$A8X!Key5I= z&wumu@$3h^cs%oQ&lrz7^-#}O&6mDuHVEjW+2 zLdRG|FPUsnR6ahRc)~Id;Rj7K(t+TGb>8nHw^v_e_xc*+w9oz1c*Z-QsgHL#Qu*&C zJUStrw?;k}!(B0~Ld2U}#q1m;SgsB9kH-?;blc72iW@E&pT6?4@wu0OW<23hN5u@F z9{Ex%tp|82FYlc%o?A|2iLb!XSW50GCznub4cQeV}EASn|MwT>Bif6P_t9{|-f zNIPzj?zBmtbA9`kaoPo+7{7khe;H4I{IkY`_WlXIOG+OHfeAjEnE$J1M4Zr|69yPQ zGKc94gq0e{avFGQlJd#|Vm6jle4a$`lX#&3Vuz_SD84lCgyWC*XE=<=cj zCrj&*V-^=5FXF~7A;bp>R!h7IHKODJ!a0ejLt~s9&aWQ#yytEO2T2{;iO}w{fuqI< zeZx6{;Ft2uy2VTJVCgd`9aTGjCS(>|W3aZ55BoDx8&rDGJO|o)jr94y&Wiy6axa@Q z^n4@N!!?Jm$h<>`Ob^DGIiI{IBI9@!1u<* zH5K26t9V||%9-=NPaiVq{9W70i@c9DMZp9(j>@UMdQzf6jW^f{Cf83ARLhHY6-&A+ z`3z@$$I08?{`T=vy~BBXoe%s`NWwasRXzK9l{ocleU8h??2dgCkJ^0B&cHG@IW>@% z721#+You>DA1htuJI^CRl`J(OM-fmG%{TLCy#>?nC?TR9u;KszegS*J1o zp+uubT{!cCg{g7^qu5M?-gfcPtj@u_!dj0X^^p~bYYMtto0Vt#?mG2aBpv`;nNt8k zV+n0_#fgu|m+CW)AJb{BeGE}!shqCk@ewVv6i&Ho#LGp5k9g zqduLs6x78HeRW;#;`F(%_{f)Lla*b^HUkmNaf%3wWCS^naH!+@v5#F<&$h_&=s4GQ zzDU3hrRxYb0h3Q3&(~geoo+b4di;q#l9blxIn1C>V~`Q^&-ppk&N;z;XRgAoTgh`y zsR*YmKCqa}s*?FpAF1K8IA{46&Yo->he+mJS!8h45FP$Azpe`c|MuDu8GIFA9FVWX z#DxwuX)`2f{c_$~u3J){N~5R%39ose`T4DUJMqrN+QivTvYyIuoEen>DwmS5%XuJz zwYJw^A}Ir>6p2%IPV&E+R=b4PAtVl8AL`#~mKl(BR7I@ObPlP+NgAT5f!03;RC3_# ztRkHO_X?4Iwh(8?la{k!PGr@F_U}ziMkQlCNIDP&LvOZ86HIjKGhur8K(eYzA;T=d zsz<73ABxVjgqSB`0E|F$zdUmS)T;0Sm4A1)rEVPGddn@k!25x$wi#di;upt@Ui1qy zEIPaF%!~Kiees<*^mL%J+lCX6Y%2uyXo?{n@8Bk?5*aZ!Ep*rn5`Xp@-_3A?L1@a% zF=$aSb)G)fi*>8ImE-n8WPxZ~^BM?sU!rjwZDc?V3dG1+LZ;UBfIM@LaE#q{-)+N3 zXB>XS5#!A#zuBMJ%wOvFf4~ElkI#_7ypXaVc`&hvNKk!WfN~^xY}Z)X7oiwV$8l*R z6|E~`aYTi&G8@||dWwjhe8j!RE^uI`Y$8-RBR0j1u5(Z~Iy!1ZkC~4}_k^y1k((C` zbd2m1t4-sZ7k_=c?!&(}F1_(z#vVH!I`+ATZgA?!G&h{<%(?cVK1984;es~{B)%A? z5r^LCuaE8E-N5hq%4f#gpLXK-g=fBS?77>0#`fFSyLW}*$1iC0)S3$hBBf5mnG7hO zLuaqKnsX?`^yfZ)7fB^9L4-c$F<}T7UFt#KI8ZDtFIWh{P3D_zrA-Jzwz{UjUPLL zFT?|$FKNt2%`n!Ssa|#mVAYA+C96fPxP&v*d89A+$3xGD)i%0oU*qHhc8RpdpLG2O`ju7G~ zyWH?$Mcp}e+I}a0HuSeH`-YC!-N#cO`U~TQkA3CXXJ5WVh<{BF**Z?xI=`%Y9dQGDdaP)Y}&Nq=a0+Ov2QG2c;SV<;c~{AXO3@t;~Vy66EON& z&L3g7zc>veU>hhlI?~ZgD`1U~dWB0&9%!>Zib8hieZyJr7`f+e^%>3}>q;~6$dd^m zf+x(t(ir1IY+K39gDuTEVLa5Pz)=U|cm?IyiUB^?_Ue1`P?y~6R%1j=M+eb%)*w!B z?a%eAB+wuaf_}I;4kjH3xCV@QT6QY~(CG%_k-C$|H7gsCWrui!?Noq4qqYEQ969;W z^DM4%?eZ8bK)XsJ%w=e7J(Y0-y62!JCXmgnPuUcWVG-eMAwdkpu{#c-Bm}Hn zJ1)n7$Tncst)c^Ou}~Q5K^@X^9J%(IsH?8h4QIW>xxX}!8_xX)(j^vIRyc6Pci6J+ zILgO{Vo0WVm@dCYp@XR6v88pnzJ~AAQ&070I1{7SC4U{J4&+g?c@CaImT%d&d)7OB zw^o-gc+I`igJozaajKb1f|zSt7>#esMZX9sCD>PwCq zF4wsl_*w>Ge0xoZDXB2OIVNCfw>aA10@78pt^v}`{J^LdsM1&v{6fImLR#wpsde!c z8*RzK^;}qD#a0bSHW?!-X#9kab&FT#lEw|={8yrf8#ekUx$&3pe&2ZXqaUp=7rxEk zAF$8f`;49SJr*>s&ACp1jq84Y7I;fy&dHuND5)-7N!iW($v#Uh3 zt6n-K&#?%;#H;#6XcBjgb&pNv8`Ak)fmAWtefe|ERtYV~tKw4(q_jT9scqNXu98H8 zvmid`c5Nai&g#*fbEST(oEr|K7syJk>A}-Jp&QO`(SIkLd)|5D^2@*PIi~hak&_^n ziW3{wrjnS4YXeak1GaH;pnQ@a+V1PT>A7_X*)UcE3obXD^$zF%!`^#9UssjqzVmDJ zjtGi~AQ-S2X67vJU@NlX&5yP7X;#d(3pd3;?X2du}0$C-=tl! zYB{j%?7udvc|=KSDm@a4Qsdb+Baq+TKomRHph3Zl;MhCMYkjp8!g_hV)h?nHQhc?3 z&mZO!K7yfhoZuNygdl>I;RkMrSYO6K;gW|^HO~maK#f}SY2jP0-*En^V}b4jWz>a( zWZ6S3xYWBnVNsCaZ_E(g$H$VN5hC9fz!cZq+AvEMsp##)OKDX!#&d^n_ySi>y-MK0p z4i4{o-w8SaxNTglPbOcXuk~(QHtDYDt@^r?T@!Qq9mi!l{gT09S0o!McK}&XT5R)mY#eAU@o2zl+;A8 z@8GMu>ELIvTN#JQVZixJ9L|O5g2FZ;-KH)|)4=1vvZ`Z|h*{YeHzh~DF|$s0f`j+o zkG^|6?H`^sp0wXR$DX_F<#D%F&vPecpF}ta0hxeBy{J>{fc9#-@6CdzyPM?<-*zCH z&098)Z(n=r*g^Hz9e36^{E&P5u2n99TiHMjmcAuV`0Sy?LZue*u_h^lvRC;N2Od@% zVewB?pKypNd1NT7>l#{94+Ab(Naw|aL$mlE^RyFRxv=coy>hPOSg*C34-w8f|MTN+yB;~7 z^zdWG!wx@Y+;!hWohR0G)_b3Dfk7^~kO>ZL<5tCag3-(pk#os-@z^1Q(~3RWl|+Jo zISVJD?m|&`)IsMe4y4UD6Y%5O%~y@rzVkKXznuOD<7ai({nlI57g{g)fX5ekgt37W zN6cbh|0(#NhHF%*c$W%eY9r5u7Tz_wxP8LKr;X$Gd&+qEaeqGc(+{!wZff-OVvYn( zzAGp3HE7{Og9lBe_p0f`i}5pSp6bRdnjO+z;JV=aDqV0n z<&;y#Ir^;y=U=FdBP1toS#qBlC%xD50dJjXmdf0Ry8K#@jdlAoY)&=L?*IaN$ zQryj$#+cHP6Jj0onT6)PPH6IxzXY=ziPwQ>=*tW8?(4e!NO2zDTV4M6Js&YMj z0zwRSh$F+RX;hbzd6sr;M=!n^zl8-Bi6uslO@p^k*~BNkc!u*Abcgewt={46H$Sjf z6sc-mHNM7Ib7HUjZxiS-o{?6yQ^K(I`Gu9D**N%;`839x-<%81d32g=IWEbg4=Sow z?>G~8+hIAeh&H$~b*dg)1q4&l=yte~H^a)owZSQ~GD)S6Y>#2^R1BttQOcdI#y5`! z>n6JVtIY-HSLsK`Uh&H1M+1qldll*F0RFmNmAGe-_?BwqVXpY0R{PR9Lwd0UvUKu4 zWsPg2K|=>EA8S)}yF17($&fRH!MIVzlXHk>i3c=!@CCH01KWOBmNp7qfGu2;VS!a5 z%eg;7DezY59(SVQY3IOw*5katE#d%z0h(>tHU<}Zi-AU2(|-}0+r#g9uknxvKX@E^ z=pp_s7Tz=MrXK`+^rIg=?s~uhQ?4t#N99{l8+7+9_W9kRTyRd_pn2XpTyLUkx_rry zwDWk!i_(%DdqQU$>gpIV$x5x^hWjA4TTAL*1H#Wq2bL(+_kyVFWT6^ToBTVDUW3SC z)(7IQenL(!?BX;stS>Z0HqF*6C}Y?sc#E9JC-P+%MPovn#fY{yzp02lj^DOe7o1=H z%5mmdXO9cH;H-lpKN>v?eqcm9&W_vOyo(Xv?J%s^vzMu^@IZvPU_dE1#9DO0`FngP~G*wN zmktIFJH4OwGM+4tf8|T7pa9K$>3SSapZ&WpOJDl?^A2an1irBX=s8u`_+U3^ zQ=zQZZA}c(!j^Sad=6^c%|Ir+$hx-*Z1s^Eh-DG-dp4>2+74J4AlNE1H0&wgwC6dN zY1)Y9f*N&RtlM>7Z44_yM~G5NYKM~c+$uo+oM&xQm!xf!u28J)gC8`Qk@2|IIupLg zDzs80TUD!i{ScpPlheNluywAq&)6*6(&@Re<_>l#L{px(s0e+moA5XyKJg)jpSs}8 zcX_LXDh@y`k`eETBU&!XfG(Z3rb%Xb+H`{9N`|_fF>!8i3J8i5qP^QFH?Aic0=!xw z_^k^Qc6_EnS-8|3sJ6Y}mWCx;4>?ELso~LjTOfO2;+}G(oW(~G{k0ij$Y*37 zvxIG0G;E{myhJ2@QM4U)*kR4HnxFT)pB^vxg%^xN54p$KV~@S8AA7Q)N!0zX?f^mE z2UpgJLn}=d5&7t2c;$TdrBo6~Rq#@zB|x=6BgVF55#z%%pNmxl=D7nOKf=v6M%eZ< zHJS7d2JuLl9sBQdPu&5byx4Veq>3>4gB0*e3$|R4p#r|@`FE2wgp=2sZr-9hGOr&0@b$CD zyPx)s@ysVa$9ztn9F6n>!4?3$MDdRHOuG0rb~4A43x{25x3A~oYyR*mjtjs1&HQS9 zVzf2gVH?{r;Jzwb>vhKmS3kC{A0Pggza6jph!GZQ^#fBxqTe}D_&!S-Lf8 zaqd1WHg;TlMZxMKvPcYlXIF2fOBq_@qWZO1fc5BgO4Dn4H=GKi{ zZWyn9$E(Kge(v|jbME=W@@YHyyU`b%S>Nofatu89wA;_r@jT3!>3IT8Jn3@bdF$;r zj8C6`>UhX*PaiM;nOBbe?sR~tLXZ+;i0JcS82V~NUGst*s!5w9+6aXB6d%<#j`)jk zL;lx1Ho=ZT&69#=OdC+)CqYCpj zZF;Hs5DU@@ndg!d9T}TUP0*m3YTTuU;O*l@zxAT=d-{sv9=c=P6c4WUA=0!M4 zj?NFiz^s^Xn+s`3+s6j8@4+A!A!A=N)^3O=ddHP8;ECzPLeWd@84o_$uTH4q0INjf zlN$QJ^pZ=*zkL2*#_Qkk=i@^kI?>-IVQny0M5IVj0}K_$TX`HmM6)aAW;5U9v=U?q zB|aJjM%6|5MSJs`-|Rb_y`B*!bOshh2N3rq;)JIH|8|XiORV^o+mzzzoFgb8*dTMt z5OHj<#+Eh7E%cnDqAqR;5I5OyQ?fG;h?GoC14&5^zg^3RjMf$nY<@J5XTZMVPgj04 zP_mTv4FjEu^a4i21*7a`wFGl&iRUaCs~}wmz5R3)F*j-W+VaJ+UdCU;ttzGNe0Tf; z=)71@YK_$*=_MHQxriC_X&~QYig-Z?W(kKRI^0I5ft;8I(5AqXJIKl1Q~_sVQL!cO z*|cvM_u&beFJjt&_|a*FwR63x%l>D6_UFb^pZe7Cu!lW#?5sPOc`pjwMm>|2_nbJx zW4-)CfO67n0gq~6fuqyw7|B}A`KTXXCf|I&TAggI+o^q!w!TAhbaP}R}+(^JN zv_WDnc8i84xp9Fu>*j>6>LiEq-I$Vy#)`3m;DYlz-}z4cXyC!6jZEdW#l0ssu{d1d zl*O{h5$+H0+&irB5K0c!rLlkoRme3hy&hjP`jZH*lUa8iz)>~d}s+icql@}l(zz4EJX)xPpdE;zq*yx|RR0IhPWy$5gn znK~8_5@fyBDTj7R#^p*wWmEj z!_R7v*Z%Nv4h?)Zzq1aZ>^Vl&IVWsD@>7uHkGeMi;vqV&tCgW%@SSVKBuA3mPiO(6 zSIJuecBp1qMDk7_4VZ>VKO&U(q+vJ*wjntN3`Hzv6p`{b?Wzu>3;RHbmPXIjmPsze zgO5+8Xz@~BcUwKf*&Q2+=!=lfu7pe@pdbja|I;jLMP3YKRh4**R#3@~)a8_IBG4+T zbfFq2sD!E=CpBrdY})Ba(GV?`Au4z$vgqkpAQ^}aEyZpC0**>LfJzbUla#tG!ElO? z@#!}RTx4Lp_2M_ijW^yn&e7L-Z};8KmyEZ*?SGEHec#_BJj-^Qw)5AT7$p9L0h97? z`Xh6BvlZO@Fw_htKH-u{7IvMc^KLvE(aGXE%|}h!)li~aSV%zVJYdVh%15z+w&WO( z{in%CI!#6RK?=)wq)0vn$Z-5Sx^8(YZ0D z?YlwdC`DY2t@x8C$t*O;Y7XNo$_8K|rcMWlpt^^q@V4HvbzF4Kx#OhMJ~{sAJ-;~) zJ6IP{_rA04MCJ$TNY178-$CcMyHLkhtT0OJ**738C zc-45!kx$mGm&oLTb8;jl`Q=pzeaBp2Sfc7Pmo&H*(jQz9Yv26{`G%al%b|WlX0N3S zJa;d1(Jp3lV%g(ABV<`Gpl{SSAHIG0x#Qdm&Kqy~`45dBKH?#|7`oF~w~@6)`4SMW zW)2I1lO4Tyi8f_78DJ@d++|hvAgCtzm~jJci<4OanKDQpozz| zm5t+RX6&NE2?=kcwr;&?y#1_`$4l<}+v7#gd-2$PSKZ#P>}I`D+?pi)2G`5n8k>%? zatEkhF0nJylmu6^d`GTw+loLFM6XpOXUQk66sy@paz)HY?f7=jGBi(@T9{F0>Xtlw_KIP=>d9d}*-`0=~P{?<6` zZucA8ZO{jNd`2Us*a0Qu1oSosj-xLEv60_MbF>tfzLg*`#>Y5ecU4WRdD<%;9}i8E zq8(>f!tVcd<6re-JFj`=YsM*`K4pCQt6x_C>upKN#uzp$-wqgky{Kc{vRKDQ3!q>+ zk*--|5R;tMqGAmE1dHC(CE{p=E{z{eRY@4qZ>ODT8t;%=sF%gdY&`3e>wv=YBiY0W_ zuv%N=TRe|b$D_XG9X!C2rw|Q;+FKaL@E=_paIF1fb z4d!9Sf&`|#lu*zM?}GydNreuL4?_W6KQ6iC;_(GvaDIa>IDbgT|4kbA`qqeN02tWD zm8#1QZe@OzPZ6;k;x6_bxe6m%(@jqyTRIFO;>2*on7;nY;yEGHhGJ&17Gi)w7FkbpBL8XlBrW7`~2 z>5rB50UmcazxK7S8L!muncRY&O5U5~ZKsndnlanI#_$>|rVU$S&F4=&jflY_wZ#U- z{h+;Lr;U{e+JC1&o5Zllqky#*&G{1-QIxj540Eu zIBgmdDm^ybNT#zj!5dUibgXWuO|G&Drn3<_Y}mc>(SDTPk}n8Y3Xc8Pf)z@r%jmJC z$unL=*ak*$p(kDomrW;SF&CX`bKK8+gxHA9@=X5Yk;gmu9V0Yib20?geeayso@gjjx z6XKv-+PI~S^C%mbF<#egV8w_5XG>+H z&(W{qg7fb$cQ~)thaULC2T;yoKy26e+Su0>%l5JI!n{dD2v|dV0k*RC5yg?7Ns&wb zQ~zEUoI#|3-_b5LF?`WL`al~dSkqxO(L+D6E&QsrVw{`DLCP(hA-`pBTyTG=7CUR;JVQOA;d>3Szr+X+A7YB zYVrU-^zyv1jg~=Bs=45-8Uq-^CW}!<9dO%eA~F>O-C!;4+!^M*l+!~}Fv zgijqIUY#^KPmfS$uh7omwrsI+xX+2cs~4pKI!-L&u{#}uA4gm(jaH1Fm5n5Gg(XaT zYqET(IC7$l0*qX6cCGy6LQt2@o39@yp7>AW%jbM~Tz%Cweg^SZbus#6edTxCk{=ZG zt+!$c!v`f!D&>zZz&Ix;!K(d|JBvY8k#92@p|JIdCs>s$cX`Q8@i`8l$jW4>V!O7y zl3MT<8*sfq@yV>-Y?~>5+nl}|+koORP1lyE{KQknVTTFIz`a$k-Rg6-L5Y{bFr%I2CJ0ic3@Rh?I>Y2%a0z|1*;e90QO^2QLc zA3zDu^9EX_0v#R0lh!h4GX`7Gd%lI2EhaH)vyQd6GHOk~ISMU(ZAlq~wqAFN-#kA0 zh4+lV`|Rt+SH6A8xXZqG(uKEO^}$D7a4zwVomtSc)gGI#jcl9anA88TI5B~={dPNy zZ(VZkxb22L$FYxn=6LwM9y{*7@4bD&Syyo#L+3~h7wh{>7-W)#8K}H!M^y(s^Qup% zXFgg=ycKzvE{u&?wU5MAryYq=W62`&AqX*W)2-Kze?9k%@v^u6w{gX~Q^tJ`eB`+0 z)*ExeBwJ<8ACA+%*tZuKvzA@8S!`FFpRnlw%Vz@jdEdy%i0eNyIwzkrnR^il$J&QyikL`#0us_?>=FZd?#>Km z%hAh`mxP5{1_cP(DU0^a7Of%K;95r;_<4g)f?|+6sJQd^lFKg|FMZRC$3I{8&he;& zj+QLX&$cmP<0mTk>S}RPHygTnB~Tr04B2H(y;;vW-hBNP<9**ebNum<|7HB@vtB%Q z+GR)k&ct-w0%1IOeBmZUL*g%$#1L8R$2WNMlYG%~>?mJ=kXVnsz~lrTA}8~vsqXa( zSlL0_=wdpzCIGfhj~BXWeDbUhjDPz4@#FJf{}+7#a@VojF1zTi`-0LUD+ zqMF>zh&g4#2Bta9B~X2FDqJKyER$a}(2-60SiA@n0-Y`%;Fd2d2w4xCs{=#!&eokl z|NRgD#E;ZC@4|0_`0rj`^r9Dy-`7_Z^9*Nsu65G>%ina7Vq^>?(D+M2DPHf$hX~An zs>G~LWb8OS9z>$MRA!K?HYcr1vufb0%B~BXc#$zUxwaE-bAqC6DjLfO0ib?lfYH#u z@6@#cA%|qYP10u7{%oPX!tk*IQrjqH@KP9mj32#3Bpn_vsyiFBNgnn!Rt+yKrwxAr zsf}qq{D^=Lom=`L1nr79^{7;7`Em|F0v%tR8gSh4fwGU05(lFcY}j#@D3|bzCa(77 zyEU{42QNFeroe;Rx`78&Ljwi(4Qyko%hZ0>61?$Z+^>L z$HzbMNooK47oOq#d@eXUARVPRUXq25RjnmN;*-xEys8zR@&iwr@U5?eNzrrILNrU! zLL?MgVWI^ap8wMi^k2Wh@4k#4+Z3Br74`I;YS;z{s_OF&r}E*Fi!K>|sz(aF`n9hP z$bW4Ax5&Uf^f-+D?{b%M=l%B|``lrlvHkYjXYJIu;ds8w&O42L_uXea{OBJU_q?ah zrN3X1y#F{CuQ9SllwpGegUXv~qvru1d zdGuO1d=F<;vnB$7S{6MYy9@{b3_yX-jBvwkP?aloDn1XhGtPoB&8YRxP{u7cqcj`E z5|wp>9rHdmJnx{XL=L~mdg5z7()67@2ncX4bMA`{pEgIPkACqj$u4;eE{dHPIDD>z-{pqDISx$BaTvEY7f-@wI?ooB$2yK0v`Yu3rt_PS8|#czFV>_3hffBZ`? zA3t=!J*88Rui&)GI$)|;F_9+qvTQzf2&e22pQ`awjB=@j+;;9HZ%7zYunxe;>jjVZ z`pgBnYZ_s3Fe;In&n&d@;rxrgHD2`kUma&}dH;CufsZf<`nNM*@X!As1FSteqlx5L z!qRpr_+(#i_hWdj-F)4+=<p`JdM|+0^q>6XenXL$t2lx`O zH=3tjRXkm}aG~+J{^s$`OTIE*_NG4=U%2{&@zA?JN?+-e=TZgN&lFe9{YpIg&*-C? z{)z*MHXYaWNN~3uKbmvNl^2gIZ~oeN-h*B~jyvX;#x6VUECkjOE}nv?6MkHlactAS zwp;6qWh!v5qtIRAZ|XSijFfIk__qAeF(G5NF*joQjt|jUi7X=;_UpfZ^dmv~fuF0k zTsS^`+NZ|vzU%qphYmbq?6b$d{&89~WswK^EO@x*HE?f^K+menn=xf_S z-xbKJFwnYC?Kr4PqsK@a%}9eDm!cAkSRfy2*LVs%l*rhW?c#)}vgfd90t(O0r->D> z6;{-y<_0phtu3n7Wna2fp|x&BZyn5}2*JsKpt^RJ^SY!Cz(%`0btEc)ZZ>}KL@mF_ zE3sRW;erJpdytf00MJ)u;EXSRalG$6Cyamizz4>eXP<@8zk7MpU;O2G-t(XD$1~X( zeCDgvM33*}ftP|K55#B@3lltJf#P6YgVr(o%`0PDubi(S+Omb#fd0Tg5V>%ry2nw_ zF$4zUsx4cM7xPT2v0`rQaDEak`Z{_So_GHEO+CWrZ%#PDlK-*!-y;LheEL(z1CKmv zJm7&39QU}#4~^aQ4Nl(oWDUz$6yA;m0Lt#tR^6n5*po;8KND`~jN?B5s&uj zz<17r3zGY`usz5;IZ(zS?ZNWcL7I|yO0!5MZ>|tC8FPq<#2hD!cBx`U)tI72J5rc+ zNTT6}{ga4u2@_o@ng?ICockFO!MqTVJSx^UT`1by632Dl%&4hR-9VAeeZXF`{NIMx!%B`ygZz_P^Gdcrh9osqNSaH(DnX#=7(c0+LdDq zfYEAo+_sD#ON5E#JlHojxaYv19tkG6*~V;jN%>C;E-w}7+6Nn6#W7P-C1>Fp2hy>) zSk@@Dd{am=YLgdRu{tz}t;f794@Bdy;3b1aDPf@I+#I12Gg)72D^CzKu7%sevPrMK@c5l*>hB4f-ho($>1hg7tV>m^f02UCxffsis zifXVNgR9~rLI#O}0#pCdqv9&t@;9_BK4xcAWCvUNFbdVMH0;7WI+lLn&U3$J)RlXz%-+gfP0F>_=6zi?}!Nl)X9{XdD89)28 zFBo^&=MJ{VLFDd-96au_|6SII=iuG`Dtc8tW^jm?azEoOFXIF6?g^uX+0`$8VqX(sA4a9yT_v-z1;&}PMk zZdVll+Jo()OHM3PdeZ_r*5{LRu;%63;7Si!UnFCkNIp4SH!i;H;_>3QykLCr(tjL3 zy5EDwt~>7RyZCQKMcfCrZW`BYzIvQ(7VUgx1BY9X#e}^ z?(zOnRrMF~3Cr#Sm!>NYo3?GKFPn$F>iN)S-Plg+&b8NHH@<$+H^$@c^|p z!II5Rk_wUxXU}Y2H$H#%XT~#M|L}2-J0CFi-}_L1;OIL-h`oQhfvH+phQ>s<+gt_O z&2|3z+-3F?o5s~QTs_`@!I|T4pZ+)FCm#KD!}yyejPU|v=uv>iPh+W(yN|aq zNU(HJ*=>iGd`MqxB%*0FwIH-b@r&#WVbt~F;`6y*|N8jr-yR zq-Hh8If9tn6~3jUB;xA$t59UkjKV5S_mN0#%M&dPB$}Mc3I&ECBEg%Wm1fysXR7uS z$u(k*DY7jo<`Lo)slixq*ajX!mV>_4_lYoIL*Q^{>}A_dY#-3u~cQ`-yr=RQNw0-TdpbqwVtB@U|ol0L?&N-k)9x7lnXfp0fp!9sOnAj4W zV^X?RZxWh@RHaaiOqAX3w|s8fo#Tnr zM`-=qQNM%28}yC(@D)wIdB|~?H7++M;DI@EnSK!{7a>%4|JAt#7v20GTe`REoWyIR zL^)1#RBEq!4ns*i*pXpL>07tL+~|0=ZoOGP2vb0$u*XaEkY5VXdJUFb)?HPc3w$IA z5>Ve-#>c-ri#X5t#7X^&PYlkN407zSuXP95Z8~qg)gPv6Z6CU*>-ZCakBi8wGdE~$ z&!f5+w~WJ${`ShwdSucL`XGDPU3MCK?7o{H`?u$wd-~$>CVe}TXDZ|7YT+D`i^#j^ z*~`1?+lG7Zz4zE_FMgY5Tgg=|>WM$+(~>RuR`a=&RU{W_?-hae$UA-7(Q`&K-;Aos zwG`zInea;5giz78s5VWBVyT#!UWMO2A_FTr;+H|UEhJp)BH5)agc1EjMgIq_{HgO2 z3@*ow)^EJ25>@PC6sX$a;2N#+&2lhSWeXOM47H+&nCT^hV$+x)_;~7PJ~K{u?+Jc1 z(e=6s<-h|E*84V%GvRF1Bli3|P>PF-(~L<9k1sN^<`MJkR?S@==eeOUJts7ASp%48 z{4g}*i}B7~t+|-4J{HZP%PF5LX}ohzbJ9sCjfd%x8h>@X?r=WnAlpoGmVQqXinV4Z zO!@Avfv$?RpIV zd*fnL`3*br!8CXJAD4p+9)pK9`0A^#){k7j#CJIV$k9i8ed1ftTejRN70!EEvl%1) zx}(OTZi>P?LHN1v7*_js#v{1UopW?yWzESq`gMHQ7-N-XUFC;Nxd9OyJX-N4{g%(C zKl53;x?FG;b`MnGY>zZxS6k&YeO0kRh9e@fk%FL?8l3@TR!fi1#$V-8j}27{Ge`u; z;5OOV$i^zQ_RYkJv3gFj$l$NAjDnY{W#<@7fL8IkYb!)8qc#_ahLOkph-oUw&hVgasM7WJZG7$dXeuwzSb%6C!hm|(=RLt=US#Jqe$ zM?~oa3VaGQ3jEOgX0*x3*Pn-IWe%FrdV?ywT;)+ib;E&MbrOesxS^*h+1QRi)itmw zcD>}VyOg#eihWNfMJE3FQ!R-(^iB-08Z033BEL-LZOe7nUOT>c`kCX?dgde(YNwrd z*4L(Q9#>v*XuW=i_g`$O+>sGh~VrxukB;}%^6edHs5bUfo3$Lhpvmp1SHYK|fJ zN2(M@KQ6)(re|BlKl`p?^`t1ba^VL-y=pAD&upzX@QY2(RBst`tQwgdv@9-#(B{Nk zlL~klD>m(B$=AuejYy}c$)XyJHlSSQ(NR?URz?_Cmc@!_#*yA!By_Pwr_$G6cjaODW7_?X8Y|6R)kQoBtG%n4lebuV>^Aon-6`cAS;|4U4Gq_hhUby%zO6AUOUJ^=AFJ^omQyUwr6~$4Ae3-Pm#5V;p$LyXXUy_2Xt8 zgx5=+HH)%UCwZLcb5QlcN_%{v4^wEUr6%WorfS1@=7XbKwr&~kIQ=u@to05^#d??O{ynE@=o8lpVV|NItdMm!PcRUns?~o27VwAJojtKgdS-->uPccX4Fbp z1ox?A&_fCt-m*o4wqE4*cHVF)a1tca$!C3Zyyc|d85do8!`NlV9d)Pf-g?&ZR-Xg{ zl0H`a#>EM21eJRCv!h6&?OXa837#juPS1(HY<%&&v&NtNr#FtHAM~SR?_Ce_hb>0p zjWs^0pqGNfthbO_8%?I0c!3b zgEFQ3G8i=QYy^Jv+^G>Rc{Qvbnaqt^yHExnZ8oZzKf3@CoY_Dp@qjMUG|;J#-ktoXurxx78P&=ZF}}z^_~!w19z}^$q4zv zmI`{Bt36i9ZHA3xz(B_`+8|!JO@6_s9M7?16^9rFYgvxiLW>^tgdDorq&v+oy7(gh<_Q;?0dT)b&uf(Scr@plZK^LCyy9NH;OyA3E7{c_ zhxOPX0aaYXEw|;H?a)wXMQR9Ch)I4?mDo368<+n~x&}E@{Xb6k99Px zRT$*SJrp|jtj|U-ifGk~BB3jP%nZ(V*@#FaBVw%Ra%^p2qt`|j=o1yI2-K~jMMxAI zQy+@HB5nUlF}}g~IYEx)?ptGJ%(u@*!JjPfF&^O1%765!qPJ?fMdM$2DdN1oLD$4F zn=ppk(M-(vWI^44cIi0hoO8zKKmU1ukj94)zHd;9z6j^M)Om)3kUx$KGa1{CmG!{R z#@mD^o1*i+8=r*Y<7oWDAG}k+f7X>$#}!vxKDO6m|DJQ)apO*R;=P;%+9uiP+*#3T zUPeK5!q~e3ZtAQ-6o){yOeaYq_=>6GsdLC&+!B4-itcLc#?vOq-2xg4eriiqP9$}q zEs|!M@5Np^crfEz9k&AVS}DILnHc0>hf-(Z?l=1>onGtg3pv0Mmw+V8|4bypfFxFVX+pfh{t91JvkgE4ob_Y#=FQ_hy3_u=Z+%NY7QUa>w+%kV z-lB`YfMd&t9XrVJm=E4mu$c|5_`%+EI~n`r0k&|EPakGoGmQ^W5Enkrx4-(DtH%vD z+@RlN_?dCYA%_Uh2V#&_RhDZk*$|j|86N>E%PuLS4L+%%*gx%{@q$DL(NHV((2)%$ zO0gr#O2IxtV8E|>DS{Y%1TdCdKujKrEf$&`n=RR&^x@Rd`+c{*;#xPhIpELu5tySpla&sV*S_0e%a$$UCY`i1 zxya|W*IYZ!)*I$OeZ?!rNxF07|E{3pK_k<#E_22wor=KxCExK^ZG`nHCox*yaU>k) zmHalKL<1S2CAMw7gTJD*4g0vCI&M7sInN&Vy4St*Oy=#psBnkCE<5k4PjJ(Rs00D~ zoJ6U`z;+xo{Pp=KyprUtckoVjWFQdw1#Y(7WSr;*aS z^4d$rIp=?Ny!%7%9iKS=o#PRQ9pgKZx89b6NL%oUoM7joUAB@R(cKS7CsuM7uWlQg zxXb94+s4-}{+gZ-z2|uJeV;m>a+K~|-|db_qbyIfmkKFxemWPxhz8S;I*@pB>WyT6 zWQzq9o)97+ezNK}P|}CYa4`%Y5^1H@S_jrshIOncpE`0O_XAZoSHGLgOT#;Y#3>k;b*u`g&J@Qp~^I4x9 zfB3^M9l!YO7mhu5RNfd1I{8{O>D6kr?;f`mEHwBuZ56w=*p=*C940TdI}fVbFKEeD zMyQ2=q69R8QcP@_zZw7W!|oS02QZdt_>>Qw^#1Xp5BwkF;GGX2yY9Tl*m=jDv<9+n zirI-#m6MxkPEJwBo@;94z>bdUhK5K*V}IlAY@3?3;5F6b6rTQFceQ*rvNmCNtMF||WltI6gNyiP|DAj(+fe8>BHTpMK1YO{ zLqVR40h>1H4tovhx190M#JnHjQA>@lh|9z|8OVEnudp+DqiBuO2HH7uK!%5a?z-!s=$79Q#hbIxi6O|5fR+ zif_(oyJa*r+@{Zvs8V@Eo)1a+V0afjXWQo}ev`4%7ZR!ng^|9eA8ku;d4_C*BZ*DM zL|JPRrp0RVGX4-?USfy*;;9O|@-sYBYtwy&u3pHNp7URw;HVqUV-0m#L9L7XMO27I z&#{>Xv<4`JsT{gLV3JH!3qTG5+nI|`B0!sVkOjknuDL4VHUW2*Y9#Wewgt7@birC& zn|`lD8(jRdZ!K>IUcgu(RyF;IB6@6Mi{qG$LShWJyvb^`F_6(&5t#A$_|~Eb>D78P zTd;Knw1$j^Xg1BJj-4#xwyAg=zi@andc%!3Xf5FVgDz+Y2&`1fdADl=NdgnwVw$jxAcE(nGz9E(04nHIzvWn5 z`JS@K1PmWs#ROfZy*W4<*znb6J;z@7C19!Em=nILq$6gqA0NuBneHdaamP0w0Pw7T z)+ov9wtzLpI8HF6?289SkIVRGUnS~u6m&GV?YhSy zb}0mc4aQ;4MHx8ZL58mJj2);ouBQYfbYW|7*@If2v2QY53#1(l)hz&n7s5fEqTsbX z`_zDC2l+Mv#=;g>6+;)J*CJR>Yv^oy4d_0Z7heohb5u6WH*N9RbIN{(Pyg6MuLG+- z#>HNrY+W1lc@g~#2YUI{MBX>VH0abLzg6GX;D$3E!%4x%_Rein!9xokx=8%57Rgqh zTJ`&=*{%X%zf~XNacyGvJ@)huROit|r6?KB&FrHC@3_h<@sdtSP*K|jH&Buj9_~#x zjZJVN^O|$Razw7mn&VqCAyFF!8j(ZYyT^bASNtqsc9h1W zZUN~-6PPWPZx$_IaA;o0S6v20LK;14)vMq@UJMIbTy)r!%AzMa#~U92MP+R;nslIH z1rv)k_nA2obv}UAdc`>^AK-E$B=5!YgMruv^Z%O?Z`WcIA_X2dRkA+ry34LUt|t*N ziHN@lcK!%<`CwZ}9(U|Y7Vr+odlnG!BuAdZ*0y6dfel3p9vi7b3CD|&S|q$==`$OW z&dQuK9E#;bq+51Tw?GDGL88DoK{h^f)&r%nY}y7Sga3LlzbvCYEQ;H63ofYQa(Hlj ze4wuLxbktvESbupb-;q+Jr|s90K2O2GFE|*T#B2>P?LjAH*;=~LVnetTGc^?0wHo5 zAU&~xfZRc1#=*sWc_YJZPI4<3(w?Bm9L^nmxh_S{QRDnW{OhaGqDoy~_H za;P7lv8~gLm-JH-N2W|6k@{ybBwwqGUoODFN5|PjLRD<0N;73vb zmhX7t0=>+%H5+ncQA(eq5xse#B`BdU14L~BfKg@;b92%b2E&lK1j`D=$`b+b6kZl0 z#u%SxfAzex#|bCDeth9;Ul=#)hwu)%lfJ5@lTyAa6C4Stl0~^F-ZfW7@{iG!I@vXV zlCnu(iMdH9OCS2mC&zC*;`hceM?XP77I?(iX}evNT0R90R`+tpN<80HW`9;c**Jkp z*b1yu(aIf9=E%qDDZ~mCEjPgI6ZGQ4gN$tCgP~9}EUBrNq<_qj@OnpEv0nwYYE4>(gKV$avI2 z&mT{J{L{zb`#)gpxywF2*dhl;@(3m^72sqn5+kT{~T<_m)oCWGD2=#miYFoz93#@~PJz2hg|{mkW*`_q*$3?A2BsBb3NE$Z%9=`j6yy0lS-J*Upj$=#teb-q=oe zwV?Kyb3ZyBchIxP&La=CIQUFFU1+;*Kn$tXuNL~j+Am|4s1ld+S8>>TZEnv(Ug3}v3HYE>u{wjQ zn=T%T6!y?u)-*y^Zk@G~?|C?VDS)u)tF~8=G{G-@s2<&A%KfT3YD*Deg@!1vdGSFl z#Mi>A)fn`%>x-Au0e}$HzhjwpO4&Ipdx%CaILlH=8J6c2;Af(rs6)A9~y}cbnXY7AKig!eA{Ur>;{inX+M_a9!0VB03?mEYPBE8 zjlCs4{AQ>9;`3@9UgENdb0U7_#cQ9|HI5}dw?$lK8K0_`I$1&8_Dq8kC@dNpBO!|b z5dpnci`$I3?ga=$RJt;_r~shi>jc`{xG9!tgiuPB24lpwL$h4#iWE3TuZrlATI;I4 zkRur{k!a8Cd%qb7h?PkzQ=VdU5n{F@N}OqB+qR=6y%No}k=ASO55~T~S(Mm_06*Dx zG_=W9znwGCeZO7)1{O zvBGYG_LveiweorTXAWF^v5>0qpH}XUE(S_~QA{GzGzvkD9y3t%0t+b%u%QqK#YER! zmv8#fz^$SdY-T|Oxagt+SZa}Sz^0o$Yms5Q;xPfNl(ZP}Ir_O-As3n9Y2NA@UUS51KTK+&*vx_m+ zFsW8d`(3l1lY+M63jlT&5H7_?OZcRL=hty(BzHmO&hq%PYO8Iszd_G+I`!1g`?*SI zoqguGPG5iE)5pHUo4dOBMDm6kZyY!1M+&*q>n7bny+!R?^mTPUJ>_ncJc@$^;*0*B zr;du}Md=xodbZg1x(k^-kNVh2Um4@Y*T=Tg4_EN%{Y;8fIf!z>;~@_|YCQBI4;@E7 z=*Y3pK3tqwNgP3_c;S@1?~apg`qZan5~YSu8M5SqKHyX;7prcsuXCrTalR}#X|yHp zdf8Rmg;3$CY2T^%#H_}E#n^x>8nXIxf7vfgiEdccY92WUWoqpmWHE~t*MTUA5i8g@ zVrwC)T_C1bOm*?d@(k%-&~cz{PQ3H(Kdd`S zca?2z$+SrEb>&t(P^Jy55)wog5P(1#uQ^$Ls{jTxjkA8~A z^$tQ)ync2caSNevFtdD{0_-wjTNV-lr`!YP#y3dCmuzD~@yR&)@JqyWLZV2R{Cf>4 zev!?_r_53I)}&(IiJ$tX@r1WLX*}aT4;s7dpvS++HzW+B4e?V00uD zOL~rtbWn*KiZ3kN5Av!}XM@lqopFv!^@dA#!PBK% z#|`6sC%$(a`;O<1=RW9Yf7{^}tzD&_KDE7eLKt>}4Sk+|#7D$xC99^^3NCExj~~6e z_WEFL~xW$Gs1|UoPNF2MKH1XaNz6`?X`G9UF*83PR_g{6M5s;5jb{OSv*1 z82skX!E~QU(X#Fp+eZ_T#>|=*TkG@#ocwU#RX1KX-uAw?jTe3DcgN2^;IWd;^Gw%i z9F;MFFw5-*+p+_0oGpvtX$#pN$~NCPVYXj*#l@nZJ05i4vE%0+_p))oeg{fYAI1bC zI?NU6tkaka8I%;;NatZ8M$D3|40?w6OdL)0a&c@L5CslzQjCeLD`3Ik#im9bL4>HT zbTn#rffp<64P%g{MJ*+=uo<&R6Xq;Yp3Sc0na+~--Gz;TuHBD?e&)RVewXXEZQQ7lJ3DWp!Ei5;RC~J&i8y=+&a8$dm zXKbNO9MO|cn=vG?9V6=b=0VwZ9|9~oF6dYu_0|t9{B<- zOzFFSoC@e3wMu8=&&9)Nc`G1`;;bW+&Kx}8m2(n`WcyA=;VpAu$#MD#e5*^$);aFv z-+PF*Jx@Al)!dL^7qskza~*?GGlvHPO8Ai)Q~|^3r&aEH+yj>y!mmk^&=ca5A?l zCO%}dp~jPp`lI_2DCf&@#0!HPCpv{1@)Q9VQsYuDFR=$%veVZZ17^(m%2+qZ%msau zH}t5-m{HeplLCNhamOUFYCaji&Vf94>`r)iloBuexB=n&(c?-l#{d9807*naR1-dj z14koO=SSfA4one{p83S4=DT~{;uTm!Yo9(9vrAPyjGPPUczz%NQc9fVbKd z=cw zjWqS6W{Vcj+)>rS$l^UOk!tJp*rc{63ENm?En4!a2Vvqc$R;XrULj&_Ro=8a1R{wScqbnE6mdS>UJ+-XWq~IjQb6k#7 z7So1*)XIt*(^g?wm%3h(jm&gO?Ifa1tYAexoxKD$J5~@J3>YBxs?CYM5`bH#*mj!B z0Fn}V?f=?pcu^^_fY{U;du6d~nB@VT!Q#b&!E7vTnFPps;;5pAFHz7zlFJ)bQMhoh zP2nqZ*I#%2xKYov;Q}%zZRuBVhrWul#gF8;;DYnVH@z`ueNKKYZ=1@&4ofZan!%pMtW~)5q}#tpyKv=Z6E+ z9!hmYuTxxnNNBtXX})M`I0liRCt`GY(ULtYR%{Vcqll#uZKHj$Hf6pV$*GB__(>&>Z6{P!}zLUgEoo!o1#OnW|&AgXQ>y>EU#L$Re z5nC)2oSBYi!oQu9R?z-C#jUTzs(c^Is z{Hbx^euv1j`e8zF>>zzyZ*GCrv!?S#gS8do_@oy*n%-4K^~!Rn=tIK~DpioqT0(7g zT&fLe1*Jkrn6QXXGCuj0pKb5vo41TNo$#0Amp}4rn*bA+W7AH8osuFIFJs3#sKIQ1P@eUc5XseSv#!eDRXMRdL=2^P+|M*Hi2=RZ zj`aE%V6w)pkr9arf3WB^3LC~kS#WclLvCTlBF8gjTo<@F-k{=fjR+8R{$-b8#u>3x zhiE%ks5UaZtN=Yt_A4Y>MuLv6b4g7?(uOpP^=wCK~Wt*Sxgn7%D?? zQ##1=kC^geIWcn{1S^x(=%S|Z5}fK2IT0J>pLaO6*qfbZP|+#&Lvq-` zDGGdc@bu!t>!t zx-!G5QTsWo;+dTY`&`m_44icg2?n%?`Z~Nt)DFL-vYSI0QwYSp30gqfmEQ&-Ahmsn zH*2w(qrS$NM7l1K((jR=CJ+Ma^Yl396{cj9muLi^zL%QxIQARW7}PShie~pYUZ(iG zOadOu$m+FRP)m#P>oJTCNG7w1JLQ?zzVPK49~#lni}Xx2)ot4t5rNq@c#Mao+d*3? zxz?2e(DEvNA&XizFrjTImt&h^T){ z2gJx=QlOI~bX<^yXh!v`ovU~wHO;RGmww?$XJSKAgLXP3jkN8ab)zZY+n&|>y^AtI z|47JvTCrHsu!+E?q@U9aTbSn#D^AE4CN#Ol7v#_+M(tFh8LC^wa8%f~ecp?=d@7zl zUMn&~`aQF;wZ1df93N(-nsXrVg2Mz%Xp(JO?fqT>GratUKXsawZB-)7yudf}AWg8E zf1(*rtk@0$^Bx_F)lw}PHOw@sC33DWvPe08$u%W^V(=cp%%*@58_8u^5!>C4J$#E8 zt>jCHMrauJ2vNYVxYckIUf-DIoFgWh)eyI0XjJjVe#VL@85^u=;UiRW>0p4o`w=~K z>_bb!3(1&tC^q$Caki^CU^N)fU_$V}H^HYWVe=6w&(*G46gvLO?GlSUm5hKHGe9XM z)l?C$?S%qW1^Eus1pfLPuJ;de@fZLeqreYK*$7}V!ux}~c_$}4do0f%;|E8$o0%Uk;D`Qr@hi&T z^?bbV<52pU2$cUiNb$ixWkbhIoBm<1I9Wt2qK#=uf{CQqW7cC06v!e%ClF+zsZH^C z0uurI5RvdhHN6$dZt0qYU(#HaFB5=I*~Hm$HdPzhkaEVgk;(x;5m_|`O)?f+rKgS$ zuofLRiij@uEg?DPln#&@OE=%Pd3@s3kB?*i=TDBO9rmEH_wIX+TW;H889(`bB@Ua% zU*MoSuwdH&MzpxtO5Cy~erf#b>o*i|H zBf9ATqr;vTbYApV`o{;)_DwnLG+Ns9$V+MV9d%$VD?wyaz(qb*LZcxX2hj5G6rN@K ziD&CEH+zkpHtnK3?jbMb3Hc~@=_B`3;0jU1Zo66y;L8|yzKQ9@tE*D zHVFzaIuSkI7>KEbsAhub$Y@7M+ObV96wwsXV3xDlfq)Wy)hu*Ud>4lS7c@ZZTMMyo zT;(>}@=;%4diw|7G@kddUl{*s|ND)dcGy)PT5K;}|0cAxnJ0{QUoaJ@b&VD9_*DKd zjv4QAob$Q-sA#@DbM{4_8av#0zwsBp^7e7hgOBhtp1FwX=mcUMAS?EA(tbO--kWdl%n)k0Dfi_nk^Vm?+wZ#87q zNL;*C7Na4&*3yo=YQ{#T^8gMn`v;#=_Or{@o>(riZrjFa<5*vfJ|SOnA%KpxjaX@# zRJY4s(aK!KEx$?~I)xZ4iY?a2W*|uMu7km!B88iV{UI8JS0hHKbX{GmyqZ7QF6{tn z!d*s%`aJ`_1k3bnt=K6Vl%4|k;ZU^AoV0l#5ihSrqqGcUi6u7KgzTKPzFPdR zmS9!1gs zL%V7AT@9;+hi#e}I%;`b#J~72E?5jwCxdn%`a|NZ`DF)N08)D24MTM7flD0mp~X-G z#^$OHnERnI5um7zHe|2$D|GWqCIK2XN|RX?SORg%jFG+|KhqIJIlp5sK~~@H&o}_1 ziiHr1!=+V$NydI_2Y@?VG_V~AY@I(+#D@eNJg)`NyFjz7bZgv2kZeU4ef%|sWZc%) zdTLDH3bS)yxL$l1oBW|%0*+nhxw)Z0==@`(<+OL(IwHf1aSNuZtwE!YHvXX3xvK+} z2#QC3*aS8TG8zlC4#VRedQeeYMW$tr9TJmpW*6}#2_-A=oSC6lvtO#y z>}M7RxAo{Oza6nNB&$@_mJE&Cn1s~Psfz?oNDm5;J6>XS4um7|jy!3Z$WowyS2P@5 zshaJLhz_D;0rIFyJlE9%(iljLNR} zm=>;svBAPecx|!1NKP3n#Q%*l<^L@ie9(U^6AQCe1i#5nKYBnCVP8Z?MhmL%#>01C zhA3-b0cJq*fpLf#yJ>nWI%5D_NpRK4la@C99W`wY#lF&Ig7a-=tumge_|k$?Vg(?e zvEHMo`VPG~4M6I042^uPs9_qn^(EjERODv@+F=ue3JCiBTc*FMZ^?|Da{PFx&Frp&1Io z?JG4rGy)A(sq<3M;KQb^3ci438BR7m#g3JDWA3HrSQ0PaseLK>g3sbKAIO{GVr>JYI41AB~@T+6%@W zJMAT+d|RKZ(>_^|O~wgocx}JsBSQ%2nK$Z~!WMPUHN`4H=Ag6d{H1R^1iir>l=9*t zN%bCR#saw4e6QmefP;=4i(PH0)ZHLFR^wLvK<9~{`3kZShF&T*kt!|8VlU5qCog;(Wy6L|^J`MwEE8b#^NTE1Ne>GSQdDxMF5(LF^Y#@&?FXU zTM5Cr3GnO_%f%1-Vwred87#A*0nON;#oXzbO2~A}SO8gCmETlry9jjLd>~EVGJpB@ z4q6>U@TX+@S)tggg0c*EdJu#D^DRp5v{b%~3pOiuL_B|Nr3l*16bsw71LZhuowo2- z$5|`QSnC`WxV9VI?s?oxKiCKkiDFEA$2O-pA^Uy_R~-Yj;&p{FqPR@85}r1G8ud@VjNao|)#V2-rroKhV1KOgpU9_AY` zh{FXTy=bD;bIIM?GTI}92k-GhN2=LZv{ak*^oVtMB^V8biLRy zL@1f7OMK--gy35Wern}S@QTWLT6^r{DLOKUP0WIl$L59JR3Q6;nNw9UB`0X|QXJZ0 zeX&9#{)Cynaum>!cmGDw<4-C$lykiAF*m9oY!cZj)5_#muEeLu=32-4V8dc~;lX$8 zXPu_%u?4O`!8Nvzy=HnWfnmDs5mza&Bd6?D7;g)Rgq%CQ5(RSwHwp~?~U$0F|5+EV;2?jzhMHe~=h@c1* zAcBA&(yE|<9nHt5g_M?BrC4ed#6k)Q0t!+n(kKR$Agux#q)mX(r|(|c*QUmAj5*id z=Y{&S);(wMwdNdi%x0~<&p!K}d#-R=Xo;Gv8d+ zffE^12+3T_rIX06twg4HgpWUz)mPU*;e5`Q!mF+Fvk!3-A;%68_q_NM&e%IY2T?)U zOL&*ui55jAU6|OTQ%ff4mWaG;Vd_3bbP(hOkY~8*((4NvleJHjT__edX0$3&v(3cgl zR|PL7!Ma8YAaOI9wAFνeL6yWkV7V141}cdvLNKVBUEf3)uw9eLm@3Db2J9@2|G zT8-%dQWCDS#?D83qY0nBYBHyaizVk3F3+uC0#)6h)B#{}jB&7PF|#0ZElh&&)(T_9 z$Dq|#v|uHNo;8X}8}e|x7}g5~(@|_bk(u`f#E~Wz$l{v3Xg$v!AesUV^dN$~G1Gvn z0_Q+HoDB5!1^OqG@A&ZR$2e7!u zPNi#N_@nf9dR@OSC!L-8Cwl+(wZ9)H-{^7Ur=R%jan}=188<%c=ECx(7k1WT-?%A0 zGq3uDAbvOdkboN6XUVmrG_6LuU-d@jKY!wd3l0e!Cjd3(h9BzXiw6GFMjK@<5h3@qjAl|T1e z2ENbDZ6;YBWhXgBRcotsdL*5Xt%k4XlA0kG#+{5|GbJ7A{bog-uYda+;}>7^tnrn- z|2Y2BEgq!ruI6iZ^a4lySte=~${a8+aP(mfC9U_%NasR*B?eywv1k9)<1JtO^Q{4*Xu7lh||Yw#b&>9ns~KN@KyfeLxU)18JKNJ-BOy=o^3(99Puln zq!BA)ux7YQtY>h!;UWMJFnaP#;uOM_1L{v z>qO*4*Kd%W1Loz94l-gOCYtBJ#@i&!DwZ#;y$de6Xk2#1)#EYud*t|mdp=>@% zoO3dNEt7+^d6r43dcxoFq|o+PZrxA8Dkc&1@#=sH)BzKmIA!Q^Y3M9n7Z5Opb)8od zBp;fM5>F<>9ElHvo=&9RoJ+#cw$1?#0>Dqs4>4ikA}bEaT3^XoGs0z*{I>ly)a zodu$50DLr~wL3o@So(607^!M7Nq3@RJWrs%H`T;A5U2dbTBVF4`x=I3+CbR#T_SORtfLyG4pV zl8j~M1t!_VE_Qv6@-LeV092Ms!jhEn=5BG++_LF7P+IKGj3zcP&Ootgf~4#^NVMhx z;wm~W*#0ZQ9er(W#^RDU&3#7$78R}C8QMNrR~0*UdE;DR z5i4~N2iC4?hbC3tXJB44XIySX$TAgqh}4V$`#Xcx|mD20`;q7-M(20T?O z^MXLeUQZWDSjRZ6jkKK$5(~q#5r56Q^p3wMn_($D5|p(qJFcyWw&*>tMiBSvJmQRG z?sczNy;jySnOPg@Ja5ACYEMf@tR+44Oij8*Gg4zWH#m%*9qWmaWAHxc`QDb8T}NE? zHKSt1spR>J0T|4pEqnNCVbs_=smR0Vx<)q`f#l=_Pp@&rNQsTUeYg`1S}T-DFp^sz zrW({v3MMm;0c4uS%>Z$o!s&oM%sq_)qV-^tX5(uc%#p*E8*-PFs%5-3FdBwp6DbaM{iq7}a0 z%h^JhctRH(@2P7ROA=GhjU*d$1?{?ZNXid3b8j3o0W=4u%#+g;=P84Rtwr4-;0I%h}b06i6Cyb&kHVF?F*aS8!D>DoyImWDg9sg48b zy}Go;cCj~C-3)fFHk2dZaE4rs*eXx@PP5iXg%q5&ektrYs~%BGXgR)DR<6rxUNv?I zlaY=j{z2!7jgTahyIHaH2<1F(vUqg*tmu z2>=~8obi)-bMRTn2l>>>4jw&YS3G_G(m9xmg5(e!BrajuG2e_2zIe3<{Fpp3AxpCY zDjAl}g^37Eq`9b(2b(!hY#3Wa5Q)zhKyYZxT%gXmaD|Oj8k0ce=2303W@IA{&#C<| zw#a^&j)aSm0onJYFiG^QCBSUgAOm!;) zm78^?c_JXIr%Rjd$Ca%!f>A-UH9NE!AEtYfFP z!fw@fD$_2w^8E1||La%Bo6h~y@whwarrVb7DxdNsB@Q~^#KV{_v81c*(xdAm5xfTc z@VTX}JGPIjue)Y^^}KU*L;Hc_2k-U7@sPVeZX9v=5#riY9PmIO<2*7hF><=WxZ_QZ zd>j@~yEXwZ-*hktfp&8h$dyKp7eLtP0XE!9NHx|DDEaf_fA~p}^ff}C(|3Hob@3vQz1M+{Z8-ISQe7IpKp{j%KUS8CGe~fr0d<1M zh!(WF_`n}h2ZPjxu|*D%Y=U9yVcxnccrH*5Y}q~j{fnO-zx0})9ovuk+PM8KPZ|64 zwMjMtU+b`_9fAExP>cx+EQh#+ymNp)-Q|~KKReZ6Ha}` z*t(rt1A6`Oiw%a5XjjC&o+3pkfX_7nRLM(SMvRJQ)saYba6J@v`vKduk}cN@lOQ&7 zM9%iW1|B_K2hL&U&6>^027BZ zTcBP!?nHYWby<*)ejE=xgpgb;!`3lohs>|z!dOf_HUmlQu;a(Rss;)t!|G^9nr`JI z0;41@B|GUCNXZ3jechyC#M_` zOHM{7PSZgm7Kho_3#Kk+(=WMVW0!1VYk>&NF&Bfz;5WyIZ z8cC2hiW;k*moanzxyF}}H3GjFyj(N{;e4_8achfU-3^EF#=_-}k7F~KJ2KYtTxWc` z8bdoFXAGCd$a7*${FvOhigWeC;TuhYIZx%0AL6f8ad6(BwIkb#H}&ZQwyeP7f08s= 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ξiBTT{hwrRI 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 diff --git a/doc/_templates/layout.html b/doc/_templates/layout.html index e7c7d9759..3130e3530 100644 --- a/doc/_templates/layout.html +++ b/doc/_templates/layout.html @@ -14,7 +14,7 @@

Chadwick + pathto("_static/gambit.png", 1) }}" border="0" alt="Chadwick" style="width: 12%;"/>

Software tools for game theory.

From 0adcedb03cd82625654858b3a878f5b3e3c80d82 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 22 Aug 2025 11:56:42 +0100 Subject: [PATCH 032/240] initial notebook --- doc/tutorials/quickstart.ipynb | 97 ++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 doc/tutorials/quickstart.ipynb diff --git a/doc/tutorials/quickstart.ipynb b/doc/tutorials/quickstart.ipynb new file mode 100644 index 000000000..2850104d1 --- /dev/null +++ b/doc/tutorials/quickstart.ipynb @@ -0,0 +1,97 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "88c376d0", + "metadata": {}, + "source": [ + "# Getting started with Gambit\n", + "\n", + "In this tutorial, we'll demo the basic features of the Gambit library for game theory.\n", + "This includes creating a `Game` object and using it to set up a simple Prisoner's Dilemma, one of the most famous games in game theory.\n", + "We'll then use Gambit's built-in functions to analyze the game and find its Nash equilibria." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "894df759", + "metadata": {}, + "outputs": [], + "source": [ + "import pygambit as gbt" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "2060c1ed", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "

Prisoner's Dilemma

\n", + "
CooperateDefect
Cooperate-1,-1-3,0
Defect0,-3-2,-2
\n" + ], + "text/plain": [ + "Game(title='Prisoner's Dilemma')" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Create a normal-form game for Prisoner's Dilemma\n", + "g = gbt.Game.new_table([2, 2], title=\"Prisoner's Dilemma\") # 2 players, 2 strategies each\n", + "\n", + "# Label players and strategies\n", + "g.players[0].label = \"Prisoner A\"\n", + "g.players[1].label = \"Prisoner B\"\n", + "g.players[0].strategies[0].label = \"Cooperate\"\n", + "g.players[0].strategies[1].label = \"Defect\"\n", + "g.players[1].strategies[0].label = \"Cooperate\"\n", + "g.players[1].strategies[1].label = \"Defect\"\n", + "\n", + "# Set payoffs: (A payoff, B payoff)\n", + "# Both cooperate\n", + "g[0, 0][g.players[0]] = -1\n", + "g[0, 0][g.players[1]] = -1\n", + "# A cooperates, B defects\n", + "g[0, 1][g.players[0]] = -3\n", + "g[0, 1][g.players[1]] = 0\n", + "# A defects, B cooperates\n", + "g[1, 0][g.players[0]] = 0\n", + "g[1, 0][g.players[1]] = -3\n", + "# Both defect\n", + "g[1, 1][g.players[0]] = -2\n", + "g[1, 1][g.players[1]] = -2\n", + "\n", + "g" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "gambitvenv313", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 8be880912735e96f2932e3ae1ed4327ff2af9b02 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 22 Aug 2025 12:18:42 +0100 Subject: [PATCH 033/240] better game setup --- doc/tutorials/quickstart.ipynb | 126 +++++++++++++++++++++++++++------ 1 file changed, 105 insertions(+), 21 deletions(-) diff --git a/doc/tutorials/quickstart.ipynb b/doc/tutorials/quickstart.ipynb index 2850104d1..bdda6900e 100644 --- a/doc/tutorials/quickstart.ipynb +++ b/doc/tutorials/quickstart.ipynb @@ -8,8 +8,22 @@ "# Getting started with Gambit\n", "\n", "In this tutorial, we'll demo the basic features of the Gambit library for game theory.\n", + "\n", "This includes creating a `Game` object and using it to set up a simple Prisoner's Dilemma, one of the most famous games in game theory.\n", - "We'll then use Gambit's built-in functions to analyze the game and find its Nash equilibria." + "\n", + "We'll then use Gambit's built-in functions to analyze the game and find its Nash equilibria.\n", + "\n", + "
The Prisoner's Dilemma\n", + "\n", + "The Prisoner's Dilemma is a classic example in game theory that illustrates why two rational individuals who cannot communicate might not cooperate, even if it appears that it is in their best interest to do so. After being caught, the two prisoners are separately offered a deal:\n", + "\n", + "If both stay silent (cooperate), they get light sentences.\n", + "\n", + "If one betrays (defects) while the other stays silent, the betrayer goes free and the silent one gets a heavy sentence.\n", + "\n", + "If both betray, they both get moderate sentences.\n", + "\n", + "
" ] }, { @@ -22,53 +36,123 @@ "import pygambit as gbt" ] }, + { + "cell_type": "markdown", + "id": "b563d13d", + "metadata": {}, + "source": [ + "First, let's create the game object.\n", + "\n", + "To do this, we need to know the number of players, which in Prisoner's Dilemma is 2, and the number of strategies for each player, which is in both cases is 2 (Cooperate and Defect)." + ] + }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "id": "2060c1ed", "metadata": {}, "outputs": [ { "data": { - "text/html": [ - "

Prisoner's Dilemma

\n", - "
CooperateDefect
Cooperate-1,-1-3,0
Defect0,-3-2,-2
\n" - ], "text/plain": [ - "Game(title='Prisoner's Dilemma')" + "pygambit.gambit.Game" ] }, - "execution_count": 2, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "# Create a normal-form game for Prisoner's Dilemma\n", - "g = gbt.Game.new_table([2, 2], title=\"Prisoner's Dilemma\") # 2 players, 2 strategies each\n", - "\n", - "# Label players and strategies\n", - "g.players[0].label = \"Prisoner A\"\n", - "g.players[1].label = \"Prisoner B\"\n", + "# Create a list as long as the number of players, specifying the number of strategies for each player.\n", + "n_strategies = [2, 2]\n", + "g = gbt.Game.new_table(n_strategies, title=\"Prisoner's Dilemma\")\n", + "type(g)" + ] + }, + { + "cell_type": "markdown", + "id": "903376dc", + "metadata": {}, + "source": [ + "Now let's name the players and each of their possible strategies, in both cases \"Cooperate\" and \"Defect\"." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "9d8203e8", + "metadata": {}, + "outputs": [], + "source": [ + "g.players[0].label = \"Tom\"\n", "g.players[0].strategies[0].label = \"Cooperate\"\n", "g.players[0].strategies[1].label = \"Defect\"\n", - "g.players[1].strategies[0].label = \"Cooperate\"\n", - "g.players[1].strategies[1].label = \"Defect\"\n", "\n", - "# Set payoffs: (A payoff, B payoff)\n", + "g.players[1].label = \"Jerry\"\n", + "g.players[1].strategies[0].label = \"Cooperate\"\n", + "g.players[1].strategies[1].label = \"Defect\"" + ] + }, + { + "cell_type": "markdown", + "id": "60bfe828", + "metadata": {}, + "source": [ + "Now let's assign payoffs for each of the game's possible outcomes, based on the standard payoffs for the Prisoner's Dilemma:\n", + "- Both players cooperate and receive the lightest sentence: `(-1, -1)`\n", + "- Tom cooperates, but Jerry defects (betrays Tom): `(0, -3)`\n", + "- Tom defects, Jerry cooperates: `(-3, 0)`\n", + "- Both defect: `(-2, -2)`" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "61030607", + "metadata": {}, + "outputs": [], + "source": [ "# Both cooperate\n", "g[0, 0][g.players[0]] = -1\n", "g[0, 0][g.players[1]] = -1\n", - "# A cooperates, B defects\n", + "\n", + "# Tom cooperates, Jerry defects\n", "g[0, 1][g.players[0]] = -3\n", "g[0, 1][g.players[1]] = 0\n", - "# A defects, B cooperates\n", + "\n", + "# Tom defects, Jerry cooperates\n", "g[1, 0][g.players[0]] = 0\n", "g[1, 0][g.players[1]] = -3\n", + "\n", "# Both defect\n", "g[1, 1][g.players[0]] = -2\n", - "g[1, 1][g.players[1]] = -2\n", - "\n", + "g[1, 1][g.players[1]] = -2" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "caecc334", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "

Prisoner's Dilemma

\n", + "
CooperateDefect
Cooperate-1,-1-3,0
Defect0,-3-2,-2
\n" + ], + "text/plain": [ + "Game(title='Prisoner's Dilemma')" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# View the payout matrix\n", "g" ] } From 051f0b58679a37a1fd8f5864d4161e23c49c4282 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 22 Aug 2025 14:46:45 +0100 Subject: [PATCH 034/240] calculate equilibria --- doc/tutorials/quickstart.ipynb | 146 +++++++++++++++++++++++++++++++++ 1 file changed, 146 insertions(+) diff --git a/doc/tutorials/quickstart.ipynb b/doc/tutorials/quickstart.ipynb index bdda6900e..ec42cff8c 100644 --- a/doc/tutorials/quickstart.ipynb +++ b/doc/tutorials/quickstart.ipynb @@ -155,6 +155,152 @@ "# View the payout matrix\n", "g" ] + }, + { + "cell_type": "markdown", + "id": "5e9fe410", + "metadata": {}, + "source": [ + "The payout matrix structure shows what in Game Theory is described as the \"normal form\" representation of a game.\n", + "\n", + "The matrix presents the players' strategies and their expected payoff following their played strategies.\n", + "\n", + "The normal form assumes players choose their strategies simultaneously, and the outcome depends on the combination." + ] + }, + { + "cell_type": "markdown", + "id": "f2e6645e", + "metadata": {}, + "source": [ + "Computing the Nash equilibria\n", + "-----------------------------\n", + "\n", + "Let's now use Gambit to compute the Nash equilibria for our game, which tells us the strategies that players can adopt to maximize their payoffs, given the assumptions of the Prisoner's Dilemma.\n", + "\n", + "For a two-player normal form game, let's use `enumpure_solve` to search for a pure-strategy Nash equilibria." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a81c06c7", + "metadata": {}, + "outputs": [], + "source": [ + "# Returns a NashComputationResult\n", + "result = gbt.nash.enumpure_solve(g)" + ] + }, + { + "cell_type": "markdown", + "id": "7d8076f8", + "metadata": {}, + "source": [ + "Let's inspect our result further to see how many equilibria were found.\n", + "\n", + "For a given equilibria, we can then look at the \"mixed strategy profile\" which maps each strategy in a game to the corresponding probability with which that strategy is played.\n", + "\n", + "Finally, we can show the expected payoffs for each player when playing the strategies as specified by the equilibrium profiles." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bd395180", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# How many equilibria were found?\n", + "len(result.equilibria)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "76570ebc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[\\left[0,1\\right],\\left[0,1\\right]\\right]$" + ], + "text/plain": [ + "[[Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1)]]" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Inspect the mixed strategy profile\n", + "profile = result.equilibria[0]\n", + "profile" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9596c19c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$-2$" + ], + "text/plain": [ + "Rational(-2, 1)" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Prisoner Tom's payoff when playing the equilibrium strategy\n", + "result.equilibria[0].payoff(\"Tom\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6ad002de", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$-2$" + ], + "text/plain": [ + "Rational(-2, 1)" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Prisoner Jerry's payoff when playing the equilibrium strategy\n", + "result.equilibria[0].payoff(\"Jerry\")" + ] } ], "metadata": { From afef688a1079e65b51fe7f96aeec8bab656ced00 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 22 Aug 2025 14:50:20 +0100 Subject: [PATCH 035/240] use player names and strategy names instead of indices --- doc/tutorials/quickstart.ipynb | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/doc/tutorials/quickstart.ipynb b/doc/tutorials/quickstart.ipynb index ec42cff8c..bce9fac0c 100644 --- a/doc/tutorials/quickstart.ipynb +++ b/doc/tutorials/quickstart.ipynb @@ -108,31 +108,31 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 44, "id": "61030607", "metadata": {}, "outputs": [], "source": [ "# Both cooperate\n", - "g[0, 0][g.players[0]] = -1\n", - "g[0, 0][g.players[1]] = -1\n", + "g[\"Cooperate\", \"Cooperate\"][\"Tom\"] = -1\n", + "g[\"Cooperate\", \"Cooperate\"][\"Jerry\"] = -1\n", "\n", "# Tom cooperates, Jerry defects\n", - "g[0, 1][g.players[0]] = -3\n", - "g[0, 1][g.players[1]] = 0\n", + "g[\"Cooperate\", \"Defect\"][\"Tom\"] = -3\n", + "g[\"Cooperate\", \"Defect\"][\"Jerry\"] = 0\n", "\n", "# Tom defects, Jerry cooperates\n", - "g[1, 0][g.players[0]] = 0\n", - "g[1, 0][g.players[1]] = -3\n", + "g[\"Defect\", \"Cooperate\"][\"Tom\"] = 0\n", + "g[\"Defect\", \"Cooperate\"][\"Jerry\"] = -3\n", "\n", "# Both defect\n", - "g[1, 1][g.players[0]] = -2\n", - "g[1, 1][g.players[1]] = -2" + "g[\"Defect\", \"Defect\"][\"Tom\"] = -2\n", + "g[\"Defect\", \"Defect\"][\"Jerry\"] = -2" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 45, "id": "caecc334", "metadata": {}, "outputs": [ @@ -146,7 +146,7 @@ "Game(title='Prisoner's Dilemma')" ] }, - "execution_count": 10, + "execution_count": 45, "metadata": {}, "output_type": "execute_result" } @@ -199,9 +199,9 @@ "source": [ "Let's inspect our result further to see how many equilibria were found.\n", "\n", - "For a given equilibria, we can then look at the \"mixed strategy profile\" which maps each strategy in a game to the corresponding probability with which that strategy is played.\n", + "For a given equilibria, we can then look at the \"mixed strategy profile\", which maps each strategy in a game to the corresponding probability with which that strategy is played.\n", "\n", - "Finally, we can show the expected payoffs for each player when playing the strategies as specified by the equilibrium profiles." + "Finally, we can show the expected payoffs for each player when playing the strategies as specified by an equilibrium profile." ] }, { From 6856adb9dafaceee0200242e64b025fb95bdc96f Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 22 Aug 2025 15:10:39 +0100 Subject: [PATCH 036/240] explain strategy profiles and payoffs --- doc/tutorials/quickstart.ipynb | 92 ++++++++++++++++------------------ 1 file changed, 42 insertions(+), 50 deletions(-) diff --git a/doc/tutorials/quickstart.ipynb b/doc/tutorials/quickstart.ipynb index bce9fac0c..a42f04679 100644 --- a/doc/tutorials/quickstart.ipynb +++ b/doc/tutorials/quickstart.ipynb @@ -28,7 +28,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 48, "id": "894df759", "metadata": {}, "outputs": [], @@ -48,7 +48,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 49, "id": "2060c1ed", "metadata": {}, "outputs": [ @@ -58,7 +58,7 @@ "pygambit.gambit.Game" ] }, - "execution_count": 3, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } @@ -80,7 +80,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 50, "id": "9d8203e8", "metadata": {}, "outputs": [], @@ -108,7 +108,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 51, "id": "61030607", "metadata": {}, "outputs": [], @@ -132,7 +132,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 52, "id": "caecc334", "metadata": {}, "outputs": [ @@ -146,7 +146,7 @@ "Game(title='Prisoner's Dilemma')" ] }, - "execution_count": 45, + "execution_count": 52, "metadata": {}, "output_type": "execute_result" } @@ -183,7 +183,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 53, "id": "a81c06c7", "metadata": {}, "outputs": [], @@ -206,7 +206,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 54, "id": "bd395180", "metadata": {}, "outputs": [ @@ -216,7 +216,7 @@ "1" ] }, - "execution_count": 37, + "execution_count": 54, "metadata": {}, "output_type": "execute_result" } @@ -228,7 +228,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 65, "id": "76570ebc", "metadata": {}, "outputs": [ @@ -241,65 +241,57 @@ "[[Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1)]]" ] }, - "execution_count": 41, + "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "# Inspect the mixed strategy profile\n", - "profile = result.equilibria[0]\n", - "profile" + "# Inspect the mixed strategy profile of the found equilibrium\n", + "msp = result.equilibria[0]\n", + "msp" ] }, { - "cell_type": "code", - "execution_count": null, - "id": "9596c19c", + "cell_type": "markdown", + "id": "f937e1ab", "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$-2$" - ], - "text/plain": [ - "Rational(-2, 1)" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "# Prisoner Tom's payoff when playing the equilibrium strategy\n", - "result.equilibria[0].payoff(\"Tom\")" + "The equilibrium profile `[[0,1],[0,1]]` indicates that both players' strategy is to play \"Cooperate\" with probability 0 and \"Defect\" with probability 1:" ] }, { "cell_type": "code", - "execution_count": null, - "id": "6ad002de", + "execution_count": 73, + "id": "980bf6b1", "metadata": {}, "outputs": [ { - "data": { - "text/latex": [ - "$-2$" - ], - "text/plain": [ - "Rational(-2, 1)" - ] - }, - "execution_count": 33, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "Tom's probability of cooperating: 0\n", + "Tom's probability of defecting: 1\n", + "Tom's payoff when playing the equilibrium strategy: -2\n", + "Jerry's probability of cooperating: 0\n", + "Jerry's probability of defecting: 1\n", + "Jerry's payoff when playing the equilibrium strategy: -2\n" + ] } ], "source": [ - "# Prisoner Jerry's payoff when playing the equilibrium strategy\n", - "result.equilibria[0].payoff(\"Jerry\")" + "for player in g.players:\n", + " print(f\"{player.label}'s probability of cooperating: {msp[player.label]['Cooperate']}\")\n", + " print(f\"{player.label}'s probability of defecting: {msp[player.label]['Defect']}\")\n", + " print(f\"{player.label}'s payoff when playing the equilibrium strategy: {msp.payoff(player.label)}\")" + ] + }, + { + "cell_type": "markdown", + "id": "24f36b0d", + "metadata": {}, + "source": [ + "The equilibrium shows that both players are playing their dominant strategy, which is to defect. This is because defecting is the best response to the other player's strategy, regardless of what that strategy is." ] } ], From f1bfeb1d74557c64fdc2e8a97f937805218af833 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 22 Aug 2025 15:13:03 +0100 Subject: [PATCH 037/240] tidy --- doc/tutorials/quickstart.ipynb | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/doc/tutorials/quickstart.ipynb b/doc/tutorials/quickstart.ipynb index a42f04679..9056ad877 100644 --- a/doc/tutorials/quickstart.ipynb +++ b/doc/tutorials/quickstart.ipynb @@ -262,7 +262,7 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 76, "id": "980bf6b1", "metadata": {}, "outputs": [ @@ -270,20 +270,26 @@ "name": "stdout", "output_type": "stream", "text": [ - "Tom's probability of cooperating: 0\n", - "Tom's probability of defecting: 1\n", - "Tom's payoff when playing the equilibrium strategy: -2\n", - "Jerry's probability of cooperating: 0\n", - "Jerry's probability of defecting: 1\n", - "Jerry's payoff when playing the equilibrium strategy: -2\n" + "Tom plays the equilibrium strategy:\n", + "Probability of cooperating: 0\n", + "Probability of defecting: 1\n", + "Payoff: -2\n", + "\n", + "Jerry plays the equilibrium strategy:\n", + "Probability of cooperating: 0\n", + "Probability of defecting: 1\n", + "Payoff: -2\n", + "\n" ] } ], "source": [ "for player in g.players:\n", - " print(f\"{player.label}'s probability of cooperating: {msp[player.label]['Cooperate']}\")\n", - " print(f\"{player.label}'s probability of defecting: {msp[player.label]['Defect']}\")\n", - " print(f\"{player.label}'s payoff when playing the equilibrium strategy: {msp.payoff(player.label)}\")" + " print(f\"{player.label} plays the equilibrium strategy:\")\n", + " print(f\"Probability of cooperating: {msp[player.label]['Cooperate']}\")\n", + " print(f\"Probability of defecting: {msp[player.label]['Defect']}\")\n", + " print(f\"Payoff: {msp.payoff(player.label)}\")\n", + " print()" ] }, { From ad039e0f91a9078d0dbb64d402cc74138ec2ebac Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 26 Aug 2025 09:56:04 +0100 Subject: [PATCH 038/240] add how to create a game from arrays --- doc/tutorials/quickstart.ipynb | 51 ++++++++++++++++++++++++++++++++-- 1 file changed, 48 insertions(+), 3 deletions(-) diff --git a/doc/tutorials/quickstart.ipynb b/doc/tutorials/quickstart.ipynb index 9056ad877..bdad65a82 100644 --- a/doc/tutorials/quickstart.ipynb +++ b/doc/tutorials/quickstart.ipynb @@ -161,11 +161,56 @@ "id": "5e9fe410", "metadata": {}, "source": [ - "The payout matrix structure shows what in Game Theory is described as the \"normal form\" representation of a game.\n", + "The payout matrix structure shows what in Game Theory is described as the \"strategic form\" (also \"normal form\") representation of a game.\n", "\n", "The matrix presents the players' strategies and their expected payoff following their played strategies.\n", "\n", - "The normal form assumes players choose their strategies simultaneously, and the outcome depends on the combination." + "The strategic form assumes players choose their strategies simultaneously, and the outcome depends on the combination.\n", + "\n", + "## With fewer lines of code...\n", + "\n", + "The most direct way to create a strategic form game is via `Game.from_arrays()`.\n", + "\n", + "This function takes one n-dimensional array per player, where n is the number of players in the game.\n", + "\n", + "The arrays can be any object that can be indexed like an n-times-nested Python list; so, for example, numpy arrays can be used directly.\n", + "\n", + "To create a two-player symmetric game, we can simply transpose the payoff matrix for the second player before passing to `Game.from_arrays()`." + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "id": "843ba7f3", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "

Another Prisoner's Dilemma

\n", + "
12
1-1,-1-3,0
20,-3-2,-2
\n" + ], + "text/plain": [ + "Game(title='Another Prisoner's Dilemma')" + ] + }, + "execution_count": 90, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import numpy as np\n", + "player1_payoffs = np.array([[-1, -3], [0, -2]])\n", + "player2_payoffs = np.transpose(player1_payoffs)\n", + "\n", + "g1 = gbt.Game.from_arrays(\n", + " player1_payoffs,\n", + " player2_payoffs,\n", + " title=\"Another Prisoner's Dilemma\"\n", + ")\n", + "\n", + "g1" ] }, { @@ -176,7 +221,7 @@ "Computing the Nash equilibria\n", "-----------------------------\n", "\n", - "Let's now use Gambit to compute the Nash equilibria for our game, which tells us the strategies that players can adopt to maximize their payoffs, given the assumptions of the Prisoner's Dilemma.\n", + "Let's now use Gambit to compute the Nash equilibria for our Prisoner's Dilemma game, which tells us the strategies that players can adopt to maximize their payoffs, given the assumptions of the Prisoner's Dilemma.\n", "\n", "For a two-player normal form game, let's use `enumpure_solve` to search for a pure-strategy Nash equilibria." ] From 25e011240f246528ce9bb674bad809a15593e3ed Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 27 Aug 2025 11:40:42 +0100 Subject: [PATCH 039/240] add extensive form example start text --- doc/tutorials/quickstart.ipynb | 37 +++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/doc/tutorials/quickstart.ipynb b/doc/tutorials/quickstart.ipynb index bdad65a82..dc532c224 100644 --- a/doc/tutorials/quickstart.ipynb +++ b/doc/tutorials/quickstart.ipynb @@ -9,7 +9,7 @@ "\n", "In this tutorial, we'll demo the basic features of the Gambit library for game theory.\n", "\n", - "This includes creating a `Game` object and using it to set up a simple Prisoner's Dilemma, one of the most famous games in game theory.\n", + "This includes creating a `Game` object and using it to set up both normal and extensive form games, starting with the Prisoner's Dilemma, one of the most famous games in game theory.\n", "\n", "We'll then use Gambit's built-in functions to analyze the game and find its Nash equilibria.\n", "\n", @@ -344,6 +344,41 @@ "source": [ "The equilibrium shows that both players are playing their dominant strategy, which is to defect. This is because defecting is the best response to the other player's strategy, regardless of what that strategy is." ] + }, + { + "cell_type": "markdown", + "id": "a80a9185", + "metadata": {}, + "source": [ + "## Extensive form games\n", + "\n", + "In the Prisoner's Dilemma example above, we showed how Gambit can be used to set up a normal form game.\n", + "\n", + "Gambit can also be used to set up extensive form games; the game is represented as a tree, where each node represents a decision point for a player, and the branches represent the possible actions they can take.\n", + "\n", + "### Example: One-shot trust game with binary actions\n", + "\n", + "[Kre90](#kre90) introduced a game commonly referred to as the **trust game**.\n", + "We will build a one-shot version of this game using Gambit's game transformation operations.\n", + "\n", + "The game can be defined as follows:\n", + "- There are two players, a **Buyer** and a **Seller**.\n", + "- The Buyer moves first and has two actions, **Trust** or **Not trust**.\n", + "- If the Buyer chooses **Not trust**, then the game ends, and both players receive payoffs of `0`.\n", + "- If the Buyer chooses **Trust**, then the Seller has a choice with two actions, **Honor** or **Abuse**.\n", + "- If the Seller chooses **Honor**, both players receive payoffs of `1`;\n", + "- If the Seller chooses **Abuse**, the Buyer receives a payoff of `-1` and the Seller receives a payoff of `2`.\n", + "\n", + "We create a game with an extensive representation using `Game.new_tree`:" + ] + }, + { + "cell_type": "markdown", + "id": "166164d7", + "metadata": {}, + "source": [ + " Kreps, D. (1990) “Corporate Culture and Economic Theory.” In J. Alt and K. Shepsle, eds., *Perspectives on Positive Political Economy*, Cambridge University Press." + ] } ], "metadata": { From 0c1dd535db0949a8c4845a5703fd4fbe08921387 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 27 Aug 2025 11:53:54 +0100 Subject: [PATCH 040/240] add trust game existing content --- doc/tutorials/quickstart.ipynb | 204 +++++++++++++++++++++++++++++++++ 1 file changed, 204 insertions(+) diff --git a/doc/tutorials/quickstart.ipynb b/doc/tutorials/quickstart.ipynb index dc532c224..97fd397f5 100644 --- a/doc/tutorials/quickstart.ipynb +++ b/doc/tutorials/quickstart.ipynb @@ -372,6 +372,210 @@ "We create a game with an extensive representation using `Game.new_tree`:" ] }, + { + "cell_type": "code", + "execution_count": 91, + "id": "aaf4ecad", + "metadata": {}, + "outputs": [], + "source": [ + "g2 = gbt.Game.new_tree(\n", + " players=[\"Buyer\", \"Seller\"],\n", + " title=\"One-shot trust game, after Kreps (1990)\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "7d3b25ec", + "metadata": {}, + "source": [ + "The tree of the game contains just a root node, with no children:" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "id": "3c27247a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Node(game=Game(title='One-shot trust game, after Kreps (1990)'), path=[])" + ] + }, + "execution_count": 93, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "g2.root" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "id": "beb86395", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "NodeChildren(parent=Node(game=Game(title='One-shot trust game, after Kreps (1990)'), path=[]))" + ] + }, + "execution_count": 95, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "g2.root.children" + ] + }, + { + "cell_type": "markdown", + "id": "3c0b6094", + "metadata": {}, + "source": [ + "To extend a game from an existing terminal node, use `Game.append_move`:" + ] + }, + { + "cell_type": "code", + "execution_count": 97, + "id": "f25fda04", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "NodeChildren(parent=Node(game=Game(title='One-shot trust game, after Kreps (1990)'), path=[]))" + ] + }, + "execution_count": 97, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "g2.append_move(g2.root, \"Buyer\", [\"Trust\", \"Not trust\"])\n", + "g2.root.children" + ] + }, + { + "cell_type": "markdown", + "id": "2ebb0f55", + "metadata": {}, + "source": [ + "We can then also add the Seller's move in the situation after the Buyer chooses Trust:" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "id": "fca0e5f6", + "metadata": {}, + "outputs": [], + "source": [ + "g2.append_move(g2.root.children[0], \"Seller\", [\"Honor\", \"Abuse\"])" + ] + }, + { + "cell_type": "markdown", + "id": "f4772b3e", + "metadata": {}, + "source": [ + "Now that we have the moves of the game defined, we add payoffs.\n", + "\n", + "Payoffs are associated with an `Outcome`; each `Outcome` has a vector of payoffs, one for each player, and optionally an identifying text label.\n", + "\n", + "First we add the outcome associated with the Seller proving themselves trustworthy:" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "id": "17944393", + "metadata": {}, + "outputs": [], + "source": [ + "g2.set_outcome(g2.root.children[0].children[0], g2.add_outcome([1, 1], label=\"Trustworthy\"))" + ] + }, + { + "cell_type": "markdown", + "id": "93ddc2d9", + "metadata": {}, + "source": [ + "Next, the outcome associated with the scenario where the Buyer trusts but the Seller does not return the trust:" + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "id": "656a686d", + "metadata": {}, + "outputs": [], + "source": [ + "g2.set_outcome(g2.root.children[0].children[1], g2.add_outcome([-1, 2], label=\"Untrustworthy\"))" + ] + }, + { + "cell_type": "markdown", + "id": "091b84f6", + "metadata": {}, + "source": [ + "And, finally the outcome associated with the Buyer opting out of the interaction:" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "id": "df427b7c", + "metadata": {}, + "outputs": [], + "source": [ + "g2.set_outcome(g2.root.children[1], g2.add_outcome([0, 0], label=\"Opt-out\"))" + ] + }, + { + "cell_type": "markdown", + "id": "f69a0395", + "metadata": {}, + "source": [ + "Nodes without an outcome attached are assumed to have payoffs of zero for all players.\n", + "\n", + "Therefore, adding the outcome to this latter terminal node is not strictly necessary in Gambit, but it is useful to be explicit for readability." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5be82fee", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "Game(title='One-shot trust game, after Kreps (1990)')" + ], + "text/plain": [ + "Game(title='One-shot trust game, after Kreps (1990)')" + ] + }, + "execution_count": 107, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Show tree (this functionality is not yet implemented)\n", + "g2" + ] + }, { "cell_type": "markdown", "id": "166164d7", From 383019960c9112dbad0a944281ade75fbd76ced2 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 27 Aug 2025 12:44:38 +0100 Subject: [PATCH 041/240] explicit API calls --- doc/tutorials/quickstart.ipynb | 97 +++++++++++++++++++--------------- 1 file changed, 54 insertions(+), 43 deletions(-) diff --git a/doc/tutorials/quickstart.ipynb b/doc/tutorials/quickstart.ipynb index 97fd397f5..a879e06cb 100644 --- a/doc/tutorials/quickstart.ipynb +++ b/doc/tutorials/quickstart.ipynb @@ -374,7 +374,7 @@ }, { "cell_type": "code", - "execution_count": 91, + "execution_count": 154, "id": "aaf4ecad", "metadata": {}, "outputs": [], @@ -395,44 +395,23 @@ }, { "cell_type": "code", - "execution_count": 93, + "execution_count": 155, "id": "3c27247a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "Node(game=Game(title='One-shot trust game, after Kreps (1990)'), path=[])" + "0" ] }, - "execution_count": 93, + "execution_count": 155, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "g2.root" - ] - }, - { - "cell_type": "code", - "execution_count": 95, - "id": "beb86395", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "NodeChildren(parent=Node(game=Game(title='One-shot trust game, after Kreps (1990)'), path=[]))" - ] - }, - "execution_count": 95, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "g2.root.children" + "len(g2.root.children)" ] }, { @@ -440,29 +419,37 @@ "id": "3c0b6094", "metadata": {}, "source": [ - "To extend a game from an existing terminal node, use `Game.append_move`:" + "To extend a game from an existing terminal node, use `Game.append_move`. To begin with, the sole root node is the terminal node.\n", + "\n", + "Here we extend the game from the root node by adding the first move for the \"Buyer\" player, creating two child nodes (one for each possible action)." ] }, { "cell_type": "code", - "execution_count": 97, + "execution_count": 156, "id": "f25fda04", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "NodeChildren(parent=Node(game=Game(title='One-shot trust game, after Kreps (1990)'), path=[]))" + "2" ] }, - "execution_count": 97, + "execution_count": 156, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "g2.append_move(g2.root, \"Buyer\", [\"Trust\", \"Not trust\"])\n", - "g2.root.children" + "g2.append_move(\n", + " g2.root,\n", + " player=\"Buyer\",\n", + " actions=[\"Trust\", \"Not trust\"]\n", + ")\n", + "g2.root.children[0].label = \"Trust\" # TODO: Update API such that labels are set during move creation\n", + "g2.root.children[1].label = \"Not trust\"\n", + "len(g2.root.children)" ] }, { @@ -475,12 +462,18 @@ }, { "cell_type": "code", - "execution_count": 99, + "execution_count": 157, "id": "fca0e5f6", "metadata": {}, "outputs": [], "source": [ - "g2.append_move(g2.root.children[0], \"Seller\", [\"Honor\", \"Abuse\"])" + "g2.append_move(\n", + " g2.root.children[\"Trust\"],\n", + " player=\"Seller\",\n", + " actions=[\"Honor\", \"Abuse\"]\n", + ")\n", + "g2.root.children[\"Trust\"].children[0].label = \"Honor\"\n", + "g2.root.children[\"Trust\"].children[1].label = \"Abuse\"" ] }, { @@ -497,12 +490,18 @@ }, { "cell_type": "code", - "execution_count": 101, + "execution_count": 158, "id": "17944393", "metadata": {}, "outputs": [], "source": [ - "g2.set_outcome(g2.root.children[0].children[0], g2.add_outcome([1, 1], label=\"Trustworthy\"))" + "g2.set_outcome(\n", + " g2.root.children[\"Trust\"].children[\"Honor\"],\n", + " outcome=g2.add_outcome(\n", + " payoffs=[1, 1],\n", + " label=\"Trustworthy\"\n", + " )\n", + ")" ] }, { @@ -515,12 +514,18 @@ }, { "cell_type": "code", - "execution_count": 102, + "execution_count": 159, "id": "656a686d", "metadata": {}, "outputs": [], "source": [ - "g2.set_outcome(g2.root.children[0].children[1], g2.add_outcome([-1, 2], label=\"Untrustworthy\"))" + "g2.set_outcome(\n", + " g2.root.children[\"Trust\"].children[\"Abuse\"],\n", + " outcome=g2.add_outcome(\n", + " payoffs=[-1, 2],\n", + " label=\"Untrustworthy\"\n", + " )\n", + ")" ] }, { @@ -533,12 +538,18 @@ }, { "cell_type": "code", - "execution_count": 103, + "execution_count": 160, "id": "df427b7c", "metadata": {}, "outputs": [], "source": [ - "g2.set_outcome(g2.root.children[1], g2.add_outcome([0, 0], label=\"Opt-out\"))" + "g2.set_outcome(\n", + " g2.root.children[\"Not trust\"],\n", + " g2.add_outcome(\n", + " payoffs=[0, 0],\n", + " label=\"Opt-out\"\n", + " )\n", + ")" ] }, { @@ -553,7 +564,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 161, "id": "5be82fee", "metadata": {}, "outputs": [ @@ -566,13 +577,13 @@ "Game(title='One-shot trust game, after Kreps (1990)')" ] }, - "execution_count": 107, + "execution_count": 161, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "# Show tree (this functionality is not yet implemented)\n", + "# TODO: Show tree (this functionality is not yet implemented)\n", "g2" ] }, From 35d161d5969dd5550e21fe02d337dddbaaacdc60 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 27 Aug 2025 13:18:30 +0100 Subject: [PATCH 042/240] finish equilibrium explanation with TODO questions --- doc/tutorials/quickstart.ipynb | 96 ++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) diff --git a/doc/tutorials/quickstart.ipynb b/doc/tutorials/quickstart.ipynb index a879e06cb..26d54ebbe 100644 --- a/doc/tutorials/quickstart.ipynb +++ b/doc/tutorials/quickstart.ipynb @@ -587,6 +587,102 @@ "g2" ] }, + { + "cell_type": "code", + "execution_count": 165, + "id": "b8bf7087", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "GamePlayers(game=Game(title='One-shot trust game, after Kreps (1990)'))" + ] + }, + "execution_count": 165, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "g2.players" + ] + }, + { + "cell_type": "markdown", + "id": "642ffe59", + "metadata": {}, + "source": [ + "Now let's compute the Nash equilibria of the trust game." + ] + }, + { + "cell_type": "code", + "execution_count": 179, + "id": "4bef62a9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[\\left[0,1\\right],\\left[0,1\\right]\\right]$" + ], + "text/plain": [ + "[[Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1)]]" + ] + }, + "execution_count": 179, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "equilibrium = gbt.nash.enumpure_solve(g2).equilibria[0]\n", + "equilibrium" + ] + }, + { + "cell_type": "markdown", + "id": "e8bc60d0", + "metadata": {}, + "source": [ + "This tells us that if the Buyer plays they will choose the \"Not trust\" strategy with probability 1 and the Seller will choose the \"Abuse\" strategy with probability 1." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "85eb7589", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Buyer plays the equilibrium strategy:\n", + "[Rational(0, 1), Rational(1, 1)]\n", + "Payoff: 0\n", + "\n", + "Seller plays the equilibrium strategy:\n", + "[Rational(0, 1), Rational(1, 1)]\n", + "Payoff: 0\n" + ] + } + ], + "source": [ + "# TODO: I'm not sure the above text is the correct way to interpret this equilibrium,\n", + "# what does the second element of the equilibrium['Buyer'] list (and equilibrium['Seller']) list mean?\n", + "\n", + "print(\"Buyer plays the equilibrium strategy:\")\n", + "# print(equilibrium['Buyer']['Trust']) # KeyError: \"no strategy with label 'Trust' for player\"\n", + "print(equilibrium['Buyer'])\n", + "print(f\"Payoff: {equilibrium.payoff('Buyer')}\")\n", + "print()\n", + "print(\"Seller plays the equilibrium strategy:\")\n", + "print(equilibrium['Seller'])\n", + "print(f\"Payoff: {equilibrium.payoff('Seller')}\")" + ] + }, { "cell_type": "markdown", "id": "166164d7", From d08a66bbe918a94bcab0e0d4364440631333157b Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 27 Aug 2025 14:26:43 +0100 Subject: [PATCH 043/240] rename notebook --- doc/tutorials/{quickstart.ipynb => 01_quickstart.ipynb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename doc/tutorials/{quickstart.ipynb => 01_quickstart.ipynb} (100%) diff --git a/doc/tutorials/quickstart.ipynb b/doc/tutorials/01_quickstart.ipynb similarity index 100% rename from doc/tutorials/quickstart.ipynb rename to doc/tutorials/01_quickstart.ipynb From 90bf32f6771cb52408743995cc3e1d0ee48b1361 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 27 Aug 2025 16:28:25 +0100 Subject: [PATCH 044/240] initial poker setup with information sets --- doc/tutorials/02_poker.ipynb | 247 +++++++++++++++++++++++++++++++++++ 1 file changed, 247 insertions(+) create mode 100644 doc/tutorials/02_poker.ipynb diff --git a/doc/tutorials/02_poker.ipynb b/doc/tutorials/02_poker.ipynb new file mode 100644 index 000000000..33808a809 --- /dev/null +++ b/doc/tutorials/02_poker.ipynb @@ -0,0 +1,247 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "98eb65d8", + "metadata": {}, + "source": [ + "# One-card poker game with private information\n", + "\n", + "In this tutorial, we'll create an extensive form representation of a one-card poker game ([Mye91](#mye91)) and use it to demonstrate and explain the following with Gambit:\n", + "\n", + "1. Setting up an extensive form game with imperfect information\n", + "2. Using information sets\n", + "3. [Retrieving player payoff tables from the game](#)\n", + "4. [Computing Nash equilibria](#)\n", + "5. [Acceptance criteria for Nash equilibria](#)\n", + "\n", + "A version of this game also appears in [RUW08](#ruw08), as a classroom game under the name \"stripped-down poker\".\n", + "\n", + "This is perhaps the simplest interesting game with imperfect information.\n", + "\n", + "In our version of the game, there are two players, **Alice** and **Bob**, and a deck of cards, with equal numbers of **King** and **Queen** cards.\n", + "\n", + "- The game begins with each player putting $1 in the pot.\n", + "- A card is dealt at random to Alice\n", + " - Alice observes her card\n", + " - Bob does not observe the card\n", + "- Alice then chooses either to **Raise** or to **Fold**.\n", + " - If she chooses to Fold, Bob wins the pot and the game ends.\n", + " - If she chooses to Raise, she adds another $1 to the pot.\n", + "- Bob then chooses either to **Meet** or **Pass**.\n", + " - If he chooses to Pass, Alice wins the pot and the game ends.\n", + " - If he chooses to Meet, he adds another $1 to the pot.\n", + "- There is then a showdown, in which Alice reveals her card.\n", + " - If she has a King, then she wins the pot;\n", + " - If she has a Queen, then Bob wins the pot." + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "69cbfe81", + "metadata": {}, + "outputs": [], + "source": [ + "import pygambit as gbt" + ] + }, + { + "cell_type": "markdown", + "id": "70819881", + "metadata": {}, + "source": [ + "Create the game with two players." + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "ad6a1119", + "metadata": {}, + "outputs": [], + "source": [ + "g = gbt.Game.new_tree(\n", + " players=[\"Alice\", \"Bob\"], \n", + " title=\"One card poker\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "d9796238", + "metadata": {}, + "source": [ + "In addition to the two named players, Gambit also instantiates a chance player." + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "841f9f74", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Player(game=Game(title='One card poker'), label='Alice')\n", + "Player(game=Game(title='One card poker'), label='Bob')\n", + "ChancePlayer(game=Game(title='One card poker'))\n" + ] + } + ], + "source": [ + "print(g.players[\"Alice\"])\n", + "print(g.players[\"Bob\"])\n", + "print(g.players.chance)" + ] + }, + { + "cell_type": "markdown", + "id": "0d4c7f5b", + "metadata": {}, + "source": [ + "Moves belonging to the chance player can be added in the same way as to other players.\n", + "\n", + "At any new move created for the chance player, the action probabilities default to uniform randomization over the actions at the move.\n", + "\n", + "The first step in this game is that Alice is dealt a card which could be a King or Queen, each with probability 1/2.\n", + "\n", + "To simulate this in Gambit, we create a chance player move at the root node of the game." + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "fe80c64c", + "metadata": {}, + "outputs": [], + "source": [ + "g.append_move(\n", + " g.root,\n", + " player=g.players.chance,\n", + " actions=[\"King\", \"Queen\"] # By default, chance actions have equal probabilities\n", + ")\n", + "g.root.children[0].label = \"King\" # TODO: Update API such that labels are set during move creation\n", + "g.root.children[1].label = \"Queen\"" + ] + }, + { + "cell_type": "markdown", + "id": "5cf73f0a", + "metadata": {}, + "source": [ + "Now let's add Alice's first move after the card is dealt.\n", + "\n", + "In this game, information structure is important.\n", + "Alice knows her card, so the two nodes at which she has the move are part of different information sets.\n", + "\n", + "We'll therefore need to append Alice's move separately for each of the root node's children, i.e. the scenarios where she has a King or a Queen." + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "0e3bb5ef", + "metadata": {}, + "outputs": [], + "source": [ + "for node in g.root.children:\n", + " g.append_move(\n", + " node,\n", + " player=\"Alice\",\n", + " actions=[\"Raise\", \"Fold\"]\n", + " )\n", + " node.children[0].label = \"Raise\" # TODO: Update API such that labels are set during move creation\n", + " node.children[1].label = \"Fold\"" + ] + }, + { + "cell_type": "markdown", + "id": "4c8d0343", + "metadata": {}, + "source": [ + "The loop above causes each of the newly-appended moves to be in new **information sets**, reflecting the fact that Alice's decision depends on the knowledge of which card she holds.\n", + "\n", + "In contrast, Bob does not know Alice’s card, and therefore cannot distinguish between the two nodes at which he has to make his decision:\n", + "\n", + " - Chance player chooses King, then Alice Raises: `g.root.children[\"King\"].children[\"Raise\"]`\n", + " - Chance player chooses Queen, then Alice Raises: `g.root.children[\"Queen\"].children[\"Raise\"`\n", + "\n", + "In other words, Bob's decision when Alice has a Queen should be part of the same information set as Bob's decision when Alice has a King.\n", + "\n", + "To set this scenario up in Gambit, we'll need to use `Game.append_infoset` to add a move as part of an existing information set (represented in Gambit as an `Infoset`).\n", + "\n", + "First, let's add Bob's move to the node where Alice has raised with a King." + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "dbfa7035", + "metadata": {}, + "outputs": [], + "source": [ + "g.append_move(\n", + " g.root.children[\"King\"].children[\"Raise\"],\n", + " player=\"Bob\",\n", + " actions=[\"Meet\", \"Pass\"]\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "689ce12c", + "metadata": {}, + "source": [ + "Now let's add the information set we created at the node where Alice raised with a King, to the node where Alice raised with a Queen." + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "655cdae3", + "metadata": {}, + "outputs": [], + "source": [ + "g.append_infoset(\n", + " g.root.children[\"Queen\"].children[\"Raise\"],\n", + " infoset=g.root.children[\"King\"].children[\"Raise\"].infoset\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "c4eeb65f", + "metadata": {}, + "source": [ + "In game theory terms, this creates \"imperfect information\".\n", + "Bob cannot distinguish between these two nodes in the game tree, so he must use the same strategy (same probabilities for Meet vs. Pass) in both situations.\n", + "\n", + "This is crucial in games where players must make decisions without complete knowledge of their opponents' private information." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "gambitvenv313", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 5aadcf2697f3f493fae647c7ee14fa496e459d0e Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 27 Aug 2025 16:44:15 +0100 Subject: [PATCH 045/240] add outcomes and assign to nodes --- doc/tutorials/02_poker.ipynb | 62 ++++++++++++++++++++++++++++++------ 1 file changed, 52 insertions(+), 10 deletions(-) diff --git a/doc/tutorials/02_poker.ipynb b/doc/tutorials/02_poker.ipynb index 33808a809..5e99ff42b 100644 --- a/doc/tutorials/02_poker.ipynb +++ b/doc/tutorials/02_poker.ipynb @@ -38,7 +38,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 52, "id": "69cbfe81", "metadata": {}, "outputs": [], @@ -56,7 +56,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 53, "id": "ad6a1119", "metadata": {}, "outputs": [], @@ -77,7 +77,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 54, "id": "841f9f74", "metadata": {}, "outputs": [ @@ -113,7 +113,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 55, "id": "fe80c64c", "metadata": {}, "outputs": [], @@ -142,7 +142,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 56, "id": "0e3bb5ef", "metadata": {}, "outputs": [], @@ -178,7 +178,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 57, "id": "dbfa7035", "metadata": {}, "outputs": [], @@ -187,7 +187,9 @@ " g.root.children[\"King\"].children[\"Raise\"],\n", " player=\"Bob\",\n", " actions=[\"Meet\", \"Pass\"]\n", - ")" + ")\n", + "g.root.children[\"King\"].children[\"Raise\"].children[0].label = \"Meet\" # TODO: Update API such that labels are set during move creation\n", + "g.root.children[\"King\"].children[\"Raise\"].children[1].label = \"Pass\"" ] }, { @@ -200,7 +202,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 58, "id": "655cdae3", "metadata": {}, "outputs": [], @@ -208,7 +210,9 @@ "g.append_infoset(\n", " g.root.children[\"Queen\"].children[\"Raise\"],\n", " infoset=g.root.children[\"King\"].children[\"Raise\"].infoset\n", - ")" + ")\n", + "g.root.children[\"Queen\"].children[\"Raise\"].children[0].label = \"Meet\" # TODO: Update API such that labels are set during move creation\n", + "g.root.children[\"Queen\"].children[\"Raise\"].children[1].label = \"Pass\"" ] }, { @@ -219,7 +223,45 @@ "In game theory terms, this creates \"imperfect information\".\n", "Bob cannot distinguish between these two nodes in the game tree, so he must use the same strategy (same probabilities for Meet vs. Pass) in both situations.\n", "\n", - "This is crucial in games where players must make decisions without complete knowledge of their opponents' private information." + "This is crucial in games where players must make decisions without complete knowledge of their opponents' private information.\n", + "\n", + "Let's now set up the four possible payoff outcomes for the game." + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "id": "87c988be", + "metadata": {}, + "outputs": [], + "source": [ + "alice_winsbig = g.add_outcome([2, -2], label=\"Alice wins big\")\n", + "alice_wins = g.add_outcome([1, -1], label=\"Alice wins\")\n", + "bob_winsbig = g.add_outcome([-2, 2], label=\"Bob wins big\")\n", + "bob_wins = g.add_outcome([-1, 1], label=\"Bob wins\")" + ] + }, + { + "cell_type": "markdown", + "id": "467a2c39", + "metadata": {}, + "source": [ + "Finally, we should assign an outcome to each of the terminal nodes in the game tree." + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "id": "29aa60a0", + "metadata": {}, + "outputs": [], + "source": [ + "g.set_outcome(g.root.children[\"King\"].children[\"Raise\"].children[\"Meet\"], alice_winsbig)\n", + "g.set_outcome(g.root.children[\"King\"].children[\"Raise\"].children[\"Pass\"], alice_wins)\n", + "g.set_outcome(g.root.children[\"King\"].children[\"Fold\"], bob_wins)\n", + "g.set_outcome(g.root.children[\"Queen\"].children[\"Raise\"].children[\"Meet\"], bob_winsbig)\n", + "g.set_outcome(g.root.children[\"Queen\"].children[\"Raise\"].children[\"Pass\"], alice_wins)\n", + "g.set_outcome(g.root.children[\"Queen\"].children[\"Fold\"], bob_wins)" ] } ], From 6808cc45720e01f3473f23bc039fb7fde798527d Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 27 Aug 2025 16:55:53 +0100 Subject: [PATCH 046/240] explain the outcomes better --- doc/tutorials/02_poker.ipynb | 45 +++++++++++++++++++++++++----------- 1 file changed, 32 insertions(+), 13 deletions(-) diff --git a/doc/tutorials/02_poker.ipynb b/doc/tutorials/02_poker.ipynb index 5e99ff42b..c51248254 100644 --- a/doc/tutorials/02_poker.ipynb +++ b/doc/tutorials/02_poker.ipynb @@ -38,7 +38,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 63, "id": "69cbfe81", "metadata": {}, "outputs": [], @@ -56,7 +56,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 64, "id": "ad6a1119", "metadata": {}, "outputs": [], @@ -77,7 +77,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 65, "id": "841f9f74", "metadata": {}, "outputs": [ @@ -113,7 +113,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 66, "id": "fe80c64c", "metadata": {}, "outputs": [], @@ -142,7 +142,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 67, "id": "0e3bb5ef", "metadata": {}, "outputs": [], @@ -178,7 +178,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 68, "id": "dbfa7035", "metadata": {}, "outputs": [], @@ -202,7 +202,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 69, "id": "655cdae3", "metadata": {}, "outputs": [], @@ -230,7 +230,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 70, "id": "87c988be", "metadata": {}, "outputs": [], @@ -251,17 +251,36 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 71, "id": "29aa60a0", "metadata": {}, "outputs": [], "source": [ - "g.set_outcome(g.root.children[\"King\"].children[\"Raise\"].children[\"Meet\"], alice_winsbig)\n", - "g.set_outcome(g.root.children[\"King\"].children[\"Raise\"].children[\"Pass\"], alice_wins)\n", + "# Alice folds, Bob wins small\n", "g.set_outcome(g.root.children[\"King\"].children[\"Fold\"], bob_wins)\n", + "g.set_outcome(g.root.children[\"Queen\"].children[\"Fold\"], bob_wins)\n", + "\n", + "# Bob sees Alice raise and calls, correctly believing she is bluffing, Bob wins big\n", "g.set_outcome(g.root.children[\"Queen\"].children[\"Raise\"].children[\"Meet\"], bob_winsbig)\n", - "g.set_outcome(g.root.children[\"Queen\"].children[\"Raise\"].children[\"Pass\"], alice_wins)\n", - "g.set_outcome(g.root.children[\"Queen\"].children[\"Fold\"], bob_wins)" + "\n", + "# Bob sees Alice raise and calls, incorrectly believing she is bluffing, Alice wins big\n", + "g.set_outcome(g.root.children[\"King\"].children[\"Raise\"].children[\"Meet\"], alice_winsbig)\n", + "\n", + "# Bob does not call Alice's raise, Alice wins small\n", + "g.set_outcome(g.root.children[\"King\"].children[\"Raise\"].children[\"Pass\"], alice_wins)\n", + "g.set_outcome(g.root.children[\"Queen\"].children[\"Raise\"].children[\"Pass\"], alice_wins)" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "id": "17eb6af5", + "metadata": {}, + "outputs": [], + "source": [ + "# m, m_transposed = g.to_arrays()\n", + "# print(m)\n", + "# print(m_transposed)" ] } ], From 5ece9603d47ede6908f089a5f8754a025f4397b6 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 28 Aug 2025 14:14:33 +0100 Subject: [PATCH 047/240] rename --- doc/tutorials/{02_poker.ipynb => 03_poker.ipynb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename doc/tutorials/{02_poker.ipynb => 03_poker.ipynb} (100%) diff --git a/doc/tutorials/02_poker.ipynb b/doc/tutorials/03_poker.ipynb similarity index 100% rename from doc/tutorials/02_poker.ipynb rename to doc/tutorials/03_poker.ipynb From 0454515f6056d66ffe7403c5c6477854a411a116 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 28 Aug 2025 14:19:44 +0100 Subject: [PATCH 048/240] move trust game into new notebook --- doc/tutorials/01_quickstart.ipynb | 346 ------------------------- doc/tutorials/02_extensive_form.ipynb | 360 ++++++++++++++++++++++++++ 2 files changed, 360 insertions(+), 346 deletions(-) create mode 100644 doc/tutorials/02_extensive_form.ipynb diff --git a/doc/tutorials/01_quickstart.ipynb b/doc/tutorials/01_quickstart.ipynb index 26d54ebbe..3eeb591d8 100644 --- a/doc/tutorials/01_quickstart.ipynb +++ b/doc/tutorials/01_quickstart.ipynb @@ -344,352 +344,6 @@ "source": [ "The equilibrium shows that both players are playing their dominant strategy, which is to defect. This is because defecting is the best response to the other player's strategy, regardless of what that strategy is." ] - }, - { - "cell_type": "markdown", - "id": "a80a9185", - "metadata": {}, - "source": [ - "## Extensive form games\n", - "\n", - "In the Prisoner's Dilemma example above, we showed how Gambit can be used to set up a normal form game.\n", - "\n", - "Gambit can also be used to set up extensive form games; the game is represented as a tree, where each node represents a decision point for a player, and the branches represent the possible actions they can take.\n", - "\n", - "### Example: One-shot trust game with binary actions\n", - "\n", - "[Kre90](#kre90) introduced a game commonly referred to as the **trust game**.\n", - "We will build a one-shot version of this game using Gambit's game transformation operations.\n", - "\n", - "The game can be defined as follows:\n", - "- There are two players, a **Buyer** and a **Seller**.\n", - "- The Buyer moves first and has two actions, **Trust** or **Not trust**.\n", - "- If the Buyer chooses **Not trust**, then the game ends, and both players receive payoffs of `0`.\n", - "- If the Buyer chooses **Trust**, then the Seller has a choice with two actions, **Honor** or **Abuse**.\n", - "- If the Seller chooses **Honor**, both players receive payoffs of `1`;\n", - "- If the Seller chooses **Abuse**, the Buyer receives a payoff of `-1` and the Seller receives a payoff of `2`.\n", - "\n", - "We create a game with an extensive representation using `Game.new_tree`:" - ] - }, - { - "cell_type": "code", - "execution_count": 154, - "id": "aaf4ecad", - "metadata": {}, - "outputs": [], - "source": [ - "g2 = gbt.Game.new_tree(\n", - " players=[\"Buyer\", \"Seller\"],\n", - " title=\"One-shot trust game, after Kreps (1990)\"\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "7d3b25ec", - "metadata": {}, - "source": [ - "The tree of the game contains just a root node, with no children:" - ] - }, - { - "cell_type": "code", - "execution_count": 155, - "id": "3c27247a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0" - ] - }, - "execution_count": 155, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "len(g2.root.children)" - ] - }, - { - "cell_type": "markdown", - "id": "3c0b6094", - "metadata": {}, - "source": [ - "To extend a game from an existing terminal node, use `Game.append_move`. To begin with, the sole root node is the terminal node.\n", - "\n", - "Here we extend the game from the root node by adding the first move for the \"Buyer\" player, creating two child nodes (one for each possible action)." - ] - }, - { - "cell_type": "code", - "execution_count": 156, - "id": "f25fda04", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "2" - ] - }, - "execution_count": 156, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "g2.append_move(\n", - " g2.root,\n", - " player=\"Buyer\",\n", - " actions=[\"Trust\", \"Not trust\"]\n", - ")\n", - "g2.root.children[0].label = \"Trust\" # TODO: Update API such that labels are set during move creation\n", - "g2.root.children[1].label = \"Not trust\"\n", - "len(g2.root.children)" - ] - }, - { - "cell_type": "markdown", - "id": "2ebb0f55", - "metadata": {}, - "source": [ - "We can then also add the Seller's move in the situation after the Buyer chooses Trust:" - ] - }, - { - "cell_type": "code", - "execution_count": 157, - "id": "fca0e5f6", - "metadata": {}, - "outputs": [], - "source": [ - "g2.append_move(\n", - " g2.root.children[\"Trust\"],\n", - " player=\"Seller\",\n", - " actions=[\"Honor\", \"Abuse\"]\n", - ")\n", - "g2.root.children[\"Trust\"].children[0].label = \"Honor\"\n", - "g2.root.children[\"Trust\"].children[1].label = \"Abuse\"" - ] - }, - { - "cell_type": "markdown", - "id": "f4772b3e", - "metadata": {}, - "source": [ - "Now that we have the moves of the game defined, we add payoffs.\n", - "\n", - "Payoffs are associated with an `Outcome`; each `Outcome` has a vector of payoffs, one for each player, and optionally an identifying text label.\n", - "\n", - "First we add the outcome associated with the Seller proving themselves trustworthy:" - ] - }, - { - "cell_type": "code", - "execution_count": 158, - "id": "17944393", - "metadata": {}, - "outputs": [], - "source": [ - "g2.set_outcome(\n", - " g2.root.children[\"Trust\"].children[\"Honor\"],\n", - " outcome=g2.add_outcome(\n", - " payoffs=[1, 1],\n", - " label=\"Trustworthy\"\n", - " )\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "93ddc2d9", - "metadata": {}, - "source": [ - "Next, the outcome associated with the scenario where the Buyer trusts but the Seller does not return the trust:" - ] - }, - { - "cell_type": "code", - "execution_count": 159, - "id": "656a686d", - "metadata": {}, - "outputs": [], - "source": [ - "g2.set_outcome(\n", - " g2.root.children[\"Trust\"].children[\"Abuse\"],\n", - " outcome=g2.add_outcome(\n", - " payoffs=[-1, 2],\n", - " label=\"Untrustworthy\"\n", - " )\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "091b84f6", - "metadata": {}, - "source": [ - "And, finally the outcome associated with the Buyer opting out of the interaction:" - ] - }, - { - "cell_type": "code", - "execution_count": 160, - "id": "df427b7c", - "metadata": {}, - "outputs": [], - "source": [ - "g2.set_outcome(\n", - " g2.root.children[\"Not trust\"],\n", - " g2.add_outcome(\n", - " payoffs=[0, 0],\n", - " label=\"Opt-out\"\n", - " )\n", - ")" - ] - }, - { - "cell_type": "markdown", - "id": "f69a0395", - "metadata": {}, - "source": [ - "Nodes without an outcome attached are assumed to have payoffs of zero for all players.\n", - "\n", - "Therefore, adding the outcome to this latter terminal node is not strictly necessary in Gambit, but it is useful to be explicit for readability." - ] - }, - { - "cell_type": "code", - "execution_count": 161, - "id": "5be82fee", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "Game(title='One-shot trust game, after Kreps (1990)')" - ], - "text/plain": [ - "Game(title='One-shot trust game, after Kreps (1990)')" - ] - }, - "execution_count": 161, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# TODO: Show tree (this functionality is not yet implemented)\n", - "g2" - ] - }, - { - "cell_type": "code", - "execution_count": 165, - "id": "b8bf7087", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "GamePlayers(game=Game(title='One-shot trust game, after Kreps (1990)'))" - ] - }, - "execution_count": 165, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "g2.players" - ] - }, - { - "cell_type": "markdown", - "id": "642ffe59", - "metadata": {}, - "source": [ - "Now let's compute the Nash equilibria of the trust game." - ] - }, - { - "cell_type": "code", - "execution_count": 179, - "id": "4bef62a9", - "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[\\left[0,1\\right],\\left[0,1\\right]\\right]$" - ], - "text/plain": [ - "[[Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1)]]" - ] - }, - "execution_count": 179, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "equilibrium = gbt.nash.enumpure_solve(g2).equilibria[0]\n", - "equilibrium" - ] - }, - { - "cell_type": "markdown", - "id": "e8bc60d0", - "metadata": {}, - "source": [ - "This tells us that if the Buyer plays they will choose the \"Not trust\" strategy with probability 1 and the Seller will choose the \"Abuse\" strategy with probability 1." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "85eb7589", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Buyer plays the equilibrium strategy:\n", - "[Rational(0, 1), Rational(1, 1)]\n", - "Payoff: 0\n", - "\n", - "Seller plays the equilibrium strategy:\n", - "[Rational(0, 1), Rational(1, 1)]\n", - "Payoff: 0\n" - ] - } - ], - "source": [ - "# TODO: I'm not sure the above text is the correct way to interpret this equilibrium,\n", - "# what does the second element of the equilibrium['Buyer'] list (and equilibrium['Seller']) list mean?\n", - "\n", - "print(\"Buyer plays the equilibrium strategy:\")\n", - "# print(equilibrium['Buyer']['Trust']) # KeyError: \"no strategy with label 'Trust' for player\"\n", - "print(equilibrium['Buyer'])\n", - "print(f\"Payoff: {equilibrium.payoff('Buyer')}\")\n", - "print()\n", - "print(\"Seller plays the equilibrium strategy:\")\n", - "print(equilibrium['Seller'])\n", - "print(f\"Payoff: {equilibrium.payoff('Seller')}\")" - ] - }, - { - "cell_type": "markdown", - "id": "166164d7", - "metadata": {}, - "source": [ - " Kreps, D. (1990) “Corporate Culture and Economic Theory.” In J. Alt and K. Shepsle, eds., *Perspectives on Positive Political Economy*, Cambridge University Press." - ] } ], "metadata": { diff --git a/doc/tutorials/02_extensive_form.ipynb b/doc/tutorials/02_extensive_form.ipynb new file mode 100644 index 000000000..dcccc9d01 --- /dev/null +++ b/doc/tutorials/02_extensive_form.ipynb @@ -0,0 +1,360 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "96019084", + "metadata": {}, + "source": [ + "## Extensive form games\n", + "\n", + "In the Prisoner's Dilemma example above, we showed how Gambit can be used to set up a normal form game.\n", + "\n", + "Gambit can also be used to set up extensive form games; the game is represented as a tree, where each node represents a decision point for a player, and the branches represent the possible actions they can take.\n", + "\n", + "### Example: One-shot trust game with binary actions\n", + "\n", + "[Kre90](#kre90) introduced a game commonly referred to as the **trust game**.\n", + "We will build a one-shot version of this game using Gambit's game transformation operations.\n", + "\n", + "The game can be defined as follows:\n", + "- There are two players, a **Buyer** and a **Seller**.\n", + "- The Buyer moves first and has two actions, **Trust** or **Not trust**.\n", + "- If the Buyer chooses **Not trust**, then the game ends, and both players receive payoffs of `0`.\n", + "- If the Buyer chooses **Trust**, then the Seller has a choice with two actions, **Honor** or **Abuse**.\n", + "- If the Seller chooses **Honor**, both players receive payoffs of `1`;\n", + "- If the Seller chooses **Abuse**, the Buyer receives a payoff of `-1` and the Seller receives a payoff of `2`.\n", + "\n", + "We create a game with an extensive representation using `Game.new_tree`:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "5946289b", + "metadata": {}, + "outputs": [], + "source": [ + "import pygambit as gbt" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "91ed4dfb", + "metadata": {}, + "outputs": [], + "source": [ + "g2 = gbt.Game.new_tree(\n", + " players=[\"Buyer\", \"Seller\"],\n", + " title=\"One-shot trust game, after Kreps (1990)\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "e1903069", + "metadata": {}, + "source": [ + "The tree of the game contains just a root node, with no children:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "3cd94917", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(g2.root.children)" + ] + }, + { + "cell_type": "markdown", + "id": "962b4e52", + "metadata": {}, + "source": [ + "To extend a game from an existing terminal node, use `Game.append_move`. To begin with, the sole root node is the terminal node.\n", + "\n", + "Here we extend the game from the root node by adding the first move for the \"Buyer\" player, creating two child nodes (one for each possible action)." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "5d27a07a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "g2.append_move(\n", + " g2.root,\n", + " player=\"Buyer\",\n", + " actions=[\"Trust\", \"Not trust\"]\n", + ")\n", + "g2.root.children[0].label = \"Trust\" # TODO: Update API such that labels are set during move creation\n", + "g2.root.children[1].label = \"Not trust\"\n", + "len(g2.root.children)" + ] + }, + { + "cell_type": "markdown", + "id": "bba61594", + "metadata": {}, + "source": [ + "We can then also add the Seller's move in the situation after the Buyer chooses Trust:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "47c4a31b", + "metadata": {}, + "outputs": [], + "source": [ + "g2.append_move(\n", + " g2.root.children[\"Trust\"],\n", + " player=\"Seller\",\n", + " actions=[\"Honor\", \"Abuse\"]\n", + ")\n", + "g2.root.children[\"Trust\"].children[0].label = \"Honor\"\n", + "g2.root.children[\"Trust\"].children[1].label = \"Abuse\"" + ] + }, + { + "cell_type": "markdown", + "id": "382ba37d", + "metadata": {}, + "source": [ + "Now that we have the moves of the game defined, we add payoffs.\n", + "\n", + "Payoffs are associated with an `Outcome`; each `Outcome` has a vector of payoffs, one for each player, and optionally an identifying text label.\n", + "\n", + "First we add the outcome associated with the Seller proving themselves trustworthy:" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "716e9b9a", + "metadata": {}, + "outputs": [], + "source": [ + "g2.set_outcome(\n", + " g2.root.children[\"Trust\"].children[\"Honor\"],\n", + " outcome=g2.add_outcome(\n", + " payoffs=[1, 1],\n", + " label=\"Trustworthy\"\n", + " )\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "df082b10", + "metadata": {}, + "source": [ + "Next, the outcome associated with the scenario where the Buyer trusts but the Seller does not return the trust:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "695b1aad", + "metadata": {}, + "outputs": [], + "source": [ + "g2.set_outcome(\n", + " g2.root.children[\"Trust\"].children[\"Abuse\"],\n", + " outcome=g2.add_outcome(\n", + " payoffs=[-1, 2],\n", + " label=\"Untrustworthy\"\n", + " )\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "48335eb8", + "metadata": {}, + "source": [ + "And, finally the outcome associated with the Buyer opting out of the interaction:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "0704ef86", + "metadata": {}, + "outputs": [], + "source": [ + "g2.set_outcome(\n", + " g2.root.children[\"Not trust\"],\n", + " g2.add_outcome(\n", + " payoffs=[0, 0],\n", + " label=\"Opt-out\"\n", + " )\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "09ef5e2e", + "metadata": {}, + "source": [ + "Nodes without an outcome attached are assumed to have payoffs of zero for all players.\n", + "\n", + "Therefore, adding the outcome to this latter terminal node is not strictly necessary in Gambit, but it is useful to be explicit for readability." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "219a569d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "Game(title='One-shot trust game, after Kreps (1990)')" + ], + "text/plain": [ + "Game(title='One-shot trust game, after Kreps (1990)')" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# TODO: Show tree (this functionality is not yet implemented)\n", + "g2" + ] + }, + { + "cell_type": "markdown", + "id": "d912eee3", + "metadata": {}, + "source": [ + "Now let's compute the Nash equilibria of the trust game." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "f18b501b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[\\left[0,1\\right],\\left[0,1\\right]\\right]$" + ], + "text/plain": [ + "[[Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1)]]" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "equilibrium = gbt.nash.enumpure_solve(g2).equilibria[0]\n", + "equilibrium" + ] + }, + { + "cell_type": "markdown", + "id": "8d5c3941", + "metadata": {}, + "source": [ + "This tells us that if the Buyer plays they will choose the \"Not trust\" strategy with probability 1 and the Seller will choose the \"Abuse\" strategy with probability 1." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "6b354aea", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Buyer plays the equilibrium strategy:\n", + "[Rational(0, 1), Rational(1, 1)]\n", + "Payoff: 0\n", + "\n", + "Seller plays the equilibrium strategy:\n", + "[Rational(0, 1), Rational(1, 1)]\n", + "Payoff: 0\n" + ] + } + ], + "source": [ + "# TODO: I'm not sure the above text is the correct way to interpret this equilibrium,\n", + "# what does the second element of the equilibrium['Buyer'] list (and equilibrium['Seller']) list mean?\n", + "\n", + "print(\"Buyer plays the equilibrium strategy:\")\n", + "# print(equilibrium['Buyer']['Trust']) # KeyError: \"no strategy with label 'Trust' for player\"\n", + "print(equilibrium['Buyer'])\n", + "print(f\"Payoff: {equilibrium.payoff('Buyer')}\")\n", + "print()\n", + "print(\"Seller plays the equilibrium strategy:\")\n", + "print(equilibrium['Seller'])\n", + "print(f\"Payoff: {equilibrium.payoff('Seller')}\")" + ] + }, + { + "cell_type": "markdown", + "id": "be034836", + "metadata": {}, + "source": [ + " Kreps, D. (1990) “Corporate Culture and Economic Theory.” In J. Alt and K. Shepsle, eds., *Perspectives on Positive Political Economy*, Cambridge University Press." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "gambitvenv313", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 0a20cbd89d2327c2ebb30f27ed1be576cf600595 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 28 Aug 2025 14:35:11 +0100 Subject: [PATCH 049/240] read and save games --- doc/tutorials/01_quickstart.ipynb | 83 ++++++++++++++++++----- doc/tutorials/games/prisoners_dilemma.nfg | 14 ++++ 2 files changed, 81 insertions(+), 16 deletions(-) create mode 100644 doc/tutorials/games/prisoners_dilemma.nfg diff --git a/doc/tutorials/01_quickstart.ipynb b/doc/tutorials/01_quickstart.ipynb index 3eeb591d8..28e9111a2 100644 --- a/doc/tutorials/01_quickstart.ipynb +++ b/doc/tutorials/01_quickstart.ipynb @@ -28,7 +28,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 2, "id": "894df759", "metadata": {}, "outputs": [], @@ -48,7 +48,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 3, "id": "2060c1ed", "metadata": {}, "outputs": [ @@ -58,7 +58,7 @@ "pygambit.gambit.Game" ] }, - "execution_count": 49, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -80,7 +80,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 4, "id": "9d8203e8", "metadata": {}, "outputs": [], @@ -108,7 +108,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 5, "id": "61030607", "metadata": {}, "outputs": [], @@ -132,7 +132,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 6, "id": "caecc334", "metadata": {}, "outputs": [ @@ -146,7 +146,7 @@ "Game(title='Prisoner's Dilemma')" ] }, - "execution_count": 52, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -180,7 +180,7 @@ }, { "cell_type": "code", - "execution_count": 90, + "execution_count": 7, "id": "843ba7f3", "metadata": {}, "outputs": [ @@ -194,7 +194,7 @@ "Game(title='Another Prisoner's Dilemma')" ] }, - "execution_count": 90, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -228,7 +228,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 8, "id": "a81c06c7", "metadata": {}, "outputs": [], @@ -251,7 +251,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 9, "id": "bd395180", "metadata": {}, "outputs": [ @@ -261,7 +261,7 @@ "1" ] }, - "execution_count": 54, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -273,7 +273,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 10, "id": "76570ebc", "metadata": {}, "outputs": [ @@ -286,7 +286,7 @@ "[[Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1)]]" ] }, - "execution_count": 65, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -307,7 +307,7 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 11, "id": "980bf6b1", "metadata": {}, "outputs": [ @@ -342,7 +342,58 @@ "id": "24f36b0d", "metadata": {}, "source": [ - "The equilibrium shows that both players are playing their dominant strategy, which is to defect. This is because defecting is the best response to the other player's strategy, regardless of what that strategy is." + "The equilibrium shows that both players are playing their dominant strategy, which is to defect. This is because defecting is the best response to the other player's strategy, regardless of what that strategy is.\n", + "\n", + "Saving games to file\n", + "--------------------\n", + "\n", + "You can use Gambit to save games to, and read from files.\n", + "The specific format depends on whether the game is normal or extensive form.\n", + "\n", + "Here we'll save the Prisoner's Dilemma (normal form) to the `.nfg` format." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "f58eaa77", + "metadata": {}, + "outputs": [], + "source": [ + "g.to_nfg(\"games/prisoners_dilemma.nfg\")" + ] + }, + { + "cell_type": "markdown", + "id": "e373be1e", + "metadata": {}, + "source": [ + "Reading games from file\n", + "-----------------------\n", + "\n", + "You can easily restore the game object from file like so:" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "4119a2ac", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "pygambit.gambit.Game" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "restored_game = gbt.read_nfg(\"games/prisoners_dilemma.nfg\")\n", + "type(restored_game)" ] } ], diff --git a/doc/tutorials/games/prisoners_dilemma.nfg b/doc/tutorials/games/prisoners_dilemma.nfg new file mode 100644 index 000000000..a551362f6 --- /dev/null +++ b/doc/tutorials/games/prisoners_dilemma.nfg @@ -0,0 +1,14 @@ +NFG 1 R "Prisoner's Dilemma" { "Tom" "Jerry" } + +{ { "Cooperate" "Defect" } +{ "Cooperate" "Defect" } +} +"" + +{ +{ "" -1, -1 } +{ "" 0, -3 } +{ "" -3, 0 } +{ "" -2, -2 } +} +1 2 3 4 From 650a4de796f316f6d21f79ae111dd61349ab1487 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 28 Aug 2025 14:48:14 +0100 Subject: [PATCH 050/240] explain extensive and normal form game distinction --- doc/tutorials/02_extensive_form.ipynb | 80 +++++++++++++-------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/doc/tutorials/02_extensive_form.ipynb b/doc/tutorials/02_extensive_form.ipynb index dcccc9d01..47799d24f 100644 --- a/doc/tutorials/02_extensive_form.ipynb +++ b/doc/tutorials/02_extensive_form.ipynb @@ -5,13 +5,13 @@ "id": "96019084", "metadata": {}, "source": [ - "## Extensive form games\n", + "# Extensive form games\n", "\n", - "In the Prisoner's Dilemma example above, we showed how Gambit can be used to set up a normal form game.\n", + "In the first tutorial, we used Gambit to set up the Prisoner's Dilemma, an example of a normal (strategic) form game.\n", "\n", "Gambit can also be used to set up extensive form games; the game is represented as a tree, where each node represents a decision point for a player, and the branches represent the possible actions they can take.\n", "\n", - "### Example: One-shot trust game with binary actions\n", + "## Example: One-shot trust game with binary actions\n", "\n", "[Kre90](#kre90) introduced a game commonly referred to as the **trust game**.\n", "We will build a one-shot version of this game using Gambit's game transformation operations.\n", @@ -29,7 +29,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 13, "id": "5946289b", "metadata": {}, "outputs": [], @@ -39,12 +39,12 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 14, "id": "91ed4dfb", "metadata": {}, "outputs": [], "source": [ - "g2 = gbt.Game.new_tree(\n", + "g = gbt.Game.new_tree(\n", " players=[\"Buyer\", \"Seller\"],\n", " title=\"One-shot trust game, after Kreps (1990)\"\n", ")" @@ -60,7 +60,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 15, "id": "3cd94917", "metadata": {}, "outputs": [ @@ -70,13 +70,13 @@ "0" ] }, - "execution_count": 4, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "len(g2.root.children)" + "len(g.root.children)" ] }, { @@ -91,7 +91,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 16, "id": "5d27a07a", "metadata": {}, "outputs": [ @@ -101,20 +101,20 @@ "2" ] }, - "execution_count": 5, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "g2.append_move(\n", - " g2.root,\n", + "g.append_move(\n", + " g.root,\n", " player=\"Buyer\",\n", " actions=[\"Trust\", \"Not trust\"]\n", ")\n", - "g2.root.children[0].label = \"Trust\" # TODO: Update API such that labels are set during move creation\n", - "g2.root.children[1].label = \"Not trust\"\n", - "len(g2.root.children)" + "g.root.children[0].label = \"Trust\" # TODO: Update API such that labels are set during move creation\n", + "g.root.children[1].label = \"Not trust\"\n", + "len(g.root.children)" ] }, { @@ -127,18 +127,18 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 17, "id": "47c4a31b", "metadata": {}, "outputs": [], "source": [ - "g2.append_move(\n", - " g2.root.children[\"Trust\"],\n", + "g.append_move(\n", + " g.root.children[\"Trust\"],\n", " player=\"Seller\",\n", " actions=[\"Honor\", \"Abuse\"]\n", ")\n", - "g2.root.children[\"Trust\"].children[0].label = \"Honor\"\n", - "g2.root.children[\"Trust\"].children[1].label = \"Abuse\"" + "g.root.children[\"Trust\"].children[0].label = \"Honor\"\n", + "g.root.children[\"Trust\"].children[1].label = \"Abuse\"" ] }, { @@ -155,14 +155,14 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 18, "id": "716e9b9a", "metadata": {}, "outputs": [], "source": [ - "g2.set_outcome(\n", - " g2.root.children[\"Trust\"].children[\"Honor\"],\n", - " outcome=g2.add_outcome(\n", + "g.set_outcome(\n", + " g.root.children[\"Trust\"].children[\"Honor\"],\n", + " outcome=g.add_outcome(\n", " payoffs=[1, 1],\n", " label=\"Trustworthy\"\n", " )\n", @@ -179,14 +179,14 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 19, "id": "695b1aad", "metadata": {}, "outputs": [], "source": [ - "g2.set_outcome(\n", - " g2.root.children[\"Trust\"].children[\"Abuse\"],\n", - " outcome=g2.add_outcome(\n", + "g.set_outcome(\n", + " g.root.children[\"Trust\"].children[\"Abuse\"],\n", + " outcome=g.add_outcome(\n", " payoffs=[-1, 2],\n", " label=\"Untrustworthy\"\n", " )\n", @@ -203,14 +203,14 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 20, "id": "0704ef86", "metadata": {}, "outputs": [], "source": [ - "g2.set_outcome(\n", - " g2.root.children[\"Not trust\"],\n", - " g2.add_outcome(\n", + "g.set_outcome(\n", + " g.root.children[\"Not trust\"],\n", + " g.add_outcome(\n", " payoffs=[0, 0],\n", " label=\"Opt-out\"\n", " )\n", @@ -229,7 +229,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 21, "id": "219a569d", "metadata": {}, "outputs": [ @@ -242,14 +242,14 @@ "Game(title='One-shot trust game, after Kreps (1990)')" ] }, - "execution_count": 10, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# TODO: Show tree (this functionality is not yet implemented)\n", - "g2" + "g" ] }, { @@ -262,7 +262,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 22, "id": "f18b501b", "metadata": {}, "outputs": [ @@ -275,13 +275,13 @@ "[[Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1)]]" ] }, - "execution_count": 11, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "equilibrium = gbt.nash.enumpure_solve(g2).equilibria[0]\n", + "equilibrium = gbt.nash.enumpure_solve(g).equilibria[0]\n", "equilibrium" ] }, @@ -295,7 +295,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 23, "id": "6b354aea", "metadata": {}, "outputs": [ From a60d08e74c5a4bade136c957c09fa917f61de747 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 28 Aug 2025 14:50:56 +0100 Subject: [PATCH 051/240] demo saving efg --- doc/tutorials/02_extensive_form.ipynb | 57 +++++++++++++++++++++++++++ doc/tutorials/games/trust_game.efg | 8 ++++ 2 files changed, 65 insertions(+) create mode 100644 doc/tutorials/games/trust_game.efg diff --git a/doc/tutorials/02_extensive_form.ipynb b/doc/tutorials/02_extensive_form.ipynb index 47799d24f..5c69dcb63 100644 --- a/doc/tutorials/02_extensive_form.ipynb +++ b/doc/tutorials/02_extensive_form.ipynb @@ -327,6 +327,63 @@ "print(f\"Payoff: {equilibrium.payoff('Seller')}\")" ] }, + { + "cell_type": "markdown", + "id": "cfc52edc", + "metadata": {}, + "source": [ + "Saving games to file\n", + "--------------------\n", + "\n", + "You can use Gambit to save games to, and read from files.\n", + "The specific format depends on whether the game is normal or extensive form.\n", + "\n", + "Here we'll save the Trust game (extensive form) to the `.efg` format." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "37c51152", + "metadata": {}, + "outputs": [], + "source": [ + "g.to_efg(\"games/trust_game.efg\")" + ] + }, + { + "cell_type": "markdown", + "id": "0eb31525", + "metadata": {}, + "source": [ + "Reading games from file\n", + "-----------------------\n", + "\n", + "You can easily restore the game object from file like so:" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "0d86a750", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "pygambit.gambit.Game" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "restored_game = gbt.read_efg(\"games/trust_game.efg\")\n", + "type(restored_game)" + ] + }, { "cell_type": "markdown", "id": "be034836", diff --git a/doc/tutorials/games/trust_game.efg b/doc/tutorials/games/trust_game.efg new file mode 100644 index 000000000..5b85cac9d --- /dev/null +++ b/doc/tutorials/games/trust_game.efg @@ -0,0 +1,8 @@ +EFG 2 R "One-shot trust game, after Kreps (1990)" { "Buyer" "Seller" } +"" + +p "" 1 1 "" { "Trust" "Not trust" } 0 +p "Trust" 2 1 "" { "Honor" "Abuse" } 0 +t "Honor" 1 "Trustworthy" { 1, 1 } +t "Abuse" 2 "Untrustworthy" { -1, 2 } +t "Not trust" 3 "Opt-out" { 0, 0 } From 009e0338d5638a5647e1b6b47a71d88bc364147e Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 1 Sep 2025 11:28:03 +0100 Subject: [PATCH 052/240] add to_arrays --- doc/tutorials/01_quickstart.ipynb | 67 ++++++++++++++++++++++++------- 1 file changed, 53 insertions(+), 14 deletions(-) diff --git a/doc/tutorials/01_quickstart.ipynb b/doc/tutorials/01_quickstart.ipynb index 28e9111a2..2afe76cda 100644 --- a/doc/tutorials/01_quickstart.ipynb +++ b/doc/tutorials/01_quickstart.ipynb @@ -158,15 +158,21 @@ }, { "cell_type": "markdown", - "id": "5e9fe410", + "id": "659fc2c5", "metadata": {}, "source": [ "The payout matrix structure shows what in Game Theory is described as the \"strategic form\" (also \"normal form\") representation of a game.\n", "\n", "The matrix presents the players' strategies and their expected payoff following their played strategies.\n", "\n", - "The strategic form assumes players choose their strategies simultaneously, and the outcome depends on the combination.\n", - "\n", + "The strategic form assumes players choose their strategies simultaneously, and the outcome depends on the combination." + ] + }, + { + "cell_type": "markdown", + "id": "5e9fe410", + "metadata": {}, + "source": [ "## With fewer lines of code...\n", "\n", "The most direct way to create a strategic form game is via `Game.from_arrays()`.\n", @@ -180,7 +186,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "id": "843ba7f3", "metadata": {}, "outputs": [ @@ -194,7 +200,7 @@ "Game(title='Another Prisoner's Dilemma')" ] }, - "execution_count": 7, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -213,6 +219,39 @@ "g1" ] }, + { + "cell_type": "markdown", + "id": "696d83cb", + "metadata": {}, + "source": [ + "You can retrieve the players’ payoff tables from a game object using the `Game.to_arrays()` method, which produces a list of numpy arrays representing the payoffs for each player.\n", + "\n", + "The optional parameter `dtype` controls the data type of the payoffs in the generated arrays." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "5ee752c4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-1\n", + "\n" + ] + } + ], + "source": [ + "tom_payoffs, jerry_payoffs = g.to_arrays(\n", + " # dtype=float\n", + ")\n", + "print(tom_payoffs[0][0])\n", + "print(type(tom_payoffs[0][0]))" + ] + }, { "cell_type": "markdown", "id": "f2e6645e", @@ -228,7 +267,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "id": "a81c06c7", "metadata": {}, "outputs": [], @@ -251,7 +290,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "id": "bd395180", "metadata": {}, "outputs": [ @@ -261,7 +300,7 @@ "1" ] }, - "execution_count": 9, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -273,7 +312,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "id": "76570ebc", "metadata": {}, "outputs": [ @@ -286,7 +325,7 @@ "[[Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1)]]" ] }, - "execution_count": 10, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -307,7 +346,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "id": "980bf6b1", "metadata": {}, "outputs": [ @@ -355,7 +394,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 13, "id": "f58eaa77", "metadata": {}, "outputs": [], @@ -376,7 +415,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 14, "id": "4119a2ac", "metadata": {}, "outputs": [ @@ -386,7 +425,7 @@ "pygambit.gambit.Game" ] }, - "execution_count": 19, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } From f8d40ee8dce9489af3e9ad92bacb768b31760f6d Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 1 Sep 2025 11:39:40 +0100 Subject: [PATCH 053/240] explain labels --- doc/tutorials/01_quickstart.ipynb | 42 ++++++++++--------- doc/tutorials/02_extensive_form.ipynb | 60 +++++++++++++++++---------- 2 files changed, 61 insertions(+), 41 deletions(-) diff --git a/doc/tutorials/01_quickstart.ipynb b/doc/tutorials/01_quickstart.ipynb index 2afe76cda..00ce55b04 100644 --- a/doc/tutorials/01_quickstart.ipynb +++ b/doc/tutorials/01_quickstart.ipynb @@ -28,7 +28,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 24, "id": "894df759", "metadata": {}, "outputs": [], @@ -48,7 +48,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 25, "id": "2060c1ed", "metadata": {}, "outputs": [ @@ -58,7 +58,7 @@ "pygambit.gambit.Game" ] }, - "execution_count": 3, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -75,12 +75,14 @@ "id": "903376dc", "metadata": {}, "source": [ - "Now let's name the players and each of their possible strategies, in both cases \"Cooperate\" and \"Defect\"." + "Now let's name the players and each of their possible strategies, in both cases \"Cooperate\" and \"Defect\".\n", + "\n", + "Note: it's not necessary to specify labels for players and strategies when defining a game, however doing so makes the game easier to understand and work with." ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 26, "id": "9d8203e8", "metadata": {}, "outputs": [], @@ -108,7 +110,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 27, "id": "61030607", "metadata": {}, "outputs": [], @@ -132,7 +134,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 28, "id": "caecc334", "metadata": {}, "outputs": [ @@ -146,7 +148,7 @@ "Game(title='Prisoner's Dilemma')" ] }, - "execution_count": 6, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -186,7 +188,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 29, "id": "843ba7f3", "metadata": {}, "outputs": [ @@ -200,7 +202,7 @@ "Game(title='Another Prisoner's Dilemma')" ] }, - "execution_count": 8, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } @@ -231,7 +233,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 30, "id": "5ee752c4", "metadata": {}, "outputs": [ @@ -267,7 +269,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 31, "id": "a81c06c7", "metadata": {}, "outputs": [], @@ -290,7 +292,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 32, "id": "bd395180", "metadata": {}, "outputs": [ @@ -300,7 +302,7 @@ "1" ] }, - "execution_count": 10, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -312,7 +314,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 33, "id": "76570ebc", "metadata": {}, "outputs": [ @@ -325,7 +327,7 @@ "[[Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1)]]" ] }, - "execution_count": 11, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -346,7 +348,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 34, "id": "980bf6b1", "metadata": {}, "outputs": [ @@ -394,7 +396,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 35, "id": "f58eaa77", "metadata": {}, "outputs": [], @@ -415,7 +417,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 36, "id": "4119a2ac", "metadata": {}, "outputs": [ @@ -425,7 +427,7 @@ "pygambit.gambit.Game" ] }, - "execution_count": 14, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } diff --git a/doc/tutorials/02_extensive_form.ipynb b/doc/tutorials/02_extensive_form.ipynb index 5c69dcb63..0718f39cb 100644 --- a/doc/tutorials/02_extensive_form.ipynb +++ b/doc/tutorials/02_extensive_form.ipynb @@ -29,7 +29,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 1, "id": "5946289b", "metadata": {}, "outputs": [], @@ -39,7 +39,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 2, "id": "91ed4dfb", "metadata": {}, "outputs": [], @@ -60,7 +60,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 3, "id": "3cd94917", "metadata": {}, "outputs": [ @@ -70,7 +70,7 @@ "0" ] }, - "execution_count": 15, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -91,7 +91,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 4, "id": "5d27a07a", "metadata": {}, "outputs": [ @@ -101,22 +101,40 @@ "2" ] }, - "execution_count": 16, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g.append_move(\n", - " g.root,\n", + " g.root, # This is the node to append the move to\n", " player=\"Buyer\",\n", " actions=[\"Trust\", \"Not trust\"]\n", ")\n", - "g.root.children[0].label = \"Trust\" # TODO: Update API such that labels are set during move creation\n", - "g.root.children[1].label = \"Not trust\"\n", "len(g.root.children)" ] }, + { + "cell_type": "markdown", + "id": "43e28b1e", + "metadata": {}, + "source": [ + "We can also optionally specify labels for nodes when defining a game.\n", + "This isn't strictly necessary, but doing so makes the game easier to understand and work with." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "65b21e37", + "metadata": {}, + "outputs": [], + "source": [ + "g.root.children[0].label = \"Trust\"\n", + "g.root.children[1].label = \"Not trust\"" + ] + }, { "cell_type": "markdown", "id": "bba61594", @@ -127,7 +145,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 6, "id": "47c4a31b", "metadata": {}, "outputs": [], @@ -155,7 +173,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 7, "id": "716e9b9a", "metadata": {}, "outputs": [], @@ -179,7 +197,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 8, "id": "695b1aad", "metadata": {}, "outputs": [], @@ -203,7 +221,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 9, "id": "0704ef86", "metadata": {}, "outputs": [], @@ -229,7 +247,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 10, "id": "219a569d", "metadata": {}, "outputs": [ @@ -242,7 +260,7 @@ "Game(title='One-shot trust game, after Kreps (1990)')" ] }, - "execution_count": 21, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -262,7 +280,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 11, "id": "f18b501b", "metadata": {}, "outputs": [ @@ -275,7 +293,7 @@ "[[Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1)]]" ] }, - "execution_count": 22, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -295,7 +313,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 12, "id": "6b354aea", "metadata": {}, "outputs": [ @@ -343,7 +361,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 13, "id": "37c51152", "metadata": {}, "outputs": [], @@ -364,7 +382,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 14, "id": "0d86a750", "metadata": {}, "outputs": [ @@ -374,7 +392,7 @@ "pygambit.gambit.Game" ] }, - "execution_count": 26, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } From fd8f4542ccc9d4d091d3008ab4e809ab7ce5388d Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 1 Sep 2025 11:41:26 +0100 Subject: [PATCH 054/240] remove todos --- doc/tutorials/03_poker.ipynb | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index c51248254..af52267ff 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -113,7 +113,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": null, "id": "fe80c64c", "metadata": {}, "outputs": [], @@ -123,7 +123,7 @@ " player=g.players.chance,\n", " actions=[\"King\", \"Queen\"] # By default, chance actions have equal probabilities\n", ")\n", - "g.root.children[0].label = \"King\" # TODO: Update API such that labels are set during move creation\n", + "g.root.children[0].label = \"King\" # Add labels to improve code readability\n", "g.root.children[1].label = \"Queen\"" ] }, @@ -142,7 +142,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": null, "id": "0e3bb5ef", "metadata": {}, "outputs": [], @@ -153,7 +153,7 @@ " player=\"Alice\",\n", " actions=[\"Raise\", \"Fold\"]\n", " )\n", - " node.children[0].label = \"Raise\" # TODO: Update API such that labels are set during move creation\n", + " node.children[0].label = \"Raise\"\n", " node.children[1].label = \"Fold\"" ] }, @@ -178,7 +178,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": null, "id": "dbfa7035", "metadata": {}, "outputs": [], @@ -188,7 +188,7 @@ " player=\"Bob\",\n", " actions=[\"Meet\", \"Pass\"]\n", ")\n", - "g.root.children[\"King\"].children[\"Raise\"].children[0].label = \"Meet\" # TODO: Update API such that labels are set during move creation\n", + "g.root.children[\"King\"].children[\"Raise\"].children[0].label = \"Meet\"\n", "g.root.children[\"King\"].children[\"Raise\"].children[1].label = \"Pass\"" ] }, @@ -202,7 +202,7 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": null, "id": "655cdae3", "metadata": {}, "outputs": [], @@ -211,7 +211,7 @@ " g.root.children[\"Queen\"].children[\"Raise\"],\n", " infoset=g.root.children[\"King\"].children[\"Raise\"].infoset\n", ")\n", - "g.root.children[\"Queen\"].children[\"Raise\"].children[0].label = \"Meet\" # TODO: Update API such that labels are set during move creation\n", + "g.root.children[\"Queen\"].children[\"Raise\"].children[0].label = \"Meet\"\n", "g.root.children[\"Queen\"].children[\"Raise\"].children[1].label = \"Pass\"" ] }, From 493a7c1f0e41f593590fe3d816085df9489cbabb Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 2 Sep 2025 10:32:58 +0100 Subject: [PATCH 055/240] full notebook content --- doc/tutorials/03_poker.ipynb | 787 ++++++++++++++++++++++++++++++++++- 1 file changed, 773 insertions(+), 14 deletions(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index af52267ff..bc436f76a 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -38,7 +38,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 44, "id": "69cbfe81", "metadata": {}, "outputs": [], @@ -56,7 +56,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 45, "id": "ad6a1119", "metadata": {}, "outputs": [], @@ -77,7 +77,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 46, "id": "841f9f74", "metadata": {}, "outputs": [ @@ -113,7 +113,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 47, "id": "fe80c64c", "metadata": {}, "outputs": [], @@ -142,7 +142,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 48, "id": "0e3bb5ef", "metadata": {}, "outputs": [], @@ -178,7 +178,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 49, "id": "dbfa7035", "metadata": {}, "outputs": [], @@ -202,7 +202,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 50, "id": "655cdae3", "metadata": {}, "outputs": [], @@ -230,7 +230,7 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": 51, "id": "87c988be", "metadata": {}, "outputs": [], @@ -251,7 +251,7 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 52, "id": "29aa60a0", "metadata": {}, "outputs": [], @@ -272,15 +272,774 @@ ] }, { - "cell_type": "code", - "execution_count": 72, + "cell_type": "markdown", "id": "17eb6af5", "metadata": {}, + "source": [ + "## Computing Nash equilibria\n", + "\n", + "For two-player games, `lcp_solve` can compute Nash equilibria directly using the extensive representation." + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "id": "4d92c8d9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "NashComputationResult(method='lcp', rational=True, use_strategic=False, equilibria=[[[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]], [[Rational(2, 3), Rational(1, 3)]]]], parameters={'stop_after': 0, 'max_depth': 0})" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "result = gbt.nash.lcp_solve(g)\n", + "result" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "id": "9967d6f7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of equilibria found: 1\n" + ] + } + ], + "source": [ + "print(\"Number of equilibria found:\", len(result.equilibria))\n", + "eqm = result.equilibria[0]" + ] + }, + { + "cell_type": "markdown", + "id": "69f67b5b", + "metadata": {}, + "source": [ + "The result of the calculation is returned as a `NashComputationResult` object.\n", + "The set of equilibria found is reported in `NashComputationResult.equilibria`; in this case, this is a list of mixed behavior profiles.\n", + "\n", + "A mixed behavior profile specifies, for each information set, the probability distribution over actions at that information set.\n", + "\n", + "Indexing a `MixedBehaviorProfile` by a player gives a `MixedBehavior`, which specifies probability distributions at each of the player's information sets:" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "id": "85e7fdda", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[\\left[1,0\\right],\\left[\\frac{1}{3},\\frac{2}{3}\\right]\\right]$" + ], + "text/plain": [ + "[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]]" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eqm[\"Alice\"]" + ] + }, + { + "cell_type": "markdown", + "id": "6615115d", + "metadata": {}, + "source": [ + "In this case, at Alice's first information set, the one at which she has the King, she always raises.\n", + "\n", + "At her second information set, where she has the Queen, she sometimes bluffs, raising with probability one-third.\n", + "\n", + "The probability distribution at an information set is represented by a `MixedAction`.\n", + "\n", + "`MixedBehavior.mixed_actions` iterates over these for the player:" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "id": "f45a82b6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Infoset(player=Player(game=Game(title='One card poker'), label='Alice'), number=0)\n", + "[Rational(1, 1), Rational(0, 1)]\n", + "Infoset(player=Player(game=Game(title='One card poker'), label='Alice'), number=1)\n", + "[Rational(1, 3), Rational(2, 3)]\n" + ] + } + ], + "source": [ + "for infoset, mixed_action in eqm[\"Alice\"].mixed_actions():\n", + " print(infoset)\n", + " print(mixed_action)" + ] + }, + { + "cell_type": "markdown", + "id": "2f4819b1", + "metadata": {}, + "source": [ + "We can extract Alice’s probabilities of raising at her respective information sets like this:" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "id": "0630e146", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{Infoset(player=Player(game=Game(title='One card poker'), label='Alice'), number=0): Rational(1, 1),\n", + " Infoset(player=Player(game=Game(title='One card poker'), label='Alice'), number=1): Rational(1, 3)}" + ] + }, + "execution_count": 57, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "{infoset: mixed_action[\"Raise\"] for infoset, mixed_action in eqm[\"Alice\"].mixed_actions()}" + ] + }, + { + "cell_type": "markdown", + "id": "9eeae046", + "metadata": {}, + "source": [ + "In larger games, labels may not always be the most convenient way to refer to specific actions.\n", + "We can also index profiles directly with `Action` objects.\n", + "\n", + "So an alternative way to extract the probabilities of playing “Raise” would be by iterating Alice’s list of actions:" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "id": "83bbd3e5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{Infoset(player=Player(game=Game(title='One card poker'), label='Alice'), number=0): Rational(1, 1),\n", + " Infoset(player=Player(game=Game(title='One card poker'), label='Alice'), number=1): Rational(1, 3)}" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "{action.infoset: eqm[action] for action in g.players[\"Alice\"].actions if action.label == \"Raise\"}" + ] + }, + { + "cell_type": "markdown", + "id": "1f121d48", + "metadata": {}, + "source": [ + "Now let's look at Bob’s strategy:" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "id": "6bf51b38", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[\\left[\\frac{2}{3},\\frac{1}{3}\\right]\\right]$" + ], + "text/plain": [ + "[[Rational(2, 3), Rational(1, 3)]]" + ] + }, + "execution_count": 59, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eqm[\"Bob\"]" + ] + }, + { + "cell_type": "markdown", + "id": "e906c4c4", + "metadata": {}, + "source": [ + "Bob meets Alice’s raise two-thirds of the time.\n", + "The label “Raise” is used in more than one information set for Alice, so in the above we had to specify information sets when indexing.\n", + "\n", + "When there is no ambiguity, we can specify action labels directly.\n", + "So for example, because Bob has only one action named “Meet” in the game, we can extract the probability that Bob plays “Meet” by:" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "id": "2966e700", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\frac{2}{3}$" + ], + "text/plain": [ + "Rational(2, 3)" + ] + }, + "execution_count": 60, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eqm[\"Bob\"][\"Meet\"]" + ] + }, + { + "cell_type": "markdown", + "id": "2ec69f8c", + "metadata": {}, + "source": [ + "Moreover, this is the only action with that label in the game, so we can index the profile directly using the action label without any ambiguity:" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "id": "f5a7f110", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\frac{2}{3}$" + ], + "text/plain": [ + "Rational(2, 3)" + ] + }, + "execution_count": 61, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eqm[\"Meet\"]" + ] + }, + { + "cell_type": "markdown", + "id": "db19411b", + "metadata": {}, + "source": [ + "Because this is an equilibrium, the fact that Bob randomizes at his information set must mean he is indifferent between the two actions at his information set.\n", + " \n", + "`MixedBehaviorProfile.action_value` returns the expected payoff of taking an action, conditional on reaching that action's information set:" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "id": "a7d3816d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'Meet': Rational(-1, 1), 'Pass': Rational(-1, 1)}" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "{action.label: eqm.action_value(action) for action in g.players[\"Bob\"].infosets[0].actions}" + ] + }, + { + "cell_type": "markdown", + "id": "6491fdda", + "metadata": {}, + "source": [ + "Bob's indifference between his actions arises because of his beliefs given Alice's strategy.\n", + "`MixedBehaviorProfile.belief` returns the probability of reaching a node, conditional on its information set being reached:" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "id": "4a54b20c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{Node(game=Game(title='One card poker'), label='Raise'): Rational(3, 4),\n", + " Node(game=Game(title='One card poker'), label='Raise'): Rational(1, 4)}" + ] + }, + "execution_count": 63, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "{node: eqm.belief(node) for node in g.players[\"Bob\"].infosets[0].members}" + ] + }, + { + "cell_type": "markdown", + "id": "351bb3ce", + "metadata": {}, + "source": [ + "Bob believes that, conditional on Alice raising, there's a 3/4 chance that she has the King;\n", + "therefore, the expected payoff to meeting is in fact -1 as computed.\n", + "`MixedBehaviorProfile.infoset_prob` returns the probability that an information set is reached:" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "id": "b250c1cd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\frac{2}{3}$" + ], + "text/plain": [ + "Rational(2, 3)" + ] + }, + "execution_count": 64, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eqm.infoset_prob(g.players[\"Bob\"].infosets[0])" + ] + }, + { + "cell_type": "markdown", + "id": "9216ea34", + "metadata": {}, + "source": [ + "The corresponding probability that a node is reached in the play of the game is given by `MixedBehaviorProfile.realiz_prob`, and the expected payoff to a player conditional on reaching a node is given by `MixedBehaviorProfile.node_value`." + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "id": "6f01846b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{Node(game=Game(title='One card poker'), label='Raise'): Rational(-5, 3),\n", + " Node(game=Game(title='One card poker'), label='Raise'): Rational(1, 1)}" + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "{node: eqm.node_value(\"Bob\", node) for node in g.players[\"Bob\"].infosets[0].members}" + ] + }, + { + "cell_type": "markdown", + "id": "5ba0c241", + "metadata": {}, + "source": [ + "The overall expected payoff to a player given the behavior profile is returned by `MixedBehaviorProfile.payoff`:" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "id": "5079d231", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\frac{1}{3}$" + ], + "text/plain": [ + "Rational(1, 3)" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eqm.payoff(\"Alice\")" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "id": "c55f2c7a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\frac{-1}{3}$" + ], + "text/plain": [ + "Rational(-1, 3)" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eqm.payoff(\"Bob\")" + ] + }, + { + "cell_type": "markdown", + "id": "26d5e8ff", + "metadata": {}, + "source": [ + "The equilibrium computed expresses probabilities in rational numbers.\n", + "\n", + "Because the numerical data of games in Gambit [are represented exactly](https://gambitproject.readthedocs.io/en/stable/pygambit.user.html#representation-of-numerical-data-of-a-game), methods which are specialized to two-player games, `lp_solve`, `lcp_solve`, and `enummixed_solve`, can report exact probabilities for equilibrium strategy profiles.\n", + "\n", + "This is enabled by default for these methods.\n", + "\n", + "When a game has an extensive representation, equilibrium finding methods default to computing on that representation.\n", + "It is also possible to compute using the strategic representation.\n", + "`pygambit` transparently computes the reduced strategic form representation of an extensive game." + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "id": "d4ecff88", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['11', '12', '21', '22']" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "[s.label for s in g.players[\"Alice\"].strategies]" + ] + }, + { + "cell_type": "markdown", + "id": "a9bf9b73", + "metadata": {}, + "source": [ + "In the strategic form of this game, Alice has four strategies.\n", + "\n", + "The generated strategy labels list the action numbers taken at each information set.\n", + "\n", + "We can therefore apply a method which operates on a strategic game to any game with an extensive representation." + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "id": "24e4b6e8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "NashComputationResult(method='gnm', rational=False, use_strategic=True, equilibria=[[[0.33333333333866677, 0.6666666666613335, 0.0, 0.0], [0.6666666666559997, 0.3333333333440004]]], parameters={'perturbation': [[1.0, 0.0, 0.0, 0.0], [1.0, 0.0]], 'end_lambda': -10.0, 'steps': 100, 'local_newton_interval': 3, 'local_newton_maxits': 10})" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "result = gbt.nash.gnm_solve(g)\n", + "result" + ] + }, + { + "cell_type": "markdown", + "id": "d88b736b", + "metadata": {}, + "source": [ + "`gnm_solve` can be applied to any game with any number of players, and uses a path-following process in floating-point arithmetic, so it returns profiles with probabilities expressed as floating-point numbers.\n", + "\n", + "This method operates on the strategic representation of the game, so the returned results are of type `MixedStrategyProfile`, and specify, for each player, a probability distribution over that player's strategies.\n", + "\n", + "Indexing a `MixedStrategyProfile` by a player gives the probability distribution over that player's strategies only." + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "id": "d9ffb4b8", + "metadata": {}, "outputs": [], "source": [ - "# m, m_transposed = g.to_arrays()\n", - "# print(m)\n", - "# print(m_transposed)" + "eqm = result.equilibria[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "id": "aa168d5e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "[0.33333333333866677, 0.6666666666613335, 0.0, 0.0]" + ], + "text/plain": [ + "[0.33333333333866677, 0.6666666666613335, 0.0, 0.0]" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eqm[\"Alice\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "id": "d6f614ab", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "[0.6666666666559997, 0.3333333333440004]" + ], + "text/plain": [ + "[0.6666666666559997, 0.3333333333440004]" + ] + }, + "execution_count": 72, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eqm[\"Bob\"]" + ] + }, + { + "cell_type": "markdown", + "id": "102d22c2", + "metadata": {}, + "source": [ + "The expected payoff to a strategy is provided by `MixedStrategyProfile.strategy_value`:" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "id": "56e2f847", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{Strategy(player=Player(game=Game(title='One card poker'), label='Alice'), label='11'): 0.33333333334400045,\n", + " Strategy(player=Player(game=Game(title='One card poker'), label='Alice'), label='12'): 0.33333333332799997,\n", + " Strategy(player=Player(game=Game(title='One card poker'), label='Alice'), label='21'): -0.9999999999839995,\n", + " Strategy(player=Player(game=Game(title='One card poker'), label='Alice'), label='22'): -1.0}" + ] + }, + "execution_count": 73, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "{strategy: eqm.strategy_value(strategy) for strategy in g.players[\"Alice\"].strategies}" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "id": "ee25518d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{Strategy(player=Player(game=Game(title='One card poker'), label='Bob'), label='1'): -0.33333333333066656,\n", + " Strategy(player=Player(game=Game(title='One card poker'), label='Bob'), label='2'): -0.3333333333386667}" + ] + }, + "execution_count": 74, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "{strategy: eqm.strategy_value(strategy) for strategy in g.players[\"Bob\"].strategies}" + ] + }, + { + "cell_type": "markdown", + "id": "e8a637a5", + "metadata": {}, + "source": [ + "The overall expected payoff to a player is returned by `MixedStrategyProfile.payoff`:" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "id": "ae32b790", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.33333333333333354" + ] + }, + "execution_count": 75, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eqm.payoff(\"Alice\")" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "id": "10f5a92d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-0.33333333333333354" + ] + }, + "execution_count": 76, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eqm.payoff(\"Bob\")" + ] + }, + { + "cell_type": "markdown", + "id": "874be231", + "metadata": {}, + "source": [ + "When a game has an extensive representation, we can convert freely between `MixedStrategyProfile` and the corresponding `MixedBehaviorProfile` representation of the same strategies using `MixedStrategyProfile.as_behavior` and `MixedBehaviorProfile.as_strategy`." + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "id": "d18a91f0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[[[1.0, 0.0], [0.3333333333386667, 0.6666666666613333]],[[0.6666666666559997, 0.3333333333440004]]\\right]$" + ], + "text/plain": [ + "[[[1.0, 0.0], [0.3333333333386667, 0.6666666666613333]], [[0.6666666666559997, 0.3333333333440004]]]" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eqm.as_behavior()" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "id": "fd474c66", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[[0.3333333333386667, 0.6666666666613333, 0.0, 0.0],[0.6666666666559997, 0.3333333333440004]\\right]$" + ], + "text/plain": [ + "[[0.3333333333386667, 0.6666666666613333, 0.0, 0.0], [0.6666666666559997, 0.3333333333440004]]" + ] + }, + "execution_count": 78, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eqm.as_behavior().as_strategy()" ] } ], From d69eb457fb10e401959a67f1bebee42c21fa58cc Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 2 Sep 2025 10:36:46 +0100 Subject: [PATCH 056/240] remove equilibrium computation from this example --- doc/tutorials/02_extensive_form.ipynb | 75 --------------------------- 1 file changed, 75 deletions(-) diff --git a/doc/tutorials/02_extensive_form.ipynb b/doc/tutorials/02_extensive_form.ipynb index 0718f39cb..862fdb88d 100644 --- a/doc/tutorials/02_extensive_form.ipynb +++ b/doc/tutorials/02_extensive_form.ipynb @@ -270,81 +270,6 @@ "g" ] }, - { - "cell_type": "markdown", - "id": "d912eee3", - "metadata": {}, - "source": [ - "Now let's compute the Nash equilibria of the trust game." - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "f18b501b", - "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[\\left[0,1\\right],\\left[0,1\\right]\\right]$" - ], - "text/plain": [ - "[[Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1)]]" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "equilibrium = gbt.nash.enumpure_solve(g).equilibria[0]\n", - "equilibrium" - ] - }, - { - "cell_type": "markdown", - "id": "8d5c3941", - "metadata": {}, - "source": [ - "This tells us that if the Buyer plays they will choose the \"Not trust\" strategy with probability 1 and the Seller will choose the \"Abuse\" strategy with probability 1." - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "6b354aea", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Buyer plays the equilibrium strategy:\n", - "[Rational(0, 1), Rational(1, 1)]\n", - "Payoff: 0\n", - "\n", - "Seller plays the equilibrium strategy:\n", - "[Rational(0, 1), Rational(1, 1)]\n", - "Payoff: 0\n" - ] - } - ], - "source": [ - "# TODO: I'm not sure the above text is the correct way to interpret this equilibrium,\n", - "# what does the second element of the equilibrium['Buyer'] list (and equilibrium['Seller']) list mean?\n", - "\n", - "print(\"Buyer plays the equilibrium strategy:\")\n", - "# print(equilibrium['Buyer']['Trust']) # KeyError: \"no strategy with label 'Trust' for player\"\n", - "print(equilibrium['Buyer'])\n", - "print(f\"Payoff: {equilibrium.payoff('Buyer')}\")\n", - "print()\n", - "print(\"Seller plays the equilibrium strategy:\")\n", - "print(equilibrium['Seller'])\n", - "print(f\"Payoff: {equilibrium.payoff('Seller')}\")" - ] - }, { "cell_type": "markdown", "id": "cfc52edc", From 0f2b92a30bdba0a9b39cd85cf5513d43d5bb2f1e Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 2 Sep 2025 10:43:47 +0100 Subject: [PATCH 057/240] reference links --- doc/tutorials/03_poker.ipynb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index bc436f76a..358d34b82 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -271,6 +271,16 @@ "g.set_outcome(g.root.children[\"Queen\"].children[\"Raise\"].children[\"Pass\"], alice_wins)" ] }, + { + "cell_type": "markdown", + "id": "65def67e", + "metadata": {}, + "source": [ + " Myerson, Roger B. (1991) *Game Theory: Analysis of Conflict*. Cambridge: Harvard University Press.\n", + "\n", + " Reiley, David H., Michael B. Urbancic and Mark Walker. (2008) \"Stripped-down poker: A classroom game with signaling and bluffing.\" *The Journal of Economic Education* 39(4): 323-341." + ] + }, { "cell_type": "markdown", "id": "17eb6af5", From eb0217ef8e10d5e39a33e9407e56e7f8eb8567ee Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 2 Sep 2025 10:58:25 +0100 Subject: [PATCH 058/240] some notes added to the part before computing equlibria --- doc/tutorials/03_poker.ipynb | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 358d34b82..13c4b998d 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -11,9 +11,8 @@ "\n", "1. Setting up an extensive form game with imperfect information\n", "2. Using information sets\n", - "3. [Retrieving player payoff tables from the game](#)\n", - "4. [Computing Nash equilibria](#)\n", - "5. [Acceptance criteria for Nash equilibria](#)\n", + "3. [Computing Nash equilibria](#)\n", + "4. [Acceptance criteria for Nash equilibria](#)\n", "\n", "A version of this game also appears in [RUW08](#ruw08), as a classroom game under the name \"stripped-down poker\".\n", "\n", @@ -108,12 +107,14 @@ "\n", "The first step in this game is that Alice is dealt a card which could be a King or Queen, each with probability 1/2.\n", "\n", - "To simulate this in Gambit, we create a chance player move at the root node of the game." + "To simulate this in Gambit, we create a chance player move at the root node of the game.\n", + "\n", + "Note: throughout this tutorial, we'll also apply labels to the various nodes in the game tree to improve code readability." ] }, { "cell_type": "code", - "execution_count": 47, + "execution_count": null, "id": "fe80c64c", "metadata": {}, "outputs": [], @@ -123,7 +124,7 @@ " player=g.players.chance,\n", " actions=[\"King\", \"Queen\"] # By default, chance actions have equal probabilities\n", ")\n", - "g.root.children[0].label = \"King\" # Add labels to improve code readability\n", + "g.root.children[0].label = \"King\" # Add labels to the new child nodes to improve code readability\n", "g.root.children[1].label = \"Queen\"" ] }, From 8c76df5a78477dde48a723fb6bd00d26f3e26a54 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 2 Sep 2025 11:39:39 +0100 Subject: [PATCH 059/240] better explanation --- doc/tutorials/03_poker.ipynb | 234 +++++++++++++++++++---------------- 1 file changed, 128 insertions(+), 106 deletions(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 13c4b998d..849f4ebbd 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -37,7 +37,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 80, "id": "69cbfe81", "metadata": {}, "outputs": [], @@ -55,7 +55,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 81, "id": "ad6a1119", "metadata": {}, "outputs": [], @@ -76,7 +76,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 82, "id": "841f9f74", "metadata": {}, "outputs": [ @@ -114,7 +114,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 83, "id": "fe80c64c", "metadata": {}, "outputs": [], @@ -143,7 +143,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 84, "id": "0e3bb5ef", "metadata": {}, "outputs": [], @@ -179,7 +179,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 85, "id": "dbfa7035", "metadata": {}, "outputs": [], @@ -203,7 +203,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 86, "id": "655cdae3", "metadata": {}, "outputs": [], @@ -231,7 +231,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 87, "id": "87c988be", "metadata": {}, "outputs": [], @@ -252,7 +252,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 88, "id": "29aa60a0", "metadata": {}, "outputs": [], @@ -289,12 +289,12 @@ "source": [ "## Computing Nash equilibria\n", "\n", - "For two-player games, `lcp_solve` can compute Nash equilibria directly using the extensive representation." + "Since our one-card poker game is extensive form and has two players, we can use the `lcp_solve` algorithm in Gambit to compute the Nash equilibria." ] }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 89, "id": "4d92c8d9", "metadata": {}, "outputs": [ @@ -304,7 +304,7 @@ "NashComputationResult(method='lcp', rational=True, use_strategic=False, equilibria=[[[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]], [[Rational(2, 3), Rational(1, 3)]]]], parameters={'stop_after': 0, 'max_depth': 0})" ] }, - "execution_count": 53, + "execution_count": 89, "metadata": {}, "output_type": "execute_result" } @@ -314,9 +314,21 @@ "result" ] }, + { + "cell_type": "markdown", + "id": "e5946077", + "metadata": {}, + "source": [ + "The result of the calculation is returned as a `NashComputationResult` object.\n", + "\n", + "The set of equilibria found is reported in `NashComputationResult.equilibria`; in this case, this is a list of mixed behavior profiles.\n", + "\n", + "For one-card poker, we expect to find a single equilibrium (one mixed behavior profile):" + ] + }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 90, "id": "9967d6f7", "metadata": {}, "outputs": [ @@ -333,22 +345,61 @@ "eqm = result.equilibria[0]" ] }, + { + "cell_type": "code", + "execution_count": 91, + "id": "3293e818", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "pygambit.gambit.MixedBehaviorProfileRational" + ] + }, + "execution_count": 91, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(eqm)" + ] + }, { "cell_type": "markdown", "id": "69f67b5b", "metadata": {}, "source": [ - "The result of the calculation is returned as a `NashComputationResult` object.\n", - "The set of equilibria found is reported in `NashComputationResult.equilibria`; in this case, this is a list of mixed behavior profiles.\n", - "\n", "A mixed behavior profile specifies, for each information set, the probability distribution over actions at that information set.\n", "\n", - "Indexing a `MixedBehaviorProfile` by a player gives a `MixedBehavior`, which specifies probability distributions at each of the player's information sets:" + "Indexing a mixed behaviour profile by a player gives a `MixedBehavior`, which specifies probability distributions at each of the player's information sets:" + ] + }, + { + "cell_type": "code", + "execution_count": 116, + "id": "4cf38264", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "pygambit.gambit.MixedBehavior" + ] + }, + "execution_count": 116, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(eqm[\"Alice\"])" ] }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 92, "id": "85e7fdda", "metadata": {}, "outputs": [ @@ -361,7 +412,7 @@ "[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]]" ] }, - "execution_count": 55, + "execution_count": 92, "metadata": {}, "output_type": "execute_result" } @@ -386,7 +437,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 128, "id": "f45a82b6", "metadata": {}, "outputs": [ @@ -394,47 +445,18 @@ "name": "stdout", "output_type": "stream", "text": [ - "Infoset(player=Player(game=Game(title='One card poker'), label='Alice'), number=0)\n", - "[Rational(1, 1), Rational(0, 1)]\n", - "Infoset(player=Player(game=Game(title='One card poker'), label='Alice'), number=1)\n", - "[Rational(1, 3), Rational(2, 3)]\n" + "At information set 0, Alice plays Raise with probability: 1 and Fold with probability: 0\n", + "At information set 1, Alice plays Raise with probability: 1/3 and Fold with probability: 2/3\n" ] } ], "source": [ "for infoset, mixed_action in eqm[\"Alice\"].mixed_actions():\n", - " print(infoset)\n", - " print(mixed_action)" - ] - }, - { - "cell_type": "markdown", - "id": "2f4819b1", - "metadata": {}, - "source": [ - "We can extract Alice’s probabilities of raising at her respective information sets like this:" - ] - }, - { - "cell_type": "code", - "execution_count": 57, - "id": "0630e146", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{Infoset(player=Player(game=Game(title='One card poker'), label='Alice'), number=0): Rational(1, 1),\n", - " Infoset(player=Player(game=Game(title='One card poker'), label='Alice'), number=1): Rational(1, 3)}" - ] - }, - "execution_count": 57, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "{infoset: mixed_action[\"Raise\"] for infoset, mixed_action in eqm[\"Alice\"].mixed_actions()}" + " print(\n", + " f\"At information set {infoset.number}, \"\n", + " f\"Alice plays Raise with probability: {mixed_action['Raise']}\"\n", + " f\" and Fold with probability: {mixed_action['Fold']}\"\n", + " )" ] }, { @@ -450,7 +472,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 95, "id": "83bbd3e5", "metadata": {}, "outputs": [ @@ -461,7 +483,7 @@ " Infoset(player=Player(game=Game(title='One card poker'), label='Alice'), number=1): Rational(1, 3)}" ] }, - "execution_count": 58, + "execution_count": 95, "metadata": {}, "output_type": "execute_result" } @@ -480,7 +502,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 96, "id": "6bf51b38", "metadata": {}, "outputs": [ @@ -493,7 +515,7 @@ "[[Rational(2, 3), Rational(1, 3)]]" ] }, - "execution_count": 59, + "execution_count": 96, "metadata": {}, "output_type": "execute_result" } @@ -516,7 +538,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 97, "id": "2966e700", "metadata": {}, "outputs": [ @@ -529,7 +551,7 @@ "Rational(2, 3)" ] }, - "execution_count": 60, + "execution_count": 97, "metadata": {}, "output_type": "execute_result" } @@ -548,7 +570,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 98, "id": "f5a7f110", "metadata": {}, "outputs": [ @@ -561,7 +583,7 @@ "Rational(2, 3)" ] }, - "execution_count": 61, + "execution_count": 98, "metadata": {}, "output_type": "execute_result" } @@ -582,7 +604,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 99, "id": "a7d3816d", "metadata": {}, "outputs": [ @@ -592,7 +614,7 @@ "{'Meet': Rational(-1, 1), 'Pass': Rational(-1, 1)}" ] }, - "execution_count": 62, + "execution_count": 99, "metadata": {}, "output_type": "execute_result" } @@ -612,7 +634,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 100, "id": "4a54b20c", "metadata": {}, "outputs": [ @@ -623,7 +645,7 @@ " Node(game=Game(title='One card poker'), label='Raise'): Rational(1, 4)}" ] }, - "execution_count": 63, + "execution_count": 100, "metadata": {}, "output_type": "execute_result" } @@ -644,7 +666,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 101, "id": "b250c1cd", "metadata": {}, "outputs": [ @@ -657,7 +679,7 @@ "Rational(2, 3)" ] }, - "execution_count": 64, + "execution_count": 101, "metadata": {}, "output_type": "execute_result" } @@ -676,7 +698,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 102, "id": "6f01846b", "metadata": {}, "outputs": [ @@ -687,7 +709,7 @@ " Node(game=Game(title='One card poker'), label='Raise'): Rational(1, 1)}" ] }, - "execution_count": 65, + "execution_count": 102, "metadata": {}, "output_type": "execute_result" } @@ -706,7 +728,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 103, "id": "5079d231", "metadata": {}, "outputs": [ @@ -719,7 +741,7 @@ "Rational(1, 3)" ] }, - "execution_count": 66, + "execution_count": 103, "metadata": {}, "output_type": "execute_result" } @@ -730,7 +752,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 104, "id": "c55f2c7a", "metadata": {}, "outputs": [ @@ -743,7 +765,7 @@ "Rational(-1, 3)" ] }, - "execution_count": 67, + "execution_count": 104, "metadata": {}, "output_type": "execute_result" } @@ -770,7 +792,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 105, "id": "d4ecff88", "metadata": {}, "outputs": [ @@ -780,7 +802,7 @@ "['11', '12', '21', '22']" ] }, - "execution_count": 68, + "execution_count": 105, "metadata": {}, "output_type": "execute_result" } @@ -803,7 +825,7 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 106, "id": "24e4b6e8", "metadata": {}, "outputs": [ @@ -813,7 +835,7 @@ "NashComputationResult(method='gnm', rational=False, use_strategic=True, equilibria=[[[0.33333333333866677, 0.6666666666613335, 0.0, 0.0], [0.6666666666559997, 0.3333333333440004]]], parameters={'perturbation': [[1.0, 0.0, 0.0, 0.0], [1.0, 0.0]], 'end_lambda': -10.0, 'steps': 100, 'local_newton_interval': 3, 'local_newton_maxits': 10})" ] }, - "execution_count": 69, + "execution_count": 106, "metadata": {}, "output_type": "execute_result" } @@ -837,17 +859,17 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": 107, "id": "d9ffb4b8", "metadata": {}, "outputs": [], "source": [ - "eqm = result.equilibria[0]" + "eqm1 = result.equilibria[0]" ] }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 108, "id": "aa168d5e", "metadata": {}, "outputs": [ @@ -860,18 +882,18 @@ "[0.33333333333866677, 0.6666666666613335, 0.0, 0.0]" ] }, - "execution_count": 71, + "execution_count": 108, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "eqm[\"Alice\"]" + "eqm1[\"Alice\"]" ] }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 109, "id": "d6f614ab", "metadata": {}, "outputs": [ @@ -884,13 +906,13 @@ "[0.6666666666559997, 0.3333333333440004]" ] }, - "execution_count": 72, + "execution_count": 109, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "eqm[\"Bob\"]" + "eqm1[\"Bob\"]" ] }, { @@ -903,7 +925,7 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 110, "id": "56e2f847", "metadata": {}, "outputs": [ @@ -916,18 +938,18 @@ " Strategy(player=Player(game=Game(title='One card poker'), label='Alice'), label='22'): -1.0}" ] }, - "execution_count": 73, + "execution_count": 110, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "{strategy: eqm.strategy_value(strategy) for strategy in g.players[\"Alice\"].strategies}" + "{strategy: eqm1.strategy_value(strategy) for strategy in g.players[\"Alice\"].strategies}" ] }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 111, "id": "ee25518d", "metadata": {}, "outputs": [ @@ -938,13 +960,13 @@ " Strategy(player=Player(game=Game(title='One card poker'), label='Bob'), label='2'): -0.3333333333386667}" ] }, - "execution_count": 74, + "execution_count": 111, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "{strategy: eqm.strategy_value(strategy) for strategy in g.players[\"Bob\"].strategies}" + "{strategy: eqm1.strategy_value(strategy) for strategy in g.players[\"Bob\"].strategies}" ] }, { @@ -957,7 +979,7 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 112, "id": "ae32b790", "metadata": {}, "outputs": [ @@ -967,18 +989,18 @@ "0.33333333333333354" ] }, - "execution_count": 75, + "execution_count": 112, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "eqm.payoff(\"Alice\")" + "eqm1.payoff(\"Alice\")" ] }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 113, "id": "10f5a92d", "metadata": {}, "outputs": [ @@ -988,13 +1010,13 @@ "-0.33333333333333354" ] }, - "execution_count": 76, + "execution_count": 113, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "eqm.payoff(\"Bob\")" + "eqm1.payoff(\"Bob\")" ] }, { @@ -1007,7 +1029,7 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": 114, "id": "d18a91f0", "metadata": {}, "outputs": [ @@ -1020,18 +1042,18 @@ "[[[1.0, 0.0], [0.3333333333386667, 0.6666666666613333]], [[0.6666666666559997, 0.3333333333440004]]]" ] }, - "execution_count": 77, + "execution_count": 114, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "eqm.as_behavior()" + "eqm1.as_behavior()" ] }, { "cell_type": "code", - "execution_count": 78, + "execution_count": 115, "id": "fd474c66", "metadata": {}, "outputs": [ @@ -1044,13 +1066,13 @@ "[[0.3333333333386667, 0.6666666666613333, 0.0, 0.0], [0.6666666666559997, 0.3333333333440004]]" ] }, - "execution_count": 78, + "execution_count": 115, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "eqm.as_behavior().as_strategy()" + "eqm1.as_behavior().as_strategy()" ] } ], From faa1d81a56c95b21343b714e8fd7127d914f1990 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 2 Sep 2025 11:47:02 +0100 Subject: [PATCH 060/240] better explanation --- doc/tutorials/03_poker.ipynb | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 849f4ebbd..70a784318 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -467,29 +467,32 @@ "In larger games, labels may not always be the most convenient way to refer to specific actions.\n", "We can also index profiles directly with `Action` objects.\n", "\n", - "So an alternative way to extract the probabilities of playing “Raise” would be by iterating Alice’s list of actions:" + "So an alternative way to extract the probabilities, would be by iterating Alice’s list of actions:" ] }, { "cell_type": "code", - "execution_count": 95, + "execution_count": 131, "id": "83bbd3e5", "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "{Infoset(player=Player(game=Game(title='One card poker'), label='Alice'), number=0): Rational(1, 1),\n", - " Infoset(player=Player(game=Game(title='One card poker'), label='Alice'), number=1): Rational(1, 3)}" - ] - }, - "execution_count": 95, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "At information set 0, Alice plays Raise with probability: 1\n", + "At information set 0, Alice plays Fold with probability: 0\n", + "At information set 1, Alice plays Raise with probability: 1/3\n", + "At information set 1, Alice plays Fold with probability: 2/3\n" + ] } ], "source": [ - "{action.infoset: eqm[action] for action in g.players[\"Alice\"].actions if action.label == \"Raise\"}" + "for action in g.players[\"Alice\"].actions:\n", + " print(\n", + " f\"At information set {action.infoset.number}, \"\n", + " f\"Alice plays {action.label} with probability: {eqm[action]}\"\n", + " )" ] }, { From 5841802d409249863d1d6d23b88a1dac5806995b Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 2 Sep 2025 11:49:17 +0100 Subject: [PATCH 061/240] explain better --- doc/tutorials/03_poker.ipynb | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 70a784318..9b561af66 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -464,10 +464,7 @@ "id": "9eeae046", "metadata": {}, "source": [ - "In larger games, labels may not always be the most convenient way to refer to specific actions.\n", - "We can also index profiles directly with `Action` objects.\n", - "\n", - "So an alternative way to extract the probabilities, would be by iterating Alice’s list of actions:" + "We can alternatively iterate through each of a player's actions like so:" ] }, { From 0dcd95f8153d814dfcd96c7ebbc2ddd5a02be454 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 2 Sep 2025 14:14:54 +0100 Subject: [PATCH 062/240] explain better --- doc/tutorials/03_poker.ipynb | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 9b561af66..5a3dac0a6 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -597,30 +597,32 @@ "id": "db19411b", "metadata": {}, "source": [ - "Because this is an equilibrium, the fact that Bob randomizes at his information set must mean he is indifferent between the two actions at his information set.\n", - " \n", - "`MixedBehaviorProfile.action_value` returns the expected payoff of taking an action, conditional on reaching that action's information set:" + "Because this is an equilibrium, Bob is indifferent between the two actions at his information set, meaning he has no reason to prefer one action over the other, given Alice's expected strategy.\n", + "\n", + "`MixedBehaviorProfileRational.action_value` returns the expected payoff of taking an action, conditional on reaching that action's information set:" ] }, { "cell_type": "code", - "execution_count": 99, + "execution_count": null, "id": "a7d3816d", "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "{'Meet': Rational(-1, 1), 'Pass': Rational(-1, 1)}" - ] - }, - "execution_count": 99, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "When Bob plays Meet he can expect the payoff: -1\n", + "When Bob plays Pass he can expect the payoff: -1\n" + ] } ], "source": [ - "{action.label: eqm.action_value(action) for action in g.players[\"Bob\"].infosets[0].actions}" + "# Remember that Bob has a single information set\n", + "for action in g.players[\"Bob\"].infosets[0].actions:\n", + " print(\n", + " f\"When Bob plays {action.label} he can expect the payoff: {eqm.action_value(action)}\"\n", + " )" ] }, { From 3a527b0a8be39aa7f2c3bb2de2349833cc53bdda Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 2 Sep 2025 14:23:08 +0100 Subject: [PATCH 063/240] explain belief --- doc/tutorials/03_poker.ipynb | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 5a3dac0a6..0725ecfc5 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -631,29 +631,32 @@ "metadata": {}, "source": [ "Bob's indifference between his actions arises because of his beliefs given Alice's strategy.\n", - "`MixedBehaviorProfile.belief` returns the probability of reaching a node, conditional on its information set being reached:" + "\n", + "`MixedBehaviorProfile.belief` returns the probability of reaching a node, conditional on its information set being reached.\n", + "\n", + "Recall that the two nodes in Bob's only information set are `g.root.children[\"King\"].children[\"Raise\"]` and `g.root.children[\"Queen\"].children[\"Raise\"]`):" ] }, { "cell_type": "code", - "execution_count": 100, + "execution_count": 136, "id": "4a54b20c", "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "{Node(game=Game(title='One card poker'), label='Raise'): Rational(3, 4),\n", - " Node(game=Game(title='One card poker'), label='Raise'): Rational(1, 4)}" - ] - }, - "execution_count": 100, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "Bob's belief in reaching the King -> Raise node is: 3/4\n", + "Bob's belief in reaching the Queen -> Raise node is: 1/4\n" + ] } ], "source": [ - "{node: eqm.belief(node) for node in g.players[\"Bob\"].infosets[0].members}" + "for node in g.players[\"Bob\"].infosets[0].members:\n", + " print(\n", + " f\"Bob's belief in reaching the {node.parent.label} -> {node.label} node is: {eqm.belief(node)}\"\n", + " )" ] }, { From 15ec06974c7f88763299b63ec0f346c62dd7c3c3 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 2 Sep 2025 14:40:35 +0100 Subject: [PATCH 064/240] explain realiz_prob and node_value --- doc/tutorials/03_poker.ipynb | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 0725ecfc5..22bb39dfc 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -632,7 +632,7 @@ "source": [ "Bob's indifference between his actions arises because of his beliefs given Alice's strategy.\n", "\n", - "`MixedBehaviorProfile.belief` returns the probability of reaching a node, conditional on its information set being reached.\n", + "`MixedBehaviorProfileRational.belief` returns the probability of reaching a node, conditional on its information set being reached.\n", "\n", "Recall that the two nodes in Bob's only information set are `g.root.children[\"King\"].children[\"Raise\"]` and `g.root.children[\"Queen\"].children[\"Raise\"]`):" ] @@ -664,9 +664,9 @@ "id": "351bb3ce", "metadata": {}, "source": [ - "Bob believes that, conditional on Alice raising, there's a 3/4 chance that she has the King;\n", - "therefore, the expected payoff to meeting is in fact -1 as computed.\n", - "`MixedBehaviorProfile.infoset_prob` returns the probability that an information set is reached:" + "Bob believes that, conditional on Alice raising, there's a 3/4 chance that she has the King; therefore, the expected payoff to meeting is in fact -1 as computed.\n", + "\n", + "`MixedBehaviorProfileRational.infoset_prob` returns the probability that an information set is reached:" ] }, { @@ -703,24 +703,25 @@ }, { "cell_type": "code", - "execution_count": 102, + "execution_count": 138, "id": "6f01846b", "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "{Node(game=Game(title='One card poker'), label='Raise'): Rational(-5, 3),\n", - " Node(game=Game(title='One card poker'), label='Raise'): Rational(1, 1)}" - ] - }, - "execution_count": 102, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "The probability that the node King -> Raise is reached is: 1/2. Bob's expected payoff conditional on reaching this node is: -5/3\n", + "The probability that the node Queen -> Raise is reached is: 1/6. Bob's expected payoff conditional on reaching this node is: 1\n" + ] } ], "source": [ - "{node: eqm.node_value(\"Bob\", node) for node in g.players[\"Bob\"].infosets[0].members}" + "for node in g.players[\"Bob\"].infosets[0].members:\n", + " print(\n", + " f\"The probability that the node {node.parent.label} -> {node.label} is reached is: {eqm.realiz_prob(node)}. \",\n", + " f\"Bob's expected payoff conditional on reaching this node is: {eqm.node_value(\"Bob\", node)}\"\n", + " )" ] }, { From 767010ab09c1d7a26c8a3dbcc52dde85746bf376 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 2 Sep 2025 14:48:44 +0100 Subject: [PATCH 065/240] rename var --- doc/tutorials/03_poker.ipynb | 61 ++++++++++++++++++++++++------------ 1 file changed, 41 insertions(+), 20 deletions(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 22bb39dfc..444d06090 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -858,24 +858,45 @@ "source": [ "`gnm_solve` can be applied to any game with any number of players, and uses a path-following process in floating-point arithmetic, so it returns profiles with probabilities expressed as floating-point numbers.\n", "\n", - "This method operates on the strategic representation of the game, so the returned results are of type `MixedStrategyProfile`, and specify, for each player, a probability distribution over that player's strategies.\n", + "This method operates on the strategic representation of the game, so the returned results are of type `MixedStrategyProfileDouble`, and specify, for each player, a probability distribution over that player's strategies.\n", "\n", - "Indexing a `MixedStrategyProfile` by a player gives the probability distribution over that player's strategies only." + "Indexing a `MixedStrategyProfileDouble` by a player gives the probability distribution over that player's strategies only." ] }, { "cell_type": "code", - "execution_count": 107, + "execution_count": null, "id": "d9ffb4b8", "metadata": {}, "outputs": [], "source": [ - "eqm1 = result.equilibria[0]" + "gnm_eqm = result.equilibria[0]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "160e6cd4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "pygambit.gambit.MixedStrategyProfileDouble" + ] + }, + "execution_count": 139, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(gnm_eqm)" ] }, { "cell_type": "code", - "execution_count": 108, + "execution_count": null, "id": "aa168d5e", "metadata": {}, "outputs": [ @@ -894,12 +915,12 @@ } ], "source": [ - "eqm1[\"Alice\"]" + "gnm_eqm[\"Alice\"]" ] }, { "cell_type": "code", - "execution_count": 109, + "execution_count": null, "id": "d6f614ab", "metadata": {}, "outputs": [ @@ -918,7 +939,7 @@ } ], "source": [ - "eqm1[\"Bob\"]" + "gnm_eqm[\"Bob\"]" ] }, { @@ -931,7 +952,7 @@ }, { "cell_type": "code", - "execution_count": 110, + "execution_count": null, "id": "56e2f847", "metadata": {}, "outputs": [ @@ -950,12 +971,12 @@ } ], "source": [ - "{strategy: eqm1.strategy_value(strategy) for strategy in g.players[\"Alice\"].strategies}" + "{strategy: gnm_eqm.strategy_value(strategy) for strategy in g.players[\"Alice\"].strategies}" ] }, { "cell_type": "code", - "execution_count": 111, + "execution_count": null, "id": "ee25518d", "metadata": {}, "outputs": [ @@ -972,7 +993,7 @@ } ], "source": [ - "{strategy: eqm1.strategy_value(strategy) for strategy in g.players[\"Bob\"].strategies}" + "{strategy: gnm_eqm.strategy_value(strategy) for strategy in g.players[\"Bob\"].strategies}" ] }, { @@ -985,7 +1006,7 @@ }, { "cell_type": "code", - "execution_count": 112, + "execution_count": null, "id": "ae32b790", "metadata": {}, "outputs": [ @@ -1001,12 +1022,12 @@ } ], "source": [ - "eqm1.payoff(\"Alice\")" + "gnm_eqm.payoff(\"Alice\")" ] }, { "cell_type": "code", - "execution_count": 113, + "execution_count": null, "id": "10f5a92d", "metadata": {}, "outputs": [ @@ -1022,7 +1043,7 @@ } ], "source": [ - "eqm1.payoff(\"Bob\")" + "gnm_eqm.payoff(\"Bob\")" ] }, { @@ -1035,7 +1056,7 @@ }, { "cell_type": "code", - "execution_count": 114, + "execution_count": null, "id": "d18a91f0", "metadata": {}, "outputs": [ @@ -1054,12 +1075,12 @@ } ], "source": [ - "eqm1.as_behavior()" + "gnm_eqm.as_behavior()" ] }, { "cell_type": "code", - "execution_count": 115, + "execution_count": null, "id": "fd474c66", "metadata": {}, "outputs": [ @@ -1078,7 +1099,7 @@ } ], "source": [ - "eqm1.as_behavior().as_strategy()" + "gnm_eqm.as_behavior().as_strategy()" ] } ], From 118d3536cacb7df8bd66e2ba9be4999261e54eef Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 2 Sep 2025 15:10:33 +0100 Subject: [PATCH 066/240] explain strategy payoff better --- doc/tutorials/03_poker.ipynb | 131 +++++++---------------------------- 1 file changed, 24 insertions(+), 107 deletions(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 444d06090..0fdcd6e64 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -825,6 +825,7 @@ "In the strategic form of this game, Alice has four strategies.\n", "\n", "The generated strategy labels list the action numbers taken at each information set.\n", + "For example, label '11' refers to the strategy gets dealt the King, then raises.\n", "\n", "We can therefore apply a method which operates on a strategic game to any game with an extensive representation." ] @@ -858,9 +859,7 @@ "source": [ "`gnm_solve` can be applied to any game with any number of players, and uses a path-following process in floating-point arithmetic, so it returns profiles with probabilities expressed as floating-point numbers.\n", "\n", - "This method operates on the strategic representation of the game, so the returned results are of type `MixedStrategyProfileDouble`, and specify, for each player, a probability distribution over that player's strategies.\n", - "\n", - "Indexing a `MixedStrategyProfileDouble` by a player gives the probability distribution over that player's strategies only." + "This method operates on the strategic representation of the game, so the returned results are of type `MixedStrategyProfileDouble`." ] }, { @@ -870,130 +869,48 @@ "metadata": {}, "outputs": [], "source": [ - "gnm_eqm = result.equilibria[0]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "160e6cd4", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "pygambit.gambit.MixedStrategyProfileDouble" - ] - }, - "execution_count": 139, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ + "gnm_eqm = result.equilibria[0]\n", "type(gnm_eqm)" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "aa168d5e", - "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "[0.33333333333866677, 0.6666666666613335, 0.0, 0.0]" - ], - "text/plain": [ - "[0.33333333333866677, 0.6666666666613335, 0.0, 0.0]" - ] - }, - "execution_count": 108, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "gnm_eqm[\"Alice\"]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d6f614ab", - "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "[0.6666666666559997, 0.3333333333440004]" - ], - "text/plain": [ - "[0.6666666666559997, 0.3333333333440004]" - ] - }, - "execution_count": 109, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "gnm_eqm[\"Bob\"]" - ] - }, { "cell_type": "markdown", "id": "102d22c2", "metadata": {}, "source": [ + "Indexing a `MixedStrategyProfileDouble` by a player gives the probability distribution over that player's strategies only.\n", + "\n", "The expected payoff to a strategy is provided by `MixedStrategyProfile.strategy_value`:" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 150, "id": "56e2f847", "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "{Strategy(player=Player(game=Game(title='One card poker'), label='Alice'), label='11'): 0.33333333334400045,\n", - " Strategy(player=Player(game=Game(title='One card poker'), label='Alice'), label='12'): 0.33333333332799997,\n", - " Strategy(player=Player(game=Game(title='One card poker'), label='Alice'), label='21'): -0.9999999999839995,\n", - " Strategy(player=Player(game=Game(title='One card poker'), label='Alice'), label='22'): -1.0}" - ] - }, - "execution_count": 110, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "{strategy: gnm_eqm.strategy_value(strategy) for strategy in g.players[\"Alice\"].strategies}" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ee25518d", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "{Strategy(player=Player(game=Game(title='One card poker'), label='Bob'), label='1'): -0.33333333333066656,\n", - " Strategy(player=Player(game=Game(title='One card poker'), label='Bob'), label='2'): -0.3333333333386667}" - ] - }, - "execution_count": 111, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "Alice's expected payoff playing strategy: 11: 0.3333\n", + "Alice's expected payoff playing strategy: 12: 0.3333\n", + "Alice's expected payoff playing strategy: 21: -1.0000\n", + "Alice's expected payoff playing strategy: 22: -1.0000\n", + "\n", + "Bob's expected payoff playing strategy: 1: -0.3333\n", + "Bob's expected payoff playing strategy: 2: -0.3333\n", + "\n" + ] } ], "source": [ - "{strategy: gnm_eqm.strategy_value(strategy) for strategy in g.players[\"Bob\"].strategies}" + "for player in g.players:\n", + " for strategy in player.strategies:\n", + " print(\n", + " f\"{player.label}'s expected payoff playing strategy: {strategy.label}: {gnm_eqm.strategy_value(strategy):.4f}\"\n", + " )\n", + " print()" ] }, { From a4f6bf97cccbb1fc02a65856f451a58ce50016be Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 2 Sep 2025 15:33:12 +0100 Subject: [PATCH 067/240] explain difference between strategy and behaviour profiles --- doc/tutorials/03_poker.ipynb | 184 +++++++++++++++-------------------- 1 file changed, 79 insertions(+), 105 deletions(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 0fdcd6e64..2d0735ae1 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -37,7 +37,7 @@ }, { "cell_type": "code", - "execution_count": 80, + "execution_count": 169, "id": "69cbfe81", "metadata": {}, "outputs": [], @@ -55,7 +55,7 @@ }, { "cell_type": "code", - "execution_count": 81, + "execution_count": 170, "id": "ad6a1119", "metadata": {}, "outputs": [], @@ -76,7 +76,7 @@ }, { "cell_type": "code", - "execution_count": 82, + "execution_count": 171, "id": "841f9f74", "metadata": {}, "outputs": [ @@ -114,7 +114,7 @@ }, { "cell_type": "code", - "execution_count": 83, + "execution_count": 172, "id": "fe80c64c", "metadata": {}, "outputs": [], @@ -143,7 +143,7 @@ }, { "cell_type": "code", - "execution_count": 84, + "execution_count": 173, "id": "0e3bb5ef", "metadata": {}, "outputs": [], @@ -179,7 +179,7 @@ }, { "cell_type": "code", - "execution_count": 85, + "execution_count": 174, "id": "dbfa7035", "metadata": {}, "outputs": [], @@ -203,7 +203,7 @@ }, { "cell_type": "code", - "execution_count": 86, + "execution_count": 175, "id": "655cdae3", "metadata": {}, "outputs": [], @@ -231,7 +231,7 @@ }, { "cell_type": "code", - "execution_count": 87, + "execution_count": 176, "id": "87c988be", "metadata": {}, "outputs": [], @@ -252,7 +252,7 @@ }, { "cell_type": "code", - "execution_count": 88, + "execution_count": 177, "id": "29aa60a0", "metadata": {}, "outputs": [], @@ -294,7 +294,7 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": 178, "id": "4d92c8d9", "metadata": {}, "outputs": [ @@ -304,7 +304,7 @@ "NashComputationResult(method='lcp', rational=True, use_strategic=False, equilibria=[[[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]], [[Rational(2, 3), Rational(1, 3)]]]], parameters={'stop_after': 0, 'max_depth': 0})" ] }, - "execution_count": 89, + "execution_count": 178, "metadata": {}, "output_type": "execute_result" } @@ -328,7 +328,7 @@ }, { "cell_type": "code", - "execution_count": 90, + "execution_count": 179, "id": "9967d6f7", "metadata": {}, "outputs": [ @@ -347,7 +347,7 @@ }, { "cell_type": "code", - "execution_count": 91, + "execution_count": 180, "id": "3293e818", "metadata": {}, "outputs": [ @@ -357,7 +357,7 @@ "pygambit.gambit.MixedBehaviorProfileRational" ] }, - "execution_count": 91, + "execution_count": 180, "metadata": {}, "output_type": "execute_result" } @@ -378,7 +378,7 @@ }, { "cell_type": "code", - "execution_count": 116, + "execution_count": 181, "id": "4cf38264", "metadata": {}, "outputs": [ @@ -388,7 +388,7 @@ "pygambit.gambit.MixedBehavior" ] }, - "execution_count": 116, + "execution_count": 181, "metadata": {}, "output_type": "execute_result" } @@ -399,7 +399,7 @@ }, { "cell_type": "code", - "execution_count": 92, + "execution_count": 182, "id": "85e7fdda", "metadata": {}, "outputs": [ @@ -412,7 +412,7 @@ "[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]]" ] }, - "execution_count": 92, + "execution_count": 182, "metadata": {}, "output_type": "execute_result" } @@ -437,7 +437,7 @@ }, { "cell_type": "code", - "execution_count": 128, + "execution_count": 183, "id": "f45a82b6", "metadata": {}, "outputs": [ @@ -469,7 +469,7 @@ }, { "cell_type": "code", - "execution_count": 131, + "execution_count": 184, "id": "83bbd3e5", "metadata": {}, "outputs": [ @@ -502,7 +502,7 @@ }, { "cell_type": "code", - "execution_count": 96, + "execution_count": 185, "id": "6bf51b38", "metadata": {}, "outputs": [ @@ -515,7 +515,7 @@ "[[Rational(2, 3), Rational(1, 3)]]" ] }, - "execution_count": 96, + "execution_count": 185, "metadata": {}, "output_type": "execute_result" } @@ -538,7 +538,7 @@ }, { "cell_type": "code", - "execution_count": 97, + "execution_count": 186, "id": "2966e700", "metadata": {}, "outputs": [ @@ -551,7 +551,7 @@ "Rational(2, 3)" ] }, - "execution_count": 97, + "execution_count": 186, "metadata": {}, "output_type": "execute_result" } @@ -570,7 +570,7 @@ }, { "cell_type": "code", - "execution_count": 98, + "execution_count": 187, "id": "f5a7f110", "metadata": {}, "outputs": [ @@ -583,7 +583,7 @@ "Rational(2, 3)" ] }, - "execution_count": 98, + "execution_count": 187, "metadata": {}, "output_type": "execute_result" } @@ -604,7 +604,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 188, "id": "a7d3816d", "metadata": {}, "outputs": [ @@ -639,7 +639,7 @@ }, { "cell_type": "code", - "execution_count": 136, + "execution_count": 189, "id": "4a54b20c", "metadata": {}, "outputs": [ @@ -671,7 +671,7 @@ }, { "cell_type": "code", - "execution_count": 101, + "execution_count": 190, "id": "b250c1cd", "metadata": {}, "outputs": [ @@ -684,7 +684,7 @@ "Rational(2, 3)" ] }, - "execution_count": 101, + "execution_count": 190, "metadata": {}, "output_type": "execute_result" } @@ -703,7 +703,7 @@ }, { "cell_type": "code", - "execution_count": 138, + "execution_count": 191, "id": "6f01846b", "metadata": {}, "outputs": [ @@ -734,7 +734,7 @@ }, { "cell_type": "code", - "execution_count": 103, + "execution_count": 192, "id": "5079d231", "metadata": {}, "outputs": [ @@ -747,7 +747,7 @@ "Rational(1, 3)" ] }, - "execution_count": 103, + "execution_count": 192, "metadata": {}, "output_type": "execute_result" } @@ -758,7 +758,7 @@ }, { "cell_type": "code", - "execution_count": 104, + "execution_count": 193, "id": "c55f2c7a", "metadata": {}, "outputs": [ @@ -771,7 +771,7 @@ "Rational(-1, 3)" ] }, - "execution_count": 104, + "execution_count": 193, "metadata": {}, "output_type": "execute_result" } @@ -798,7 +798,7 @@ }, { "cell_type": "code", - "execution_count": 105, + "execution_count": 194, "id": "d4ecff88", "metadata": {}, "outputs": [ @@ -808,7 +808,7 @@ "['11', '12', '21', '22']" ] }, - "execution_count": 105, + "execution_count": 194, "metadata": {}, "output_type": "execute_result" } @@ -832,7 +832,7 @@ }, { "cell_type": "code", - "execution_count": 106, + "execution_count": 195, "id": "24e4b6e8", "metadata": {}, "outputs": [ @@ -842,7 +842,7 @@ "NashComputationResult(method='gnm', rational=False, use_strategic=True, equilibria=[[[0.33333333333866677, 0.6666666666613335, 0.0, 0.0], [0.6666666666559997, 0.3333333333440004]]], parameters={'perturbation': [[1.0, 0.0, 0.0, 0.0], [1.0, 0.0]], 'end_lambda': -10.0, 'steps': 100, 'local_newton_interval': 3, 'local_newton_maxits': 10})" ] }, - "execution_count": 106, + "execution_count": 195, "metadata": {}, "output_type": "execute_result" } @@ -864,10 +864,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 196, "id": "d9ffb4b8", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "pygambit.gambit.MixedStrategyProfileDouble" + ] + }, + "execution_count": 196, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "gnm_eqm = result.equilibria[0]\n", "type(gnm_eqm)" @@ -880,12 +891,12 @@ "source": [ "Indexing a `MixedStrategyProfileDouble` by a player gives the probability distribution over that player's strategies only.\n", "\n", - "The expected payoff to a strategy is provided by `MixedStrategyProfile.strategy_value`:" + "The expected payoff to a strategy is provided by `MixedStrategyProfile.strategy_value` and the overall expected payoff to a player is returned by `MixedStrategyProfile.payoff`:" ] }, { "cell_type": "code", - "execution_count": 150, + "execution_count": 197, "id": "56e2f847", "metadata": {}, "outputs": [ @@ -893,87 +904,50 @@ "name": "stdout", "output_type": "stream", "text": [ - "Alice's expected payoff playing strategy: 11: 0.3333\n", - "Alice's expected payoff playing strategy: 12: 0.3333\n", - "Alice's expected payoff playing strategy: 21: -1.0000\n", - "Alice's expected payoff playing strategy: 22: -1.0000\n", + "Alice's expected payoffs playing:\n", + "Strategy 11: 0.3333\n", + "Strategy 12: 0.3333\n", + "Strategy 21: -1.0000\n", + "Strategy 22: -1.0000\n", + "Alice's overall expected payoff: 0.3333\n", "\n", - "Bob's expected payoff playing strategy: 1: -0.3333\n", - "Bob's expected payoff playing strategy: 2: -0.3333\n", + "Bob's expected payoffs playing:\n", + "Strategy 1: -0.3333\n", + "Strategy 2: -0.3333\n", + "Bob's overall expected payoff: -0.3333\n", "\n" ] } ], "source": [ "for player in g.players:\n", + " print(\n", + " f\"{player.label}'s expected payoffs playing:\"\n", + " )\n", " for strategy in player.strategies:\n", " print(\n", - " f\"{player.label}'s expected payoff playing strategy: {strategy.label}: {gnm_eqm.strategy_value(strategy):.4f}\"\n", + " f\"Strategy {strategy.label}: {gnm_eqm.strategy_value(strategy):.4f}\"\n", " )\n", + " print(\n", + " f\"{player.label}'s overall expected payoff: {gnm_eqm.payoff(player):.4f}\"\n", + " )\n", " print()" ] }, - { - "cell_type": "markdown", - "id": "e8a637a5", - "metadata": {}, - "source": [ - "The overall expected payoff to a player is returned by `MixedStrategyProfile.payoff`:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "ae32b790", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0.33333333333333354" - ] - }, - "execution_count": 112, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "gnm_eqm.payoff(\"Alice\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "10f5a92d", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "-0.33333333333333354" - ] - }, - "execution_count": 113, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "gnm_eqm.payoff(\"Bob\")" - ] - }, { "cell_type": "markdown", "id": "874be231", "metadata": {}, "source": [ - "When a game has an extensive representation, we can convert freely between `MixedStrategyProfile` and the corresponding `MixedBehaviorProfile` representation of the same strategies using `MixedStrategyProfile.as_behavior` and `MixedBehaviorProfile.as_strategy`." + "When a game has an extensive representation, we can convert freely between a mixed strategy profile and the corresponding mixed behaviour profile representation of the same strategies using `MixedStrategyProfile.as_behavior` and `MixedBehaviorProfile.as_strategy`.\n", + "\n", + "- A mixed **strategy** profile maps each strategy in a game to the corresponding probability with which that strategy is played.\n", + "- A mixed **behaviour** profile maps each action at each information set in a game to the corresponding probability with which the action is played, conditional on that information set being reached." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 198, "id": "d18a91f0", "metadata": {}, "outputs": [ @@ -986,7 +960,7 @@ "[[[1.0, 0.0], [0.3333333333386667, 0.6666666666613333]], [[0.6666666666559997, 0.3333333333440004]]]" ] }, - "execution_count": 114, + "execution_count": 198, "metadata": {}, "output_type": "execute_result" } @@ -997,7 +971,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 199, "id": "fd474c66", "metadata": {}, "outputs": [ @@ -1010,7 +984,7 @@ "[[0.3333333333386667, 0.6666666666613333, 0.0, 0.0], [0.6666666666559997, 0.3333333333440004]]" ] }, - "execution_count": 115, + "execution_count": 199, "metadata": {}, "output_type": "execute_result" } From cc35e51aa98319aff8d3b37d86bf83be633e0385 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 2 Sep 2025 15:46:14 +0100 Subject: [PATCH 068/240] explain strategy and profile classes and subclasses better --- doc/tutorials/03_poker.ipynb | 107 ++++++++++++++++++----------------- 1 file changed, 54 insertions(+), 53 deletions(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 2d0735ae1..880c23f56 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -37,7 +37,7 @@ }, { "cell_type": "code", - "execution_count": 169, + "execution_count": 200, "id": "69cbfe81", "metadata": {}, "outputs": [], @@ -55,7 +55,7 @@ }, { "cell_type": "code", - "execution_count": 170, + "execution_count": 201, "id": "ad6a1119", "metadata": {}, "outputs": [], @@ -76,7 +76,7 @@ }, { "cell_type": "code", - "execution_count": 171, + "execution_count": 202, "id": "841f9f74", "metadata": {}, "outputs": [ @@ -114,7 +114,7 @@ }, { "cell_type": "code", - "execution_count": 172, + "execution_count": 203, "id": "fe80c64c", "metadata": {}, "outputs": [], @@ -143,7 +143,7 @@ }, { "cell_type": "code", - "execution_count": 173, + "execution_count": 204, "id": "0e3bb5ef", "metadata": {}, "outputs": [], @@ -179,7 +179,7 @@ }, { "cell_type": "code", - "execution_count": 174, + "execution_count": 205, "id": "dbfa7035", "metadata": {}, "outputs": [], @@ -203,7 +203,7 @@ }, { "cell_type": "code", - "execution_count": 175, + "execution_count": 206, "id": "655cdae3", "metadata": {}, "outputs": [], @@ -231,7 +231,7 @@ }, { "cell_type": "code", - "execution_count": 176, + "execution_count": 207, "id": "87c988be", "metadata": {}, "outputs": [], @@ -252,7 +252,7 @@ }, { "cell_type": "code", - "execution_count": 177, + "execution_count": 208, "id": "29aa60a0", "metadata": {}, "outputs": [], @@ -294,7 +294,7 @@ }, { "cell_type": "code", - "execution_count": 178, + "execution_count": 209, "id": "4d92c8d9", "metadata": {}, "outputs": [ @@ -304,7 +304,7 @@ "NashComputationResult(method='lcp', rational=True, use_strategic=False, equilibria=[[[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]], [[Rational(2, 3), Rational(1, 3)]]]], parameters={'stop_after': 0, 'max_depth': 0})" ] }, - "execution_count": 178, + "execution_count": 209, "metadata": {}, "output_type": "execute_result" } @@ -321,14 +321,14 @@ "source": [ "The result of the calculation is returned as a `NashComputationResult` object.\n", "\n", - "The set of equilibria found is reported in `NashComputationResult.equilibria`; in this case, this is a list of mixed behavior profiles.\n", + "The set of equilibria found is reported in `NashComputationResult.equilibria`; in this case, this is a list of `MixedBehaviorProfile`'s.\n", "\n", - "For one-card poker, we expect to find a single equilibrium (one mixed behavior profile):" + "For one-card poker, we expect to find a single equilibrium (one `MixedBehaviorProfile`):" ] }, { "cell_type": "code", - "execution_count": 179, + "execution_count": 210, "id": "9967d6f7", "metadata": {}, "outputs": [ @@ -347,7 +347,7 @@ }, { "cell_type": "code", - "execution_count": 180, + "execution_count": 211, "id": "3293e818", "metadata": {}, "outputs": [ @@ -357,12 +357,13 @@ "pygambit.gambit.MixedBehaviorProfileRational" ] }, - "execution_count": 180, + "execution_count": 211, "metadata": {}, "output_type": "execute_result" } ], "source": [ + "# Note: MixedBehaviorProfileRational is a subclass of MixedBehaviorProfile that uses rational numbers for probabilities.\n", "type(eqm)" ] }, @@ -378,7 +379,7 @@ }, { "cell_type": "code", - "execution_count": 181, + "execution_count": 212, "id": "4cf38264", "metadata": {}, "outputs": [ @@ -388,7 +389,7 @@ "pygambit.gambit.MixedBehavior" ] }, - "execution_count": 181, + "execution_count": 212, "metadata": {}, "output_type": "execute_result" } @@ -399,7 +400,7 @@ }, { "cell_type": "code", - "execution_count": 182, + "execution_count": 213, "id": "85e7fdda", "metadata": {}, "outputs": [ @@ -412,7 +413,7 @@ "[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]]" ] }, - "execution_count": 182, + "execution_count": 213, "metadata": {}, "output_type": "execute_result" } @@ -437,7 +438,7 @@ }, { "cell_type": "code", - "execution_count": 183, + "execution_count": 214, "id": "f45a82b6", "metadata": {}, "outputs": [ @@ -469,7 +470,7 @@ }, { "cell_type": "code", - "execution_count": 184, + "execution_count": 215, "id": "83bbd3e5", "metadata": {}, "outputs": [ @@ -502,7 +503,7 @@ }, { "cell_type": "code", - "execution_count": 185, + "execution_count": 216, "id": "6bf51b38", "metadata": {}, "outputs": [ @@ -515,7 +516,7 @@ "[[Rational(2, 3), Rational(1, 3)]]" ] }, - "execution_count": 185, + "execution_count": 216, "metadata": {}, "output_type": "execute_result" } @@ -538,7 +539,7 @@ }, { "cell_type": "code", - "execution_count": 186, + "execution_count": 217, "id": "2966e700", "metadata": {}, "outputs": [ @@ -551,7 +552,7 @@ "Rational(2, 3)" ] }, - "execution_count": 186, + "execution_count": 217, "metadata": {}, "output_type": "execute_result" } @@ -570,7 +571,7 @@ }, { "cell_type": "code", - "execution_count": 187, + "execution_count": 218, "id": "f5a7f110", "metadata": {}, "outputs": [ @@ -583,7 +584,7 @@ "Rational(2, 3)" ] }, - "execution_count": 187, + "execution_count": 218, "metadata": {}, "output_type": "execute_result" } @@ -599,12 +600,12 @@ "source": [ "Because this is an equilibrium, Bob is indifferent between the two actions at his information set, meaning he has no reason to prefer one action over the other, given Alice's expected strategy.\n", "\n", - "`MixedBehaviorProfileRational.action_value` returns the expected payoff of taking an action, conditional on reaching that action's information set:" + "`MixedBehaviorProfile.action_value` returns the expected payoff of taking an action, conditional on reaching that action's information set:" ] }, { "cell_type": "code", - "execution_count": 188, + "execution_count": 219, "id": "a7d3816d", "metadata": {}, "outputs": [ @@ -632,14 +633,14 @@ "source": [ "Bob's indifference between his actions arises because of his beliefs given Alice's strategy.\n", "\n", - "`MixedBehaviorProfileRational.belief` returns the probability of reaching a node, conditional on its information set being reached.\n", + "`MixedBehaviorProfile.belief` returns the probability of reaching a node, conditional on its information set being reached.\n", "\n", "Recall that the two nodes in Bob's only information set are `g.root.children[\"King\"].children[\"Raise\"]` and `g.root.children[\"Queen\"].children[\"Raise\"]`):" ] }, { "cell_type": "code", - "execution_count": 189, + "execution_count": 220, "id": "4a54b20c", "metadata": {}, "outputs": [ @@ -666,12 +667,12 @@ "source": [ "Bob believes that, conditional on Alice raising, there's a 3/4 chance that she has the King; therefore, the expected payoff to meeting is in fact -1 as computed.\n", "\n", - "`MixedBehaviorProfileRational.infoset_prob` returns the probability that an information set is reached:" + "`MixedBehaviorProfile.infoset_prob` returns the probability that an information set is reached:" ] }, { "cell_type": "code", - "execution_count": 190, + "execution_count": 221, "id": "b250c1cd", "metadata": {}, "outputs": [ @@ -684,7 +685,7 @@ "Rational(2, 3)" ] }, - "execution_count": 190, + "execution_count": 221, "metadata": {}, "output_type": "execute_result" } @@ -703,7 +704,7 @@ }, { "cell_type": "code", - "execution_count": 191, + "execution_count": 222, "id": "6f01846b", "metadata": {}, "outputs": [ @@ -734,7 +735,7 @@ }, { "cell_type": "code", - "execution_count": 192, + "execution_count": 223, "id": "5079d231", "metadata": {}, "outputs": [ @@ -747,7 +748,7 @@ "Rational(1, 3)" ] }, - "execution_count": 192, + "execution_count": 223, "metadata": {}, "output_type": "execute_result" } @@ -758,7 +759,7 @@ }, { "cell_type": "code", - "execution_count": 193, + "execution_count": 224, "id": "c55f2c7a", "metadata": {}, "outputs": [ @@ -771,7 +772,7 @@ "Rational(-1, 3)" ] }, - "execution_count": 193, + "execution_count": 224, "metadata": {}, "output_type": "execute_result" } @@ -798,7 +799,7 @@ }, { "cell_type": "code", - "execution_count": 194, + "execution_count": 225, "id": "d4ecff88", "metadata": {}, "outputs": [ @@ -808,7 +809,7 @@ "['11', '12', '21', '22']" ] }, - "execution_count": 194, + "execution_count": 225, "metadata": {}, "output_type": "execute_result" } @@ -832,7 +833,7 @@ }, { "cell_type": "code", - "execution_count": 195, + "execution_count": 226, "id": "24e4b6e8", "metadata": {}, "outputs": [ @@ -842,7 +843,7 @@ "NashComputationResult(method='gnm', rational=False, use_strategic=True, equilibria=[[[0.33333333333866677, 0.6666666666613335, 0.0, 0.0], [0.6666666666559997, 0.3333333333440004]]], parameters={'perturbation': [[1.0, 0.0, 0.0, 0.0], [1.0, 0.0]], 'end_lambda': -10.0, 'steps': 100, 'local_newton_interval': 3, 'local_newton_maxits': 10})" ] }, - "execution_count": 195, + "execution_count": 226, "metadata": {}, "output_type": "execute_result" } @@ -859,12 +860,12 @@ "source": [ "`gnm_solve` can be applied to any game with any number of players, and uses a path-following process in floating-point arithmetic, so it returns profiles with probabilities expressed as floating-point numbers.\n", "\n", - "This method operates on the strategic representation of the game, so the returned results are of type `MixedStrategyProfileDouble`." + "This method operates on the strategic representation of the game, so the returned results are of type `MixedStrategyProfile` (specifically `MixedStrategyProfileDouble`)." ] }, { "cell_type": "code", - "execution_count": 196, + "execution_count": 227, "id": "d9ffb4b8", "metadata": {}, "outputs": [ @@ -874,7 +875,7 @@ "pygambit.gambit.MixedStrategyProfileDouble" ] }, - "execution_count": 196, + "execution_count": 227, "metadata": {}, "output_type": "execute_result" } @@ -889,14 +890,14 @@ "id": "102d22c2", "metadata": {}, "source": [ - "Indexing a `MixedStrategyProfileDouble` by a player gives the probability distribution over that player's strategies only.\n", + "Indexing a `MixedStrategyProfile` by a player gives the probability distribution over that player's strategies only.\n", "\n", "The expected payoff to a strategy is provided by `MixedStrategyProfile.strategy_value` and the overall expected payoff to a player is returned by `MixedStrategyProfile.payoff`:" ] }, { "cell_type": "code", - "execution_count": 197, + "execution_count": 228, "id": "56e2f847", "metadata": {}, "outputs": [ @@ -947,7 +948,7 @@ }, { "cell_type": "code", - "execution_count": 198, + "execution_count": 229, "id": "d18a91f0", "metadata": {}, "outputs": [ @@ -960,7 +961,7 @@ "[[[1.0, 0.0], [0.3333333333386667, 0.6666666666613333]], [[0.6666666666559997, 0.3333333333440004]]]" ] }, - "execution_count": 198, + "execution_count": 229, "metadata": {}, "output_type": "execute_result" } @@ -971,7 +972,7 @@ }, { "cell_type": "code", - "execution_count": 199, + "execution_count": 230, "id": "fd474c66", "metadata": {}, "outputs": [ @@ -984,7 +985,7 @@ "[[0.3333333333386667, 0.6666666666613333, 0.0, 0.0], [0.6666666666559997, 0.3333333333440004]]" ] }, - "execution_count": 199, + "execution_count": 230, "metadata": {}, "output_type": "execute_result" } From 9fe54d35d065700e310798cdcfe74a8c4265b982 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 2 Sep 2025 16:24:26 +0100 Subject: [PATCH 069/240] compare both methods --- doc/tutorials/03_poker.ipynb | 158 +++++++++++++++++------------------ 1 file changed, 75 insertions(+), 83 deletions(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 880c23f56..8a4f4fa82 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -37,7 +37,7 @@ }, { "cell_type": "code", - "execution_count": 200, + "execution_count": 276, "id": "69cbfe81", "metadata": {}, "outputs": [], @@ -55,7 +55,7 @@ }, { "cell_type": "code", - "execution_count": 201, + "execution_count": 277, "id": "ad6a1119", "metadata": {}, "outputs": [], @@ -76,7 +76,7 @@ }, { "cell_type": "code", - "execution_count": 202, + "execution_count": 278, "id": "841f9f74", "metadata": {}, "outputs": [ @@ -114,7 +114,7 @@ }, { "cell_type": "code", - "execution_count": 203, + "execution_count": 279, "id": "fe80c64c", "metadata": {}, "outputs": [], @@ -143,7 +143,7 @@ }, { "cell_type": "code", - "execution_count": 204, + "execution_count": 280, "id": "0e3bb5ef", "metadata": {}, "outputs": [], @@ -179,7 +179,7 @@ }, { "cell_type": "code", - "execution_count": 205, + "execution_count": 281, "id": "dbfa7035", "metadata": {}, "outputs": [], @@ -203,7 +203,7 @@ }, { "cell_type": "code", - "execution_count": 206, + "execution_count": 282, "id": "655cdae3", "metadata": {}, "outputs": [], @@ -231,7 +231,7 @@ }, { "cell_type": "code", - "execution_count": 207, + "execution_count": 283, "id": "87c988be", "metadata": {}, "outputs": [], @@ -252,7 +252,7 @@ }, { "cell_type": "code", - "execution_count": 208, + "execution_count": 284, "id": "29aa60a0", "metadata": {}, "outputs": [], @@ -294,7 +294,7 @@ }, { "cell_type": "code", - "execution_count": 209, + "execution_count": 285, "id": "4d92c8d9", "metadata": {}, "outputs": [ @@ -304,7 +304,7 @@ "NashComputationResult(method='lcp', rational=True, use_strategic=False, equilibria=[[[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]], [[Rational(2, 3), Rational(1, 3)]]]], parameters={'stop_after': 0, 'max_depth': 0})" ] }, - "execution_count": 209, + "execution_count": 285, "metadata": {}, "output_type": "execute_result" } @@ -328,7 +328,7 @@ }, { "cell_type": "code", - "execution_count": 210, + "execution_count": 286, "id": "9967d6f7", "metadata": {}, "outputs": [ @@ -347,7 +347,7 @@ }, { "cell_type": "code", - "execution_count": 211, + "execution_count": 287, "id": "3293e818", "metadata": {}, "outputs": [ @@ -357,7 +357,7 @@ "pygambit.gambit.MixedBehaviorProfileRational" ] }, - "execution_count": 211, + "execution_count": 287, "metadata": {}, "output_type": "execute_result" } @@ -379,7 +379,7 @@ }, { "cell_type": "code", - "execution_count": 212, + "execution_count": 288, "id": "4cf38264", "metadata": {}, "outputs": [ @@ -389,7 +389,7 @@ "pygambit.gambit.MixedBehavior" ] }, - "execution_count": 212, + "execution_count": 288, "metadata": {}, "output_type": "execute_result" } @@ -400,7 +400,7 @@ }, { "cell_type": "code", - "execution_count": 213, + "execution_count": 289, "id": "85e7fdda", "metadata": {}, "outputs": [ @@ -413,7 +413,7 @@ "[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]]" ] }, - "execution_count": 213, + "execution_count": 289, "metadata": {}, "output_type": "execute_result" } @@ -438,7 +438,7 @@ }, { "cell_type": "code", - "execution_count": 214, + "execution_count": 290, "id": "f45a82b6", "metadata": {}, "outputs": [ @@ -470,7 +470,7 @@ }, { "cell_type": "code", - "execution_count": 215, + "execution_count": 291, "id": "83bbd3e5", "metadata": {}, "outputs": [ @@ -503,7 +503,7 @@ }, { "cell_type": "code", - "execution_count": 216, + "execution_count": 292, "id": "6bf51b38", "metadata": {}, "outputs": [ @@ -516,7 +516,7 @@ "[[Rational(2, 3), Rational(1, 3)]]" ] }, - "execution_count": 216, + "execution_count": 292, "metadata": {}, "output_type": "execute_result" } @@ -539,7 +539,7 @@ }, { "cell_type": "code", - "execution_count": 217, + "execution_count": 293, "id": "2966e700", "metadata": {}, "outputs": [ @@ -552,7 +552,7 @@ "Rational(2, 3)" ] }, - "execution_count": 217, + "execution_count": 293, "metadata": {}, "output_type": "execute_result" } @@ -571,7 +571,7 @@ }, { "cell_type": "code", - "execution_count": 218, + "execution_count": 294, "id": "f5a7f110", "metadata": {}, "outputs": [ @@ -584,7 +584,7 @@ "Rational(2, 3)" ] }, - "execution_count": 218, + "execution_count": 294, "metadata": {}, "output_type": "execute_result" } @@ -605,7 +605,7 @@ }, { "cell_type": "code", - "execution_count": 219, + "execution_count": 295, "id": "a7d3816d", "metadata": {}, "outputs": [ @@ -640,7 +640,7 @@ }, { "cell_type": "code", - "execution_count": 220, + "execution_count": 296, "id": "4a54b20c", "metadata": {}, "outputs": [ @@ -672,7 +672,7 @@ }, { "cell_type": "code", - "execution_count": 221, + "execution_count": 297, "id": "b250c1cd", "metadata": {}, "outputs": [ @@ -685,7 +685,7 @@ "Rational(2, 3)" ] }, - "execution_count": 221, + "execution_count": 297, "metadata": {}, "output_type": "execute_result" } @@ -704,7 +704,7 @@ }, { "cell_type": "code", - "execution_count": 222, + "execution_count": 298, "id": "6f01846b", "metadata": {}, "outputs": [ @@ -735,7 +735,7 @@ }, { "cell_type": "code", - "execution_count": 223, + "execution_count": 299, "id": "5079d231", "metadata": {}, "outputs": [ @@ -748,7 +748,7 @@ "Rational(1, 3)" ] }, - "execution_count": 223, + "execution_count": 299, "metadata": {}, "output_type": "execute_result" } @@ -759,7 +759,7 @@ }, { "cell_type": "code", - "execution_count": 224, + "execution_count": 300, "id": "c55f2c7a", "metadata": {}, "outputs": [ @@ -772,7 +772,7 @@ "Rational(-1, 3)" ] }, - "execution_count": 224, + "execution_count": 300, "metadata": {}, "output_type": "execute_result" } @@ -799,7 +799,7 @@ }, { "cell_type": "code", - "execution_count": 225, + "execution_count": 301, "id": "d4ecff88", "metadata": {}, "outputs": [ @@ -809,7 +809,7 @@ "['11', '12', '21', '22']" ] }, - "execution_count": 225, + "execution_count": 301, "metadata": {}, "output_type": "execute_result" } @@ -833,7 +833,7 @@ }, { "cell_type": "code", - "execution_count": 226, + "execution_count": 302, "id": "24e4b6e8", "metadata": {}, "outputs": [ @@ -843,14 +843,14 @@ "NashComputationResult(method='gnm', rational=False, use_strategic=True, equilibria=[[[0.33333333333866677, 0.6666666666613335, 0.0, 0.0], [0.6666666666559997, 0.3333333333440004]]], parameters={'perturbation': [[1.0, 0.0, 0.0, 0.0], [1.0, 0.0]], 'end_lambda': -10.0, 'steps': 100, 'local_newton_interval': 3, 'local_newton_maxits': 10})" ] }, - "execution_count": 226, + "execution_count": 302, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "result = gbt.nash.gnm_solve(g)\n", - "result" + "gnm_result = gbt.nash.gnm_solve(g)\n", + "gnm_result" ] }, { @@ -865,7 +865,7 @@ }, { "cell_type": "code", - "execution_count": 227, + "execution_count": 303, "id": "d9ffb4b8", "metadata": {}, "outputs": [ @@ -875,13 +875,13 @@ "pygambit.gambit.MixedStrategyProfileDouble" ] }, - "execution_count": 227, + "execution_count": 303, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "gnm_eqm = result.equilibria[0]\n", + "gnm_eqm = gnm_result.equilibria[0]\n", "type(gnm_eqm)" ] }, @@ -897,7 +897,7 @@ }, { "cell_type": "code", - "execution_count": 228, + "execution_count": 304, "id": "56e2f847", "metadata": {}, "outputs": [ @@ -943,55 +943,47 @@ "When a game has an extensive representation, we can convert freely between a mixed strategy profile and the corresponding mixed behaviour profile representation of the same strategies using `MixedStrategyProfile.as_behavior` and `MixedBehaviorProfile.as_strategy`.\n", "\n", "- A mixed **strategy** profile maps each strategy in a game to the corresponding probability with which that strategy is played.\n", - "- A mixed **behaviour** profile maps each action at each information set in a game to the corresponding probability with which the action is played, conditional on that information set being reached." + "- A mixed **behaviour** profile maps each action at each information set in a game to the corresponding probability with which the action is played, conditional on that information set being reached.\n", + "\n", + "Let's convert the equilibrium we found using `gnm_solve` to a mixed behaviour profile and iterate through the players actions to show their expected payoffs, comparing as we go with the payoffs found by `lcp_solve`:" ] }, { "cell_type": "code", - "execution_count": 229, + "execution_count": 306, "id": "d18a91f0", "metadata": {}, "outputs": [ { - "data": { - "text/latex": [ - "$\\left[[[1.0, 0.0], [0.3333333333386667, 0.6666666666613333]],[[0.6666666666559997, 0.3333333333440004]]\\right]$" - ], - "text/plain": [ - "[[[1.0, 0.0], [0.3333333333386667, 0.6666666666613333]], [[0.6666666666559997, 0.3333333333440004]]]" - ] - }, - "execution_count": 229, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "gnm_eqm.as_behavior()" - ] - }, - { - "cell_type": "code", - "execution_count": 230, - "id": "fd474c66", - "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[[0.3333333333386667, 0.6666666666613333, 0.0, 0.0],[0.6666666666559997, 0.3333333333440004]\\right]$" - ], - "text/plain": [ - "[[0.3333333333386667, 0.6666666666613333, 0.0, 0.0], [0.6666666666559997, 0.3333333333440004]]" - ] - }, - "execution_count": 230, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "Alice's expected payoffs:\n", + "At information set 0, when playing Raise - gnm: 1.6667, lcp: 1.6667\n", + "At information set 0, when playing Fold - gnm: -1.0000, lcp: -1.0000\n", + "At information set 1, when playing Raise - gnm: -1.0000, lcp: -1.0000\n", + "At information set 1, when playing Fold - gnm: -1.0000, lcp: -1.0000\n", + "\n", + "Bob's expected payoffs:\n", + "At information set 0, when playing Meet - gnm: -1.0000, lcp: -1.0000\n", + "At information set 0, when playing Pass - gnm: -1.0000, lcp: -1.0000\n", + "\n" + ] } ], "source": [ - "gnm_eqm.as_behavior().as_strategy()" + "for player in g.players:\n", + " print(\n", + " f\"{player.label}'s expected payoffs:\"\n", + " )\n", + " for action in player.actions:\n", + " print(\n", + " f\"At information set {action.infoset.number}, \"\n", + " f\"when playing {action.label} - \"\n", + " f\"gnm: {gnm_eqm.as_behavior().action_value(action):.4f}\"\n", + " f\", lcp: {eqm.action_value(action):.4f}\"\n", + " )\n", + " print()" ] } ], From 55ba90bef6f8b75420f346d8562e8e928115d451 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 3 Sep 2025 11:33:06 +0100 Subject: [PATCH 070/240] intro for Acceptance criteria for Nash equilibria section --- doc/tutorials/03_poker.ipynb | 42 ++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 8a4f4fa82..35e0a0b5c 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -985,6 +985,48 @@ " )\n", " print()" ] + }, + { + "cell_type": "markdown", + "id": "b2867dca", + "metadata": {}, + "source": [ + "Acceptance criteria for Nash equilibria\n", + "---------------------------------------\n", + "\n", + "Some methods for computing Nash equilibria operate using floating-point arithmetic and/or generate candidate equilibrium profiles using methods which involve some form of successive approximations.\n", + "The outputs of these methods therefore are in general $\\varepsilon$-equilibria, for some positive $\\varepsilon$.\n", + "\n", + "
\n", + "\n", + "\n", + "$\\varepsilon$-equilibria (from [Wikipedia](https://en.wikipedia.org/wiki/Epsilon-equilibrium))\n", + "\n", + "\n", + "\n", + "In game theory, an epsilon-equilibrium, or near-Nash equilibrium, is a strategy profile that approximately satisfies the condition of Nash equilibrium. In a Nash equilibrium, no player has an incentive to change his behavior. In an approximate Nash equilibrium, this requirement is weakened to allow the possibility that a player may have a small incentive to do something different.\n", + "\n", + "Given a game and a real non-negative parameter $\\varepsilon$, a strategy profile is said to be an $\\varepsilon$-equilibrium if it is not possible for any player to gain more than $\\varepsilon$ in expected payoff by unilaterally deviating from his strategy. Every Nash Equilibrium is equivalent to an $\\varepsilon$-equilibrium where $\\varepsilon = 0$.\n", + "\n", + "
\n", + "\n", + "To provide a uniform interface across methods, where relevant Gambit provides a parameter\n", + "`maxregret`, which specifies the acceptance criterion for labeling the output of the\n", + "algorithm as an equilibrium.\n", + "This parameter is interpreted *proportionally* to the range of payoffs in the game.\n", + "Any profile returned as an equilibrium is guaranteed to be an $\\varepsilon$-equilibrium, for $\\varepsilon$ no more than `maxregret`\n", + "times the difference of the game's maximum and minimum payoffs.\n", + "\n", + "As an example, consider solving our one-card poker game using `logit_solve`. The range of the payoffs in this game is 4 (from +2 to -2).\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0c55f745", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { From 7e034ad2824d8a86d795f828106e6e5d69f41759 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 4 Sep 2025 13:22:15 +0100 Subject: [PATCH 071/240] commit before stash --- doc/tutorials/03_poker.ipynb | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 35e0a0b5c..cb7f746ae 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -1022,11 +1022,35 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 307, "id": "0c55f745", "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "data": { + "text/plain": [ + "(Rational(2, 1), Rational(-2, 1))" + ] + }, + "execution_count": 307, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "g.max_payoff, g.min_payoff" + ] + }, + { + "cell_type": "markdown", + "id": "6263ad6e", + "metadata": {}, + "source": [ + "`logit_solve` is a globally-convergent method, in that it computes a sequence of profiles which is guaranteed to have a subsequence that converges to a\n", + "Nash equilibrium.\n", + "\n", + "The default value of `maxregret` for this method is set at $10^{-8}$:" + ] } ], "metadata": { From d095f4bfb140cf643024fd8e585d27f7ad541e72 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 5 Sep 2025 15:12:06 +0100 Subject: [PATCH 072/240] maxregret --- doc/tutorials/03_poker.ipynb | 173 +++++++++++++++++++++++++++++++++++ 1 file changed, 173 insertions(+) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index cb7f746ae..0998b35ac 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -1051,6 +1051,179 @@ "\n", "The default value of `maxregret` for this method is set at $10^{-8}$:" ] + }, + { + "cell_type": "code", + "execution_count": 318, + "id": "101598c6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1" + ] + }, + "execution_count": 318, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "logit_solve_result = gbt.nash.logit_solve(g, maxregret=1e-8)\n", + "len(logit_solve_result.equilibria)" + ] + }, + { + "cell_type": "code", + "execution_count": 319, + "id": "9b142728", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3.987411578698641e-08" + ] + }, + "execution_count": 319, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ls_eqm = logit_solve_result.equilibria[0]\n", + "ls_eqm.max_regret()" + ] + }, + { + "cell_type": "markdown", + "id": "a2ba06c4", + "metadata": {}, + "source": [ + "The value of `MixedBehaviorProfile.max_regret` of the computed profile exceeds $10^{-8}$ measured in payoffs of the game.\n", + "However, when considered relative to the scale of the game's payoffs, we see it is less than $10^{-8}$ of the payoff range, as requested:" + ] + }, + { + "cell_type": "code", + "execution_count": 320, + "id": "ff405409", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "9.968528946746602e-09" + ] + }, + "execution_count": 320, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ls_eqm.max_regret() / (g.max_payoff - g.min_payoff)" + ] + }, + { + "cell_type": "markdown", + "id": "54635455", + "metadata": {}, + "source": [ + "In general, for globally-convergent methods especially, there is a tradeoff between precision and running time.\n", + "\n", + "We could instead ask only for an $\\varepsilon$-equilibrium with a (scaled) $\\varepsilon$ of no more than $10^{-4}$:" + ] + }, + { + "cell_type": "code", + "execution_count": 323, + "id": "31b0143c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "9.395259956013202e-05" + ] + }, + "execution_count": 323, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gbt.nash.logit_solve(g, maxregret=1e-4).equilibria[0].max_regret() / (g.max_payoff - g.min_payoff)" + ] + }, + { + "cell_type": "markdown", + "id": "dc8c8509", + "metadata": {}, + "source": [ + "The tradeoff comes from some methods being slow to converge on some games, making it useful instead to get a more coarse approximation to an equilibrium (higher `maxregret` value) which is faster to calculate. " + ] + }, + { + "cell_type": "code", + "execution_count": 321, + "id": "7cfba34a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 15.5 ms, sys: 147 μs, total: 15.7 ms\n", + "Wall time: 15.7 ms\n" + ] + }, + { + "data": { + "text/plain": [ + "NashComputationResult(method='logit', rational=False, use_strategic=False, equilibria=[[[[1.0, 0.0], [0.3338351656285655, 0.666164834417892]], [[0.6670407651644307, 0.3329592348608147]]]], parameters={'first_step': 0.03, 'max_accel': 1.1})" + ] + }, + "execution_count": 321, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "%%time\n", + "gbt.nash.logit_solve(g, maxregret=1e-4)" + ] + }, + { + "cell_type": "code", + "execution_count": 322, + "id": "6f1809a7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CPU times: user 27.7 ms, sys: 434 μs, total: 28.1 ms\n", + "Wall time: 28.2 ms\n" + ] + }, + { + "data": { + "text/plain": [ + "NashComputationResult(method='logit', rational=False, use_strategic=False, equilibria=[[[[1.0, 0.0], [0.33333338649882943, 0.6666666135011706]], [[0.6666667065407631, 0.3333332934592369]]]], parameters={'first_step': 0.03, 'max_accel': 1.1})" + ] + }, + "execution_count": 322, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "%%time\n", + "gbt.nash.logit_solve(g, maxregret=1e-8)" + ] } ], "metadata": { From 52fc26ef4ceba7858a347678e2580c359c133313 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 5 Sep 2025 15:24:08 +0100 Subject: [PATCH 073/240] end of poker example --- doc/tutorials/03_poker.ipynb | 186 +++++++++++++++++++++++------------ 1 file changed, 125 insertions(+), 61 deletions(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 0998b35ac..63adbde36 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -37,7 +37,7 @@ }, { "cell_type": "code", - "execution_count": 276, + "execution_count": 330, "id": "69cbfe81", "metadata": {}, "outputs": [], @@ -55,7 +55,7 @@ }, { "cell_type": "code", - "execution_count": 277, + "execution_count": 331, "id": "ad6a1119", "metadata": {}, "outputs": [], @@ -76,7 +76,7 @@ }, { "cell_type": "code", - "execution_count": 278, + "execution_count": 332, "id": "841f9f74", "metadata": {}, "outputs": [ @@ -114,7 +114,7 @@ }, { "cell_type": "code", - "execution_count": 279, + "execution_count": 333, "id": "fe80c64c", "metadata": {}, "outputs": [], @@ -143,7 +143,7 @@ }, { "cell_type": "code", - "execution_count": 280, + "execution_count": 334, "id": "0e3bb5ef", "metadata": {}, "outputs": [], @@ -179,7 +179,7 @@ }, { "cell_type": "code", - "execution_count": 281, + "execution_count": 335, "id": "dbfa7035", "metadata": {}, "outputs": [], @@ -203,7 +203,7 @@ }, { "cell_type": "code", - "execution_count": 282, + "execution_count": 336, "id": "655cdae3", "metadata": {}, "outputs": [], @@ -231,7 +231,7 @@ }, { "cell_type": "code", - "execution_count": 283, + "execution_count": 337, "id": "87c988be", "metadata": {}, "outputs": [], @@ -252,7 +252,7 @@ }, { "cell_type": "code", - "execution_count": 284, + "execution_count": 338, "id": "29aa60a0", "metadata": {}, "outputs": [], @@ -294,7 +294,7 @@ }, { "cell_type": "code", - "execution_count": 285, + "execution_count": 339, "id": "4d92c8d9", "metadata": {}, "outputs": [ @@ -304,7 +304,7 @@ "NashComputationResult(method='lcp', rational=True, use_strategic=False, equilibria=[[[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]], [[Rational(2, 3), Rational(1, 3)]]]], parameters={'stop_after': 0, 'max_depth': 0})" ] }, - "execution_count": 285, + "execution_count": 339, "metadata": {}, "output_type": "execute_result" } @@ -328,7 +328,7 @@ }, { "cell_type": "code", - "execution_count": 286, + "execution_count": 340, "id": "9967d6f7", "metadata": {}, "outputs": [ @@ -347,7 +347,7 @@ }, { "cell_type": "code", - "execution_count": 287, + "execution_count": 341, "id": "3293e818", "metadata": {}, "outputs": [ @@ -357,7 +357,7 @@ "pygambit.gambit.MixedBehaviorProfileRational" ] }, - "execution_count": 287, + "execution_count": 341, "metadata": {}, "output_type": "execute_result" } @@ -379,7 +379,7 @@ }, { "cell_type": "code", - "execution_count": 288, + "execution_count": 342, "id": "4cf38264", "metadata": {}, "outputs": [ @@ -389,7 +389,7 @@ "pygambit.gambit.MixedBehavior" ] }, - "execution_count": 288, + "execution_count": 342, "metadata": {}, "output_type": "execute_result" } @@ -400,7 +400,7 @@ }, { "cell_type": "code", - "execution_count": 289, + "execution_count": 343, "id": "85e7fdda", "metadata": {}, "outputs": [ @@ -413,7 +413,7 @@ "[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]]" ] }, - "execution_count": 289, + "execution_count": 343, "metadata": {}, "output_type": "execute_result" } @@ -438,7 +438,7 @@ }, { "cell_type": "code", - "execution_count": 290, + "execution_count": 344, "id": "f45a82b6", "metadata": {}, "outputs": [ @@ -470,7 +470,7 @@ }, { "cell_type": "code", - "execution_count": 291, + "execution_count": 345, "id": "83bbd3e5", "metadata": {}, "outputs": [ @@ -503,7 +503,7 @@ }, { "cell_type": "code", - "execution_count": 292, + "execution_count": 346, "id": "6bf51b38", "metadata": {}, "outputs": [ @@ -516,7 +516,7 @@ "[[Rational(2, 3), Rational(1, 3)]]" ] }, - "execution_count": 292, + "execution_count": 346, "metadata": {}, "output_type": "execute_result" } @@ -539,7 +539,7 @@ }, { "cell_type": "code", - "execution_count": 293, + "execution_count": 347, "id": "2966e700", "metadata": {}, "outputs": [ @@ -552,7 +552,7 @@ "Rational(2, 3)" ] }, - "execution_count": 293, + "execution_count": 347, "metadata": {}, "output_type": "execute_result" } @@ -571,7 +571,7 @@ }, { "cell_type": "code", - "execution_count": 294, + "execution_count": 348, "id": "f5a7f110", "metadata": {}, "outputs": [ @@ -584,7 +584,7 @@ "Rational(2, 3)" ] }, - "execution_count": 294, + "execution_count": 348, "metadata": {}, "output_type": "execute_result" } @@ -605,7 +605,7 @@ }, { "cell_type": "code", - "execution_count": 295, + "execution_count": 349, "id": "a7d3816d", "metadata": {}, "outputs": [ @@ -640,7 +640,7 @@ }, { "cell_type": "code", - "execution_count": 296, + "execution_count": 350, "id": "4a54b20c", "metadata": {}, "outputs": [ @@ -672,7 +672,7 @@ }, { "cell_type": "code", - "execution_count": 297, + "execution_count": 351, "id": "b250c1cd", "metadata": {}, "outputs": [ @@ -685,7 +685,7 @@ "Rational(2, 3)" ] }, - "execution_count": 297, + "execution_count": 351, "metadata": {}, "output_type": "execute_result" } @@ -704,7 +704,7 @@ }, { "cell_type": "code", - "execution_count": 298, + "execution_count": 352, "id": "6f01846b", "metadata": {}, "outputs": [ @@ -735,7 +735,7 @@ }, { "cell_type": "code", - "execution_count": 299, + "execution_count": 353, "id": "5079d231", "metadata": {}, "outputs": [ @@ -748,7 +748,7 @@ "Rational(1, 3)" ] }, - "execution_count": 299, + "execution_count": 353, "metadata": {}, "output_type": "execute_result" } @@ -759,7 +759,7 @@ }, { "cell_type": "code", - "execution_count": 300, + "execution_count": 354, "id": "c55f2c7a", "metadata": {}, "outputs": [ @@ -772,7 +772,7 @@ "Rational(-1, 3)" ] }, - "execution_count": 300, + "execution_count": 354, "metadata": {}, "output_type": "execute_result" } @@ -799,7 +799,7 @@ }, { "cell_type": "code", - "execution_count": 301, + "execution_count": 355, "id": "d4ecff88", "metadata": {}, "outputs": [ @@ -809,7 +809,7 @@ "['11', '12', '21', '22']" ] }, - "execution_count": 301, + "execution_count": 355, "metadata": {}, "output_type": "execute_result" } @@ -833,7 +833,7 @@ }, { "cell_type": "code", - "execution_count": 302, + "execution_count": 356, "id": "24e4b6e8", "metadata": {}, "outputs": [ @@ -843,7 +843,7 @@ "NashComputationResult(method='gnm', rational=False, use_strategic=True, equilibria=[[[0.33333333333866677, 0.6666666666613335, 0.0, 0.0], [0.6666666666559997, 0.3333333333440004]]], parameters={'perturbation': [[1.0, 0.0, 0.0, 0.0], [1.0, 0.0]], 'end_lambda': -10.0, 'steps': 100, 'local_newton_interval': 3, 'local_newton_maxits': 10})" ] }, - "execution_count": 302, + "execution_count": 356, "metadata": {}, "output_type": "execute_result" } @@ -865,7 +865,7 @@ }, { "cell_type": "code", - "execution_count": 303, + "execution_count": 357, "id": "d9ffb4b8", "metadata": {}, "outputs": [ @@ -875,7 +875,7 @@ "pygambit.gambit.MixedStrategyProfileDouble" ] }, - "execution_count": 303, + "execution_count": 357, "metadata": {}, "output_type": "execute_result" } @@ -897,7 +897,7 @@ }, { "cell_type": "code", - "execution_count": 304, + "execution_count": 358, "id": "56e2f847", "metadata": {}, "outputs": [ @@ -950,7 +950,7 @@ }, { "cell_type": "code", - "execution_count": 306, + "execution_count": 359, "id": "d18a91f0", "metadata": {}, "outputs": [ @@ -1022,7 +1022,7 @@ }, { "cell_type": "code", - "execution_count": 307, + "execution_count": 360, "id": "0c55f745", "metadata": {}, "outputs": [ @@ -1032,7 +1032,7 @@ "(Rational(2, 1), Rational(-2, 1))" ] }, - "execution_count": 307, + "execution_count": 360, "metadata": {}, "output_type": "execute_result" } @@ -1054,7 +1054,7 @@ }, { "cell_type": "code", - "execution_count": 318, + "execution_count": 361, "id": "101598c6", "metadata": {}, "outputs": [ @@ -1064,7 +1064,7 @@ "1" ] }, - "execution_count": 318, + "execution_count": 361, "metadata": {}, "output_type": "execute_result" } @@ -1076,7 +1076,7 @@ }, { "cell_type": "code", - "execution_count": 319, + "execution_count": 362, "id": "9b142728", "metadata": {}, "outputs": [ @@ -1086,7 +1086,7 @@ "3.987411578698641e-08" ] }, - "execution_count": 319, + "execution_count": 362, "metadata": {}, "output_type": "execute_result" } @@ -1107,7 +1107,7 @@ }, { "cell_type": "code", - "execution_count": 320, + "execution_count": 363, "id": "ff405409", "metadata": {}, "outputs": [ @@ -1117,7 +1117,7 @@ "9.968528946746602e-09" ] }, - "execution_count": 320, + "execution_count": 363, "metadata": {}, "output_type": "execute_result" } @@ -1138,7 +1138,7 @@ }, { "cell_type": "code", - "execution_count": 323, + "execution_count": 364, "id": "31b0143c", "metadata": {}, "outputs": [ @@ -1148,7 +1148,7 @@ "9.395259956013202e-05" ] }, - "execution_count": 323, + "execution_count": 364, "metadata": {}, "output_type": "execute_result" } @@ -1167,7 +1167,7 @@ }, { "cell_type": "code", - "execution_count": 321, + "execution_count": 365, "id": "7cfba34a", "metadata": {}, "outputs": [ @@ -1175,8 +1175,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 15.5 ms, sys: 147 μs, total: 15.7 ms\n", - "Wall time: 15.7 ms\n" + "CPU times: user 9.61 ms, sys: 56 μs, total: 9.67 ms\n", + "Wall time: 9.65 ms\n" ] }, { @@ -1185,7 +1185,7 @@ "NashComputationResult(method='logit', rational=False, use_strategic=False, equilibria=[[[[1.0, 0.0], [0.3338351656285655, 0.666164834417892]], [[0.6670407651644307, 0.3329592348608147]]]], parameters={'first_step': 0.03, 'max_accel': 1.1})" ] }, - "execution_count": 321, + "execution_count": 365, "metadata": {}, "output_type": "execute_result" } @@ -1197,7 +1197,7 @@ }, { "cell_type": "code", - "execution_count": 322, + "execution_count": 366, "id": "6f1809a7", "metadata": {}, "outputs": [ @@ -1205,8 +1205,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 27.7 ms, sys: 434 μs, total: 28.1 ms\n", - "Wall time: 28.2 ms\n" + "CPU times: user 18.6 ms, sys: 392 μs, total: 19 ms\n", + "Wall time: 19.1 ms\n" ] }, { @@ -1215,7 +1215,7 @@ "NashComputationResult(method='logit', rational=False, use_strategic=False, equilibria=[[[[1.0, 0.0], [0.33333338649882943, 0.6666666135011706]], [[0.6666667065407631, 0.3333332934592369]]]], parameters={'first_step': 0.03, 'max_accel': 1.1})" ] }, - "execution_count": 322, + "execution_count": 366, "metadata": {}, "output_type": "execute_result" } @@ -1224,6 +1224,70 @@ "%%time\n", "gbt.nash.logit_solve(g, maxregret=1e-8)" ] + }, + { + "cell_type": "markdown", + "id": "76461069", + "metadata": {}, + "source": [ + "The convention of expressing `maxregret` scaled by the game's payoffs standardises the behavior of methods across games.\n", + "\n", + "For example, consider solving the poker game instead using `liap_solve()`." + ] + }, + { + "cell_type": "code", + "execution_count": 367, + "id": "414b6f65", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "5.509533871672634e-05" + ] + }, + "execution_count": 367, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gbt.nash.liap_solve(g.mixed_behavior_profile(), maxregret=1.0e-4).equilibria[0].max_regret() / (g.max_payoff - g.min_payoff)" + ] + }, + { + "cell_type": "markdown", + "id": "c6853432", + "metadata": {}, + "source": [ + "If, instead, we double all payoffs, the output of the method is unchanged." + ] + }, + { + "cell_type": "code", + "execution_count": 370, + "id": "a892dc2b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "5.509533871672634e-05" + ] + }, + "execution_count": 370, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "for outcome in g.outcomes:\n", + " outcome[\"Alice\"] = outcome[\"Alice\"] * 2\n", + " outcome[\"Bob\"] = outcome[\"Bob\"] * 2\n", + "\n", + "gbt.nash.liap_solve(g.mixed_behavior_profile(), maxregret=1.0e-4).equilibria[0].max_regret() / (g.max_payoff - g.min_payoff)" + ] } ], "metadata": { From 7787a8a34a63bc81c04d5c48b529c33a53f84c7c Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 5 Sep 2025 15:31:05 +0100 Subject: [PATCH 074/240] add section links --- doc/tutorials/03_poker.ipynb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 63adbde36..e74e123c4 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -9,10 +9,9 @@ "\n", "In this tutorial, we'll create an extensive form representation of a one-card poker game ([Mye91](#mye91)) and use it to demonstrate and explain the following with Gambit:\n", "\n", - "1. Setting up an extensive form game with imperfect information\n", - "2. Using information sets\n", - "3. [Computing Nash equilibria](#)\n", - "4. [Acceptance criteria for Nash equilibria](#)\n", + "1. Setting up an extensive form game with imperfect information using information sets\n", + "2. [Computing Nash equilibria](#cne)\n", + "3. [Acceptance criteria for Nash equilibria](#acceptance-criteria-for-nash-equilibria)\n", "\n", "A version of this game also appears in [RUW08](#ruw08), as a classroom game under the name \"stripped-down poker\".\n", "\n", @@ -288,6 +287,7 @@ "metadata": {}, "source": [ "## Computing Nash equilibria\n", + "\n", "\n", "Since our one-card poker game is extensive form and has two players, we can use the `lcp_solve` algorithm in Gambit to compute the Nash equilibria." ] @@ -994,6 +994,8 @@ "Acceptance criteria for Nash equilibria\n", "---------------------------------------\n", "\n", + "\n", + "\n", "Some methods for computing Nash equilibria operate using floating-point arithmetic and/or generate candidate equilibrium profiles using methods which involve some form of successive approximations.\n", "The outputs of these methods therefore are in general $\\varepsilon$-equilibria, for some positive $\\varepsilon$.\n", "\n", From b91d16753660713e20986cec8ef5138e59a912d2 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 5 Sep 2025 15:50:56 +0100 Subject: [PATCH 075/240] clarify section header --- doc/tutorials/03_poker.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index e74e123c4..ab116886a 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -10,7 +10,7 @@ "In this tutorial, we'll create an extensive form representation of a one-card poker game ([Mye91](#mye91)) and use it to demonstrate and explain the following with Gambit:\n", "\n", "1. Setting up an extensive form game with imperfect information using information sets\n", - "2. [Computing Nash equilibria](#cne)\n", + "2. [Computing Nash equilibria](#cne) and understanding mixed behaviour and mixed strategy profiles\n", "3. [Acceptance criteria for Nash equilibria](#acceptance-criteria-for-nash-equilibria)\n", "\n", "A version of this game also appears in [RUW08](#ruw08), as a classroom game under the name \"stripped-down poker\".\n", From abea63751297b279b6513ab7f141c933c8aec1a6 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 8 Sep 2025 10:47:44 +0100 Subject: [PATCH 076/240] add starting points notebook --- doc/tutorials/04_starting_points.ipynb | 172 +++++++++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 doc/tutorials/04_starting_points.ipynb diff --git a/doc/tutorials/04_starting_points.ipynb b/doc/tutorials/04_starting_points.ipynb new file mode 100644 index 000000000..ccf1a5967 --- /dev/null +++ b/doc/tutorials/04_starting_points.ipynb @@ -0,0 +1,172 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "6818538c", + "metadata": {}, + "source": [ + "# Generating starting points for algorithms\n", + "\n", + "In the previous tutorial, we demonstrated how to calculate the Nash equilibria of a game set up using Gambit and interpret the `MixedStrategyProfile` or `MixedBehaviorProfile` objects returned by the solver.\n", + "In this tutorial, we will demonstrate how to use a `MixedStrategyProfile` or `MixedBehaviorProfile` as an initial condition, a starting point, for some methods of computing Nash equilibria.\n", + "The equilibria found will depend on which starting point is selected.\n", + "\n", + "To facilitate generating starting points, Gambit's `Game` class provides the methods `random_strategy_profile` and `random_behavior_profile`, to generate profiles which are drawn from the uniform distribution on the product of simplices. In other words, the profiles are sampled from a uniform distribution so that each possible mixed strategy profile (or mixed behaviour profile) is equally likely to be selected.\n", + "\n", + "As an example, we consider a three-player game from McKelvey and McLennan (1997), in which each player has two strategies.\n", + "This game has nine equilibria in total, and in particular has two totally mixed Nash equilibria, which is the maximum possible number of regular totally mixed equilbria in games of this size.\n", + "\n", + "
\n", + "Pure and mixed strategies\n", + "\n", + "- **Pure strategy**: A player chooses the action with probability 1 (always picks the same move)\n", + "- **Mixed strategy**: A player assigns probabilities to their available actions (some actions may have probability 0)\n", + "- **Totally mixed strategy**: Mixed strategy where every available action is chosen with strictly positive probability (no action has probability 0)\n", + "\n", + "
\n", + "\n", + "We first consider finding Nash equilibria in this game using `liap_solve`.\n", + "If we run this method starting from the centroid (uniform randomization across all strategies for each player), `liap_solve` finds one of the totally-mixed equilibria." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "493cafb8", + "metadata": {}, + "outputs": [], + "source": [ + "import pygambit as gbt" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "c0b62502", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "g = gbt.read_nfg(\"../2x2x2.nfg\")\n", + "len(gbt.nash.liap_solve(g.mixed_strategy_profile()).equilibria)" + ] + }, + { + "cell_type": "markdown", + "id": "df507eda", + "metadata": {}, + "source": [ + "Which equilibrium is found depends on the starting point.\n", + "With a different starting point, we can find, for example, one of the pure-strategy equilibria." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "08a22505", + "metadata": {}, + "outputs": [], + "source": [ + "gbt.nash.liap_solve(g.mixed_strategy_profile([[.9, .1], [.9, .1], [.9, .1]]))" + ] + }, + { + "cell_type": "markdown", + "id": "3bc2c6e4", + "metadata": {}, + "source": [ + "\n", + " \n", + "\n", + "\n", + "\n", + ".. ipython:: python\n", + "\n", + " \n", + "\n", + "To search for more equilibria, we can instead generate strategy profiles at random.\n", + "\n", + ".. ipython:: python\n", + "\n", + " gbt.nash.liap_solve(g.random_strategy_profile())\n", + "\n", + "Note that methods which take starting points do record the starting points used in the\n", + "result object returned. However, the random profiles which are generated will differ\n", + "in different runs of a program. To support making the generation of random strategy\n", + "profiles reproducible, and for finer-grained control of the generation of these profiles\n", + "if desired, :py:meth:`.Game.random_strategy_profile` and :py:meth:`.Game.random_behavior_profile`\n", + "optionally take a :py:class:`numpy.random.Generator` object, which is used as the source\n", + "of randomness for creating the profile.\n", + "\n", + ".. ipython:: python\n", + "\n", + " import numpy as np\n", + " gen = np.random.default_rng(seed=1234567890)\n", + " p1 = g.random_strategy_profile(gen=gen)\n", + " p1\n", + " gen = np.random.default_rng(seed=1234567890)\n", + " p2 = g.random_strategy_profile(gen=gen)\n", + " p2\n", + " p1 == p2\n", + "\n", + "When creating profiles in which probabilities are represented as floating-point numbers,\n", + ":py:meth:`.Game.random_strategy_profile` and :py:meth:`.Game.random_behavior_profile`\n", + "internally use the Dirichlet distribution for each simplex to generate correctly uniform\n", + "sampling over probabilities. However, in some applications generation of random profiles\n", + "with probabilities as rational numbers is desired. For example, :py:func:`.simpdiv_solve`\n", + "takes such a starting point, because it operates by successively refining a triangulation\n", + "over the space of mixed strategy profiles.\n", + ":py:meth:`.Game.random_strategy_profile` and :py:meth:`.Game.random_behavior_profile`\n", + "both take an optional parameter `denom` which, if specified, generates a profile in which\n", + "probabilities are generated uniformly from the grid in each simplex in which all probabilities\n", + "have denominator `denom`.\n", + "\n", + ".. ipython:: python\n", + "\n", + " gen = np.random.default_rng(seed=1234567890)\n", + " g.random_strategy_profile(denom=10, gen=gen)\n", + " g.random_strategy_profile(denom=10, gen=gen)\n", + "\n", + "These can then be used in conjunction with :py:func:`.simpdiv_solve` to search for equilibria\n", + "from different starting points.\n", + "\n", + ".. ipython:: python\n", + "\n", + " gbt.nash.simpdiv_solve(g.random_strategy_profile(denom=10, gen=gen))\n", + " gbt.nash.simpdiv_solve(g.random_strategy_profile(denom=10, gen=gen))\n", + " gbt.nash.simpdiv_solve(g.random_strategy_profile(denom=10, gen=gen))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "gambitvenv313", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 22d1309efb069759edeec630cc62be1f6e8de82b Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 8 Sep 2025 13:24:42 +0100 Subject: [PATCH 077/240] tutorial assumptions --- doc/tutorials/04_starting_points.ipynb | 37 +++++++++++++++++++------- doc/tutorials/tutorials.rst | 11 ++++++++ 2 files changed, 39 insertions(+), 9 deletions(-) create mode 100644 doc/tutorials/tutorials.rst diff --git a/doc/tutorials/04_starting_points.ipynb b/doc/tutorials/04_starting_points.ipynb index ccf1a5967..da7d3d0c7 100644 --- a/doc/tutorials/04_starting_points.ipynb +++ b/doc/tutorials/04_starting_points.ipynb @@ -31,34 +31,37 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "493cafb8", "metadata": {}, "outputs": [], "source": [ - "import pygambit as gbt" + "import pygambit as gbt\n", + "g = gbt.read_nfg(\"../2x2x2.nfg\")" ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "c0b62502", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "1" + "[[[0.3999999026224355, 0.6000000973775644], [0.49999981670851457, 0.5000001832914854], [0.3333329684317666, 0.6666670315682334]]]" ] }, - "execution_count": 7, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "g = gbt.read_nfg(\"../2x2x2.nfg\")\n", - "len(gbt.nash.liap_solve(g.mixed_strategy_profile()).equilibria)" + "centroid_start = g.mixed_strategy_profile()\n", + "gbt.nash.liap_solve(\n", + " start=centroid_start\n", + ").equilibria" ] }, { @@ -66,6 +69,8 @@ "id": "df507eda", "metadata": {}, "source": [ + "As you can see, in this totally mixed strategy equilibrium, no action has probability 0.\n", + "\n", "Which equilibrium is found depends on the starting point.\n", "With a different starting point, we can find, for example, one of the pure-strategy equilibria." ] @@ -75,9 +80,23 @@ "execution_count": null, "id": "08a22505", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "[[[1.0, 0.0], [0.9999999944750116, 5.524988446860122e-09], [0.9999999991845827, 8.154173380971617e-10]]]" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "gbt.nash.liap_solve(g.mixed_strategy_profile([[.9, .1], [.9, .1], [.9, .1]]))" + "starting_point = g.mixed_strategy_profile([[.9, .1], [.9, .1], [.9, .1]])\n", + "gbt.nash.liap_solve(\n", + " start=starting_point\n", + ").equilibria" ] }, { diff --git a/doc/tutorials/tutorials.rst b/doc/tutorials/tutorials.rst new file mode 100644 index 000000000..8111bf669 --- /dev/null +++ b/doc/tutorials/tutorials.rst @@ -0,0 +1,11 @@ +Tutorials +========= + +Tutorials 1-3 assume no prior knowledge of Game Theory or the Gambit API and provide detailed explanations of the concepts and code used. + +Tutorials 4-6 follow from tutorials 1-3 and do not re-explain the fundamentals of the Gambit API. + +Tutorial 4 assumes some familiarity with Game Theory terminology and concepts including: +- Nash equilibria +- Mixed strategies +- Simplex representations of available strategies \ No newline at end of file From fccd9f44d6a38d35f310ac0404fa2bd0273762d2 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 8 Sep 2025 14:19:29 +0100 Subject: [PATCH 078/240] tutorials purpose --- doc/tutorials/tutorials.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/tutorials/tutorials.rst b/doc/tutorials/tutorials.rst index 8111bf669..280e159bd 100644 --- a/doc/tutorials/tutorials.rst +++ b/doc/tutorials/tutorials.rst @@ -1,6 +1,8 @@ Tutorials ========= +The goal of these tutorials is to introduce users to the Gambit API and its capabilities for analyzing and solving Game Theory games. + Tutorials 1-3 assume no prior knowledge of Game Theory or the Gambit API and provide detailed explanations of the concepts and code used. Tutorials 4-6 follow from tutorials 1-3 and do not re-explain the fundamentals of the Gambit API. From 6c939edaa56202a654422b7e1fda18eda22e3bc3 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 8 Sep 2025 14:19:46 +0100 Subject: [PATCH 079/240] tutorial 4 --- doc/tutorials/04_starting_points.ipynb | 399 ++++++++++++++++++++----- 1 file changed, 322 insertions(+), 77 deletions(-) diff --git a/doc/tutorials/04_starting_points.ipynb b/doc/tutorials/04_starting_points.ipynb index da7d3d0c7..087f6a90b 100644 --- a/doc/tutorials/04_starting_points.ipynb +++ b/doc/tutorials/04_starting_points.ipynb @@ -23,15 +23,12 @@ "- **Mixed strategy**: A player assigns probabilities to their available actions (some actions may have probability 0)\n", "- **Totally mixed strategy**: Mixed strategy where every available action is chosen with strictly positive probability (no action has probability 0)\n", "\n", - "\n", - "\n", - "We first consider finding Nash equilibria in this game using `liap_solve`.\n", - "If we run this method starting from the centroid (uniform randomization across all strategies for each player), `liap_solve` finds one of the totally-mixed equilibria." + "" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 59, "id": "493cafb8", "metadata": {}, "outputs": [], @@ -40,28 +37,62 @@ "g = gbt.read_nfg(\"../2x2x2.nfg\")" ] }, + { + "cell_type": "markdown", + "id": "1e68a5bd", + "metadata": {}, + "source": [ + "We first consider finding Nash equilibria in this game using `liap_solve`.\n", + "If we run this method starting from the centroid (uniform randomization across all strategies for each player), `liap_solve` finds one of the totally-mixed equilibria. Without providing a list to `Game.mixed_strategy_profile`, the method will return the centroid mixed strategy profile." + ] + }, { "cell_type": "code", - "execution_count": null, - "id": "c0b62502", + "execution_count": 60, + "id": "b32adf22", "metadata": {}, "outputs": [ { "data": { + "text/latex": [ + "$\\left[[0.5, 0.5],[0.5, 0.5],[0.5, 0.5]\\right]$" + ], "text/plain": [ - "[[[0.3999999026224355, 0.6000000973775644], [0.49999981670851457, 0.5000001832914854], [0.3333329684317666, 0.6666670315682334]]]" + "[[0.5, 0.5], [0.5, 0.5], [0.5, 0.5]]" ] }, - "execution_count": 12, + "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "centroid_start = g.mixed_strategy_profile()\n", - "gbt.nash.liap_solve(\n", - " start=centroid_start\n", - ").equilibria" + "centroid_start" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "id": "c0b62502", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[[0.3999999026224355, 0.6000000973775644],[0.49999981670851457, 0.5000001832914854],[0.3333329684317666, 0.6666670315682334]\\right]$" + ], + "text/plain": [ + "[[0.3999999026224355, 0.6000000973775644], [0.49999981670851457, 0.5000001832914854], [0.3333329684317666, 0.6666670315682334]]" + ] + }, + "execution_count": 61, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gbt.nash.liap_solve(centroid_start).equilibria[0]" ] }, { @@ -77,93 +108,307 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 62, + "id": "cf22064e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[[0.9, 0.1],[0.9, 0.1],[0.9, 0.1]\\right]$" + ], + "text/plain": [ + "[[0.9, 0.1], [0.9, 0.1], [0.9, 0.1]]" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "new_start = g.mixed_strategy_profile([[.9, .1], [.9, .1], [.9, .1]])\n", + "new_start" + ] + }, + { + "cell_type": "code", + "execution_count": 63, "id": "08a22505", "metadata": {}, "outputs": [ { "data": { + "text/latex": [ + "$\\left[[1.0, 0.0],[0.9999999944750116, 5.524988446860122e-09],[0.9999999991845827, 8.154173380971617e-10]\\right]$" + ], "text/plain": [ - "[[[1.0, 0.0], [0.9999999944750116, 5.524988446860122e-09], [0.9999999991845827, 8.154173380971617e-10]]]" + "[[1.0, 0.0], [0.9999999944750116, 5.524988446860122e-09], [0.9999999991845827, 8.154173380971617e-10]]" ] }, - "execution_count": 13, + "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "starting_point = g.mixed_strategy_profile([[.9, .1], [.9, .1], [.9, .1]])\n", - "gbt.nash.liap_solve(\n", - " start=starting_point\n", - ").equilibria" + "gbt.nash.liap_solve(new_start).equilibria[0]" ] }, { "cell_type": "markdown", - "id": "3bc2c6e4", + "id": "3977088f", "metadata": {}, "source": [ + "To search for more equilibria, we can instead generate strategy profiles at random." + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "id": "cfbc2714", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[[0.42490785614203186, 0.5750921438579681],[0.010867606187569386, 0.9891323938124306],[0.20063340358205334, 0.7993665964179466]\\right]$" + ], + "text/plain": [ + "[[0.42490785614203186, 0.5750921438579681], [0.010867606187569386, 0.9891323938124306], [0.20063340358205334, 0.7993665964179466]]" + ] + }, + "execution_count": 64, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "random_start = g.random_strategy_profile()\n", + "random_start" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "id": "eb53062a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[[3.4215809849760725e-06, 0.999996578419015],[0.2499993456690779, 0.7500006543309222],[0.3333333430315835, 0.6666666569684165]\\right]$" + ], + "text/plain": [ + "[[3.4215809849760725e-06, 0.999996578419015], [0.2499993456690779, 0.7500006543309222], [0.3333333430315835, 0.6666666569684165]]" + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gbt.nash.liap_solve(random_start).equilibria[0]" + ] + }, + { + "cell_type": "markdown", + "id": "185c6abb", + "metadata": {}, + "source": [ + "Note that methods which take starting points do record the starting points used in the result object returned.\n", + "However, the random profiles which are generated will differ in different runs of a program.\n", "\n", - " \n", - "\n", - "\n", - "\n", - ".. ipython:: python\n", - "\n", - " \n", - "\n", - "To search for more equilibria, we can instead generate strategy profiles at random.\n", - "\n", - ".. ipython:: python\n", - "\n", - " gbt.nash.liap_solve(g.random_strategy_profile())\n", - "\n", - "Note that methods which take starting points do record the starting points used in the\n", - "result object returned. However, the random profiles which are generated will differ\n", - "in different runs of a program. To support making the generation of random strategy\n", - "profiles reproducible, and for finer-grained control of the generation of these profiles\n", - "if desired, :py:meth:`.Game.random_strategy_profile` and :py:meth:`.Game.random_behavior_profile`\n", - "optionally take a :py:class:`numpy.random.Generator` object, which is used as the source\n", - "of randomness for creating the profile.\n", - "\n", - ".. ipython:: python\n", - "\n", - " import numpy as np\n", - " gen = np.random.default_rng(seed=1234567890)\n", - " p1 = g.random_strategy_profile(gen=gen)\n", - " p1\n", - " gen = np.random.default_rng(seed=1234567890)\n", - " p2 = g.random_strategy_profile(gen=gen)\n", - " p2\n", - " p1 == p2\n", - "\n", - "When creating profiles in which probabilities are represented as floating-point numbers,\n", - ":py:meth:`.Game.random_strategy_profile` and :py:meth:`.Game.random_behavior_profile`\n", - "internally use the Dirichlet distribution for each simplex to generate correctly uniform\n", - "sampling over probabilities. However, in some applications generation of random profiles\n", - "with probabilities as rational numbers is desired. For example, :py:func:`.simpdiv_solve`\n", - "takes such a starting point, because it operates by successively refining a triangulation\n", - "over the space of mixed strategy profiles.\n", - ":py:meth:`.Game.random_strategy_profile` and :py:meth:`.Game.random_behavior_profile`\n", - "both take an optional parameter `denom` which, if specified, generates a profile in which\n", - "probabilities are generated uniformly from the grid in each simplex in which all probabilities\n", - "have denominator `denom`.\n", - "\n", - ".. ipython:: python\n", - "\n", - " gen = np.random.default_rng(seed=1234567890)\n", - " g.random_strategy_profile(denom=10, gen=gen)\n", - " g.random_strategy_profile(denom=10, gen=gen)\n", - "\n", - "These can then be used in conjunction with :py:func:`.simpdiv_solve` to search for equilibria\n", - "from different starting points.\n", + "To support making the generation of random strategy profiles reproducible, and for finer-grained control of the generation of these profiles if desired, `Game.random_strategy_profile` and `Game.random_behavior_profile` optionally take a `numpy.random.Generator` object, which is used as the source of randomness for creating the profile." + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "id": "4293343a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import numpy as np\n", + "gen = np.random.default_rng(seed=1234567890)\n", + "p1 = g.random_strategy_profile(gen=gen)\n", + "gen = np.random.default_rng(seed=1234567890)\n", + "p2 = g.random_strategy_profile(gen=gen)\n", + "p1 == p2" + ] + }, + { + "cell_type": "markdown", + "id": "a98e0b66", + "metadata": {}, + "source": [ + "When creating profiles in which probabilities are represented as floating-point numbers, `Game.random_strategy_profile` and `Game.random_behavior_profile` internally use the Dirichlet distribution for each simplex to generate correctly uniform sampling over probabilities.\n", + "However, in some applications generation of random profiles with probabilities as rational numbers is desired.\n", "\n", - ".. ipython:: python\n", + "For example, `simpdiv_solve` takes such a starting point, because it operates by successively refining a triangulation over the space of mixed strategy profiles.\n", + "`Game.random_strategy_profile` and `Game.random_behavior_profile` both take an optional parameter `denom` which, if specified, generates a profile in which probabilities are generated uniformly from the grid in each simplex in which all probabilities have denominator `denom`.\n", "\n", - " gbt.nash.simpdiv_solve(g.random_strategy_profile(denom=10, gen=gen))\n", - " gbt.nash.simpdiv_solve(g.random_strategy_profile(denom=10, gen=gen))\n", - " gbt.nash.simpdiv_solve(g.random_strategy_profile(denom=10, gen=gen))" + "These can then be used in conjunction with `simpdiv_solve` to search for equilibria from different starting points." + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "id": "e9716ae0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[\\left[\\frac{1}{2},\\frac{1}{2}\\right],\\left[\\frac{7}{10},\\frac{3}{10}\\right],\\left[0,1\\right]\\right]$" + ], + "text/plain": [ + "[[Rational(1, 2), Rational(1, 2)], [Rational(7, 10), Rational(3, 10)], [Rational(0, 1), Rational(1, 1)]]" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gen = np.random.default_rng(seed=1234567890)\n", + "rsp = g.random_strategy_profile(denom=10, gen=gen)\n", + "rsp" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "id": "c153918a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[\\left[1,0\\right],\\left[1,0\\right],\\left[1,0\\right]\\right]$" + ], + "text/plain": [ + "[[Rational(1, 1), Rational(0, 1)], [Rational(1, 1), Rational(0, 1)], [Rational(1, 1), Rational(0, 1)]]" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gbt.nash.simpdiv_solve(rsp).equilibria[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "id": "70a57b26", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[\\left[\\frac{1}{10},\\frac{9}{10}\\right],\\left[\\frac{3}{5},\\frac{2}{5}\\right],\\left[\\frac{3}{5},\\frac{2}{5}\\right]\\right]$" + ], + "text/plain": [ + "[[Rational(1, 10), Rational(9, 10)], [Rational(3, 5), Rational(2, 5)], [Rational(3, 5), Rational(2, 5)]]" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rsp1 = g.random_strategy_profile(denom=10, gen=gen)\n", + "rsp1" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "id": "11995836", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[\\left[0,1\\right],\\left[0,1\\right],\\left[1,0\\right]\\right]$" + ], + "text/plain": [ + "[[Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1)], [Rational(1, 1), Rational(0, 1)]]" + ] + }, + "execution_count": 70, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gbt.nash.simpdiv_solve(rsp1).equilibria[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "id": "2791ffe2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[\\left[\\frac{7}{10},\\frac{3}{10}\\right],\\left[\\frac{4}{5},\\frac{1}{5}\\right],\\left[0,1\\right]\\right]$" + ], + "text/plain": [ + "[[Rational(7, 10), Rational(3, 10)], [Rational(4, 5), Rational(1, 5)], [Rational(0, 1), Rational(1, 1)]]" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rsp2 = g.random_strategy_profile(denom=10, gen=gen)\n", + "rsp2" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "id": "2ab2caa4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[\\left[1,0\\right],\\left[1,0\\right],\\left[1,0\\right]\\right]$" + ], + "text/plain": [ + "[[Rational(1, 1), Rational(0, 1)], [Rational(1, 1), Rational(0, 1)], [Rational(1, 1), Rational(0, 1)]]" + ] + }, + "execution_count": 72, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gbt.nash.simpdiv_solve(rsp2).equilibria[0]" ] } ], From 8df19c33a3901389400cf385f99c5521ca5be3ad Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 8 Sep 2025 14:50:59 +0100 Subject: [PATCH 080/240] add qre notebook --- doc/tutorials/05_quantal_response.ipynb | 264 ++++++++++++++++++++++++ 1 file changed, 264 insertions(+) create mode 100644 doc/tutorials/05_quantal_response.ipynb diff --git a/doc/tutorials/05_quantal_response.ipynb b/doc/tutorials/05_quantal_response.ipynb new file mode 100644 index 000000000..0558538b0 --- /dev/null +++ b/doc/tutorials/05_quantal_response.ipynb @@ -0,0 +1,264 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "ef7d397e", + "metadata": {}, + "source": [ + "# Quantal response equilibrium\n", + "\n", + "Gambit implements the idea of [McKPal95]_ and [McKPal98]_ to compute Nash equilibria via path-following a branch of the logit quantal response equilibrium (LQRE) correspondence using the function `logit_solve`.\n", + "As an example, we will consider an asymmetric matching pennies game from [Och95]_ as analyzed in [McKPal95]_." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "ebc4c60e", + "metadata": {}, + "outputs": [], + "source": [ + "import pygambit as gbt" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "202786ef", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "NashComputationResult(method='logit', rational=False, use_strategic=True, equilibria=[[[0.5000000234106035, 0.49999997658939654], [0.19998563837426647, 0.8000143616257336]]], parameters={'first_step': 0.03, 'max_accel': 1.1})" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "g = gbt.Game.from_arrays(\n", + " [[1.1141, 0], [0, 0.2785]],\n", + " [[0, 1.1141], [1.1141, 0]],\n", + " title=\"Ochs (1995) asymmetric matching pennies as transformed in McKelvey-Palfrey (1995)\"\n", + ")\n", + "gbt.nash.logit_solve(g)" + ] + }, + { + "cell_type": "markdown", + "id": "1ce76964", + "metadata": {}, + "source": [ + "`logit_solve` returns only the limiting (approximate) Nash equilibrium found.\n", + "Profiles along the QRE correspondence are frequently of interest in their own right.\n", + "Gambit offers several functions for more detailed examination of branches of the QRE correspondence.\n", + "\n", + "The function `logit_solve_branch` uses the same procedure as `logit_solve`, but returns a list of LQRE profiles computed along the branch instead of just the limiting approximate Nash equilibrium." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "840d9203", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "193" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "qres = gbt.qre.logit_solve_branch(g)\n", + "len(qres)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "be419db2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "LogitQREMixedStrategyProfile(lam=0.000000,profile=[[0.5, 0.5], [0.5, 0.5]])" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "qres[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "582838de", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "LogitQREMixedStrategyProfile(lam=0.175632,profile=[[0.5182276540742868, 0.4817723459257562], [0.49821668880066783, 0.5017833111993909]])" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "qres[5]" + ] + }, + { + "cell_type": "markdown", + "id": "61e86949", + "metadata": {}, + "source": [ + "`logit_solve_branch` uses an adaptive step size heuristic to find points on the branch.\n", + "The parameters `first_step` and `max_accel` are used to adjust the initial step size and the maximum rate at which the step size changes adaptively.\n", + "The step size used is computed as the distance traveled along the path, and, importantly, not the distance as measured by changes in the precision parameter lambda.\n", + "As a result the lambda values for which profiles are computed cannot be controlled in advance.\n", + "\n", + "In some situations, the LQRE profiles at specified values of lambda are of interest.\n", + "For this, Gambit provides `logit_solve_lambda`.\n", + "This function provides accurate values of strategy profiles at one or more specified values of lambda." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ce354b49", + "metadata": {}, + "outputs": [], + "source": [ + "qres = gbt.qre.logit_solve_lambda(g, lam=[1, 2, 3])\n", + "qres[0]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "280fa428", + "metadata": {}, + "outputs": [], + "source": [ + "qres[1]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3dee57df", + "metadata": {}, + "outputs": [], + "source": [ + "qres[2]" + ] + }, + { + "cell_type": "markdown", + "id": "5601be33", + "metadata": {}, + "source": [ + "LQRE are frequently taken to data by using maximum likelihood estimation to find the LQRE profile that best fits an observed profile of play.\n", + "This is provided by the function `logit_estimate`.\n", + "We replicate the analysis of a block of the data from [Och95]_ for which [McKPal95]_ estimated an LQRE." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "b34a9278", + "metadata": {}, + "outputs": [], + "source": [ + "data = g.mixed_strategy_profile([[128*0.527, 128*(1-0.527)], [128*0.366, 128*(1-0.366)]])\n", + "fit = gbt.qre.logit_estimate(data)" + ] + }, + { + "cell_type": "markdown", + "id": "12534924", + "metadata": {}, + "source": [ + "The returned `LogitQREMixedStrategyFitResult` object contains the results of the estimation.\n", + "The results replicate those reported in [McKPal95]_, including the estimated value of lambda, the QRE profile probabilities, and the log-likelihood.\n", + "\n", + "Because `data` contains the empirical counts of play, and not just frequencies, the resulting log-likelihood is correct for use in likelihoood-ratio tests. [#f1]_" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "e10e9abd", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1.8456097536855862\n", + "[[0.615651314427859, 0.3843486855721409], [0.38329094004562914, 0.6167090599543709]]\n", + "-174.76453191087447\n" + ] + } + ], + "source": [ + "print(fit.lam)\n", + "print(fit.profile)\n", + "print(fit.log_like)" + ] + }, + { + "cell_type": "markdown", + "id": "0316795f", + "metadata": {}, + "source": [ + "All of the functions above also support working with the agent LQRE of [McKPal98]_.\n", + "Agent QRE are computed as the default behavior whenever the game has a extensive (tree) representation.\n", + "\n", + "For `logit_solve`, `logit_solve_branch`, and `logit_solve_lambda`, this can be overriden by passing `use_strategic=True`;\n", + "this will compute LQRE using the reduced strategy set of the game instead.\n", + "\n", + "Likewise, `logit_estimate` will perform estimation using agent LQRE if the data passed are a `MixedBehaviorProfile`, and will return a `LogitQREMixedBehaviorFitResult` object.\n", + "\n", + "[#f1] The log-likelihoods quoted in [McKPal95]_ are exactly a factor of 10 larger than those obtained by replicating the calculation." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "gambitvenv313", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 6525210f2d663f395dfc35604526506838f19d57 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 8 Sep 2025 14:59:48 +0100 Subject: [PATCH 081/240] add links --- doc/tutorials/05_quantal_response.ipynb | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/doc/tutorials/05_quantal_response.ipynb b/doc/tutorials/05_quantal_response.ipynb index 0558538b0..b31db58c8 100644 --- a/doc/tutorials/05_quantal_response.ipynb +++ b/doc/tutorials/05_quantal_response.ipynb @@ -7,8 +7,8 @@ "source": [ "# Quantal response equilibrium\n", "\n", - "Gambit implements the idea of [McKPal95]_ and [McKPal98]_ to compute Nash equilibria via path-following a branch of the logit quantal response equilibrium (LQRE) correspondence using the function `logit_solve`.\n", - "As an example, we will consider an asymmetric matching pennies game from [Och95]_ as analyzed in [McKPal95]_." + "Gambit implements the idea of [McKPal95](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts) and [McKPal98](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts) to compute Nash equilibria via path-following a branch of the logit quantal response equilibrium (LQRE) correspondence using the function `logit_solve`.\n", + "As an example, we will consider an asymmetric matching pennies game from [Och95](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts) as analyzed in [McKPal95](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts)." ] }, { @@ -176,7 +176,7 @@ "source": [ "LQRE are frequently taken to data by using maximum likelihood estimation to find the LQRE profile that best fits an observed profile of play.\n", "This is provided by the function `logit_estimate`.\n", - "We replicate the analysis of a block of the data from [Och95]_ for which [McKPal95]_ estimated an LQRE." + "We replicate the analysis of a block of the data from [Och95](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts) for which [McKPal95](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts) estimated an LQRE." ] }, { @@ -196,9 +196,10 @@ "metadata": {}, "source": [ "The returned `LogitQREMixedStrategyFitResult` object contains the results of the estimation.\n", - "The results replicate those reported in [McKPal95]_, including the estimated value of lambda, the QRE profile probabilities, and the log-likelihood.\n", + "The results replicate those reported in [McKPal95](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts), including the estimated value of lambda, the QRE profile probabilities, and the log-likelihood.\n", "\n", - "Because `data` contains the empirical counts of play, and not just frequencies, the resulting log-likelihood is correct for use in likelihoood-ratio tests. [#f1]_" + "Because `data` contains the empirical counts of play, and not just frequencies, the resulting log-likelihood is correct for use in likelihoood-ratio tests.\n", + "[[1](#f1)]" ] }, { @@ -228,7 +229,7 @@ "id": "0316795f", "metadata": {}, "source": [ - "All of the functions above also support working with the agent LQRE of [McKPal98]_.\n", + "All of the functions above also support working with the agent LQRE of [McKPal98](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts).\n", "Agent QRE are computed as the default behavior whenever the game has a extensive (tree) representation.\n", "\n", "For `logit_solve`, `logit_solve_branch`, and `logit_solve_lambda`, this can be overriden by passing `use_strategic=True`;\n", @@ -236,7 +237,9 @@ "\n", "Likewise, `logit_estimate` will perform estimation using agent LQRE if the data passed are a `MixedBehaviorProfile`, and will return a `LogitQREMixedBehaviorFitResult` object.\n", "\n", - "[#f1] The log-likelihoods quoted in [McKPal95]_ are exactly a factor of 10 larger than those obtained by replicating the calculation." + "### Footnotes\n", + "\n", + " The log-likelihoods quoted in [McKPal95](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts) are exactly a factor of 10 larger than those obtained by replicating the calculation." ] } ], From 33d14fea0713ae27b0e3e5b64e0aa5928c7097ef Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 8 Sep 2025 15:31:22 +0100 Subject: [PATCH 082/240] finish t05 --- doc/tutorials/05_quantal_response.ipynb | 119 ++++++++++++++++++------ 1 file changed, 91 insertions(+), 28 deletions(-) diff --git a/doc/tutorials/05_quantal_response.ipynb b/doc/tutorials/05_quantal_response.ipynb index b31db58c8..9e66556d5 100644 --- a/doc/tutorials/05_quantal_response.ipynb +++ b/doc/tutorials/05_quantal_response.ipynb @@ -13,7 +13,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 47, "id": "ebc4c60e", "metadata": {}, "outputs": [], @@ -23,17 +23,20 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 48, "id": "202786ef", "metadata": {}, "outputs": [ { "data": { + "text/latex": [ + "$\\left[[0.5000000234106035, 0.49999997658939654],[0.19998563837426647, 0.8000143616257336]\\right]$" + ], "text/plain": [ - "NashComputationResult(method='logit', rational=False, use_strategic=True, equilibria=[[[0.5000000234106035, 0.49999997658939654], [0.19998563837426647, 0.8000143616257336]]], parameters={'first_step': 0.03, 'max_accel': 1.1})" + "[[0.5000000234106035, 0.49999997658939654], [0.19998563837426647, 0.8000143616257336]]" ] }, - "execution_count": 2, + "execution_count": 48, "metadata": {}, "output_type": "execute_result" } @@ -44,7 +47,7 @@ " [[0, 1.1141], [1.1141, 0]],\n", " title=\"Ochs (1995) asymmetric matching pennies as transformed in McKelvey-Palfrey (1995)\"\n", ")\n", - "gbt.nash.logit_solve(g)" + "gbt.nash.logit_solve(g).equilibria[0]" ] }, { @@ -61,7 +64,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 49, "id": "840d9203", "metadata": {}, "outputs": [ @@ -71,7 +74,7 @@ "193" ] }, - "execution_count": 3, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } @@ -83,44 +86,50 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 50, "id": "be419db2", "metadata": {}, "outputs": [ { "data": { + "text/latex": [ + "$\\left[[0.5, 0.5],[0.5, 0.5]\\right]$" + ], "text/plain": [ - "LogitQREMixedStrategyProfile(lam=0.000000,profile=[[0.5, 0.5], [0.5, 0.5]])" + "[[0.5, 0.5], [0.5, 0.5]]" ] }, - "execution_count": 4, + "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "qres[0]" + "qres[0].profile" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 51, "id": "582838de", "metadata": {}, "outputs": [ { "data": { + "text/latex": [ + "$\\left[[0.5182276540742868, 0.4817723459257562],[0.49821668880066783, 0.5017833111993909]\\right]$" + ], "text/plain": [ - "LogitQREMixedStrategyProfile(lam=0.175632,profile=[[0.5182276540742868, 0.4817723459257562], [0.49821668880066783, 0.5017833111993909]])" + "[[0.5182276540742868, 0.4817723459257562], [0.49821668880066783, 0.5017833111993909]]" ] }, - "execution_count": 5, + "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "qres[5]" + "qres[5].profile" ] }, { @@ -140,33 +149,75 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 52, "id": "ce354b49", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[[0.5867840364385154, 0.4132159635614846],[0.4518070316997103, 0.5481929683002897]\\right]$" + ], + "text/plain": [ + "[[0.5867840364385154, 0.4132159635614846], [0.4518070316997103, 0.5481929683002897]]" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "qres = gbt.qre.logit_solve_lambda(g, lam=[1, 2, 3])\n", - "qres[0]" + "qres[0].profile" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 53, "id": "280fa428", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[[0.6175219458400859, 0.3824780541599141],[0.3719816648492249, 0.6280183351507751]\\right]$" + ], + "text/plain": [ + "[[0.6175219458400859, 0.3824780541599141], [0.3719816648492249, 0.6280183351507751]]" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "qres[1]" + "qres[1].profile" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 54, "id": "3dee57df", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[[0.6168968501329284, 0.3831031498670716],[0.31401636202001226, 0.6859836379799877]\\right]$" + ], + "text/plain": [ + "[[0.6168968501329284, 0.3831031498670716], [0.31401636202001226, 0.6859836379799877]]" + ] + }, + "execution_count": 54, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "qres[2]" + "qres[2].profile" ] }, { @@ -181,13 +232,25 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 55, "id": "b34a9278", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "pygambit.qre.LogitQREMixedStrategyFitResult" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "data = g.mixed_strategy_profile([[128*0.527, 128*(1-0.527)], [128*0.366, 128*(1-0.366)]])\n", - "fit = gbt.qre.logit_estimate(data)" + "fit = gbt.qre.logit_estimate(data)\n", + "type(fit)" ] }, { @@ -204,7 +267,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 56, "id": "e10e9abd", "metadata": {}, "outputs": [ From c733acffe977bbb8e140f23bb7bdb3528eaec309 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 9 Sep 2025 09:52:58 +0100 Subject: [PATCH 083/240] render tutorials --- doc/conf.py | 1 + doc/pygambit.rst | 1 + doc/requirements.txt | 1 + doc/tutorials/tutorials.rst | 11 ++++++++++- 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/doc/conf.py b/doc/conf.py index 60292ade6..37c0f9f6a 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -26,6 +26,7 @@ "IPython.sphinxext.ipython_console_highlighting", "IPython.sphinxext.ipython_directive", "sphinx_design", + "nbsphinx", ] # IPython directive configuration diff --git a/doc/pygambit.rst b/doc/pygambit.rst index 556a80afb..96e538787 100644 --- a/doc/pygambit.rst +++ b/doc/pygambit.rst @@ -17,5 +17,6 @@ To install the package, use the following command:: .. toctree:: :maxdepth: 2 + tutorials/tutorials pygambit.user pygambit.api diff --git a/doc/requirements.txt b/doc/requirements.txt index 5909d77ee..f49a209ae 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -4,6 +4,7 @@ scipy==1.16.1 pydata-sphinx-theme==0.16.1 sphinx_design==0.6.1 sphinx-autobuild==2024.10.3 +nbsphinx==0.9.7 ipython==9.4.0 matplotlib==3.10.5 pickleshare==0.7.5 diff --git a/doc/tutorials/tutorials.rst b/doc/tutorials/tutorials.rst index 280e159bd..b55eae8ef 100644 --- a/doc/tutorials/tutorials.rst +++ b/doc/tutorials/tutorials.rst @@ -10,4 +10,13 @@ Tutorials 4-6 follow from tutorials 1-3 and do not re-explain the fundamentals o Tutorial 4 assumes some familiarity with Game Theory terminology and concepts including: - Nash equilibria - Mixed strategies -- Simplex representations of available strategies \ No newline at end of file +- Simplex representations of available strategies + +.. toctree:: + :maxdepth: 2 + + 01_quickstart + 02_extensive_form + 03_poker + 04_starting_points + 05_quantal_response \ No newline at end of file From d21ea80ed6f17507e74322aa21c9b40493b4dd50 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 9 Sep 2025 09:54:00 +0100 Subject: [PATCH 084/240] add pandoc to readthedocs config --- .readthedocs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.readthedocs.yml b/.readthedocs.yml index 1dd08d262..af921b438 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -11,6 +11,7 @@ build: python: "3.13" apt_packages: - libgmp-dev + - pandoc python: install: From 5aeb1588193873d8e957f9436f879d82b74c680a Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 9 Sep 2025 10:03:36 +0100 Subject: [PATCH 085/240] add pandoc to documentation requirements --- doc/developer.contributing.rst | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/developer.contributing.rst b/doc/developer.contributing.rst index daf27fcac..6dd664569 100644 --- a/doc/developer.contributing.rst +++ b/doc/developer.contributing.rst @@ -67,21 +67,21 @@ Editing this documentation python -m venv docenv source docenv/bin/activate -3. Install the requirements and make the docs: :: +3. `Install Pandoc `_ for your OS + +4. Install the requirements and make the docs: :: pip install . cd doc pip install -r requirements.txt make html # or make livehtml for live server with auto-rebuild -4. Open ``doc/_build/html/index.html`` in your browser to view the documentation. +5. Open ``doc/_build/html/index.html`` in your browser to view the documentation. -5. Make any changes you want to the `.rst` files in the ``doc`` directory and rebuld the documentation to check your changes. +6. Make any changes you want to the `.rst` files in the ``doc`` directory and rebuld the documentation to check your changes. -6. Follow the usual GitHub workflow to commit your changes and push them to the repository. +7. Follow the usual GitHub workflow to commit your changes and push them to the repository. -7. Core developers will review your changes and merge to the master branch, which automatically deploys the documentation via the ReadTheDocs service. +8. Core developers will review your changes and merge to the master branch, which automatically deploys the documentation via the ReadTheDocs service. -.. TODO: Add instructions for the GitHub workflow during contributor docs refactoring. - See https://github.com/gambitproject/gambit/issues/541 From 7a166725d56e1904b9b6b3ffa08bde85c751c4f9 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 9 Sep 2025 10:10:17 +0100 Subject: [PATCH 086/240] fix typos and improve clarity in contributing documentation --- doc/developer.contributing.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/developer.contributing.rst b/doc/developer.contributing.rst index 6dd664569..0d81fe9f3 100644 --- a/doc/developer.contributing.rst +++ b/doc/developer.contributing.rst @@ -22,6 +22,8 @@ When reporting a bug, please be sure to include the following: sample game file or files if appropriate; it is often helpful to simplify the game if possible. +.. _contributing-code: + Contributing code ---------------- @@ -78,9 +80,9 @@ Editing this documentation 5. Open ``doc/_build/html/index.html`` in your browser to view the documentation. -6. Make any changes you want to the `.rst` files in the ``doc`` directory and rebuld the documentation to check your changes. +6. Make any changes you want to the `.rst` files in the ``doc`` directory and rebuild the documentation to check your changes. -7. Follow the usual GitHub workflow to commit your changes and push them to the repository. +7. Follow the usual GitHub workflow (see :ref:`contributing-code` above) to commit your changes and push them to the repository. 8. Core developers will review your changes and merge to the master branch, which automatically deploys the documentation via the ReadTheDocs service. From 1113a3784fd781e00d3c653aa3e03d85720c36f5 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 9 Sep 2025 10:20:38 +0100 Subject: [PATCH 087/240] tidy notebooks and add subheader --- doc/pygambit.rst | 2 +- doc/tutorials/01_quickstart.ipynb | 5 ++++- doc/tutorials/02_extensive_form.ipynb | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/doc/pygambit.rst b/doc/pygambit.rst index 96e538787..af9d63d63 100644 --- a/doc/pygambit.rst +++ b/doc/pygambit.rst @@ -15,7 +15,7 @@ To install the package, use the following command:: pip install pygambit .. toctree:: - :maxdepth: 2 + :maxdepth: 3 tutorials/tutorials pygambit.user diff --git a/doc/tutorials/01_quickstart.ipynb b/doc/tutorials/01_quickstart.ipynb index 00ce55b04..98803815d 100644 --- a/doc/tutorials/01_quickstart.ipynb +++ b/doc/tutorials/01_quickstart.ipynb @@ -9,7 +9,7 @@ "\n", "In this tutorial, we'll demo the basic features of the Gambit library for game theory.\n", "\n", - "This includes creating a `Game` object and using it to set up both normal and extensive form games, starting with the Prisoner's Dilemma, one of the most famous games in game theory.\n", + "This includes creating a `Game` object and using it to set up a strategic (normal) form game, the Prisoner's Dilemma, one of the most famous games in game theory.\n", "\n", "We'll then use Gambit's built-in functions to analyze the game and find its Nash equilibria.\n", "\n", @@ -41,7 +41,10 @@ "id": "b563d13d", "metadata": {}, "source": [ + "## Creating a Strategic Form Game\n", + "\n", "First, let's create the game object.\n", + "Since Prisoner's Dilemma is a strategic form game, it can be created in a tabular fashion with `Game.new_table`.\n", "\n", "To do this, we need to know the number of players, which in Prisoner's Dilemma is 2, and the number of strategies for each player, which is in both cases is 2 (Cooperate and Defect)." ] diff --git a/doc/tutorials/02_extensive_form.ipynb b/doc/tutorials/02_extensive_form.ipynb index 862fdb88d..5394e6e25 100644 --- a/doc/tutorials/02_extensive_form.ipynb +++ b/doc/tutorials/02_extensive_form.ipynb @@ -11,7 +11,7 @@ "\n", "Gambit can also be used to set up extensive form games; the game is represented as a tree, where each node represents a decision point for a player, and the branches represent the possible actions they can take.\n", "\n", - "## Example: One-shot trust game with binary actions\n", + "**Example: One-shot trust game with binary actions**\n", "\n", "[Kre90](#kre90) introduced a game commonly referred to as the **trust game**.\n", "We will build a one-shot version of this game using Gambit's game transformation operations.\n", From ace7b17f5092302f159238588006e9d21f0cec0f Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 9 Sep 2025 10:42:28 +0100 Subject: [PATCH 088/240] update tutorial section titles --- doc/tutorials/01_quickstart.ipynb | 14 +++++++------- doc/tutorials/02_extensive_form.ipynb | 6 +++--- doc/tutorials/03_poker.ipynb | 10 ++++++---- doc/tutorials/04_starting_points.ipynb | 2 +- doc/tutorials/05_quantal_response.ipynb | 14 ++++++++++---- 5 files changed, 27 insertions(+), 19 deletions(-) diff --git a/doc/tutorials/01_quickstart.ipynb b/doc/tutorials/01_quickstart.ipynb index 98803815d..dc462a6a2 100644 --- a/doc/tutorials/01_quickstart.ipynb +++ b/doc/tutorials/01_quickstart.ipynb @@ -5,7 +5,7 @@ "id": "88c376d0", "metadata": {}, "source": [ - "# Getting started with Gambit\n", + "# Tutorial 1: Getting started with Gambit\n", "\n", "In this tutorial, we'll demo the basic features of the Gambit library for game theory.\n", "\n", @@ -41,7 +41,7 @@ "id": "b563d13d", "metadata": {}, "source": [ - "## Creating a Strategic Form Game\n", + "## Creating a strategic form game\n", "\n", "First, let's create the game object.\n", "Since Prisoner's Dilemma is a strategic form game, it can be created in a tabular fashion with `Game.new_table`.\n", @@ -178,7 +178,7 @@ "id": "5e9fe410", "metadata": {}, "source": [ - "## With fewer lines of code...\n", + "## Creating games from arrays\n", "\n", "The most direct way to create a strategic form game is via `Game.from_arrays()`.\n", "\n", @@ -262,10 +262,10 @@ "id": "f2e6645e", "metadata": {}, "source": [ - "Computing the Nash equilibria\n", + "Computing the Nash equilibria in one line of code\n", "-----------------------------\n", "\n", - "Let's now use Gambit to compute the Nash equilibria for our Prisoner's Dilemma game, which tells us the strategies that players can adopt to maximize their payoffs, given the assumptions of the Prisoner's Dilemma.\n", + "We can use Gambit to compute the Nash equilibria for our Prisoner's Dilemma game in a single line of code; a Nash equilibrium tells us the strategies that players can adopt to maximize their payoffs, given the setup of the game.\n", "\n", "For a two-player normal form game, let's use `enumpure_solve` to search for a pure-strategy Nash equilibria." ] @@ -388,7 +388,7 @@ "source": [ "The equilibrium shows that both players are playing their dominant strategy, which is to defect. This is because defecting is the best response to the other player's strategy, regardless of what that strategy is.\n", "\n", - "Saving games to file\n", + "Saving a strategic form game to file\n", "--------------------\n", "\n", "You can use Gambit to save games to, and read from files.\n", @@ -412,7 +412,7 @@ "id": "e373be1e", "metadata": {}, "source": [ - "Reading games from file\n", + "Reading strategic form games from file\n", "-----------------------\n", "\n", "You can easily restore the game object from file like so:" diff --git a/doc/tutorials/02_extensive_form.ipynb b/doc/tutorials/02_extensive_form.ipynb index 5394e6e25..4df3c39c5 100644 --- a/doc/tutorials/02_extensive_form.ipynb +++ b/doc/tutorials/02_extensive_form.ipynb @@ -5,7 +5,7 @@ "id": "96019084", "metadata": {}, "source": [ - "# Extensive form games\n", + "# Tutorial 2: Extensive form games\n", "\n", "In the first tutorial, we used Gambit to set up the Prisoner's Dilemma, an example of a normal (strategic) form game.\n", "\n", @@ -275,7 +275,7 @@ "id": "cfc52edc", "metadata": {}, "source": [ - "Saving games to file\n", + "Saving extensive form games to file\n", "--------------------\n", "\n", "You can use Gambit to save games to, and read from files.\n", @@ -299,7 +299,7 @@ "id": "0eb31525", "metadata": {}, "source": [ - "Reading games from file\n", + "Reading extensive foem games from file\n", "-----------------------\n", "\n", "You can easily restore the game object from file like so:" diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index ab116886a..66f196ce3 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -5,7 +5,7 @@ "id": "98eb65d8", "metadata": {}, "source": [ - "# One-card poker game with private information\n", + "# Tutorial 3: Extensive form games with private information\n", "\n", "In this tutorial, we'll create an extensive form representation of a one-card poker game ([Mye91](#mye91)) and use it to demonstrate and explain the following with Gambit:\n", "\n", @@ -134,8 +134,10 @@ "source": [ "Now let's add Alice's first move after the card is dealt.\n", "\n", + "## Information sets\n", + "\n", "In this game, information structure is important.\n", - "Alice knows her card, so the two nodes at which she has the move are part of different information sets.\n", + "Alice knows her card, so the two nodes at which she has the move are part of different **information sets**.\n", "\n", "We'll therefore need to append Alice's move separately for each of the root node's children, i.e. the scenarios where she has a King or a Queen." ] @@ -162,7 +164,7 @@ "id": "4c8d0343", "metadata": {}, "source": [ - "The loop above causes each of the newly-appended moves to be in new **information sets**, reflecting the fact that Alice's decision depends on the knowledge of which card she holds.\n", + "The loop above causes each of the newly-appended moves to be in new information sets, reflecting the fact that Alice's decision depends on the knowledge of which card she holds.\n", "\n", "In contrast, Bob does not know Alice’s card, and therefore cannot distinguish between the two nodes at which he has to make his decision:\n", "\n", @@ -286,7 +288,7 @@ "id": "17eb6af5", "metadata": {}, "source": [ - "## Computing Nash equilibria\n", + "## Computing and interpreting Nash equilibria\n", "\n", "\n", "Since our one-card poker game is extensive form and has two players, we can use the `lcp_solve` algorithm in Gambit to compute the Nash equilibria." diff --git a/doc/tutorials/04_starting_points.ipynb b/doc/tutorials/04_starting_points.ipynb index 087f6a90b..b0200625a 100644 --- a/doc/tutorials/04_starting_points.ipynb +++ b/doc/tutorials/04_starting_points.ipynb @@ -5,7 +5,7 @@ "id": "6818538c", "metadata": {}, "source": [ - "# Generating starting points for algorithms\n", + "# Tutorial 4: Generating starting points for algorithms\n", "\n", "In the previous tutorial, we demonstrated how to calculate the Nash equilibria of a game set up using Gambit and interpret the `MixedStrategyProfile` or `MixedBehaviorProfile` objects returned by the solver.\n", "In this tutorial, we will demonstrate how to use a `MixedStrategyProfile` or `MixedBehaviorProfile` as an initial condition, a starting point, for some methods of computing Nash equilibria.\n", diff --git a/doc/tutorials/05_quantal_response.ipynb b/doc/tutorials/05_quantal_response.ipynb index 9e66556d5..d34249295 100644 --- a/doc/tutorials/05_quantal_response.ipynb +++ b/doc/tutorials/05_quantal_response.ipynb @@ -5,7 +5,7 @@ "id": "ef7d397e", "metadata": {}, "source": [ - "# Quantal response equilibrium\n", + "# Tutorial 5: Quantal response equilibria\n", "\n", "Gambit implements the idea of [McKPal95](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts) and [McKPal98](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts) to compute Nash equilibria via path-following a branch of the logit quantal response equilibrium (LQRE) correspondence using the function `logit_solve`.\n", "As an example, we will consider an asymmetric matching pennies game from [Och95](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts) as analyzed in [McKPal95](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts)." @@ -298,9 +298,15 @@ "For `logit_solve`, `logit_solve_branch`, and `logit_solve_lambda`, this can be overriden by passing `use_strategic=True`;\n", "this will compute LQRE using the reduced strategy set of the game instead.\n", "\n", - "Likewise, `logit_estimate` will perform estimation using agent LQRE if the data passed are a `MixedBehaviorProfile`, and will return a `LogitQREMixedBehaviorFitResult` object.\n", - "\n", - "### Footnotes\n", + "Likewise, `logit_estimate` will perform estimation using agent LQRE if the data passed are a `MixedBehaviorProfile`, and will return a `LogitQREMixedBehaviorFitResult` object." + ] + }, + { + "cell_type": "markdown", + "id": "486f68a7", + "metadata": {}, + "source": [ + "**Footnotes:**\n", "\n", " The log-likelihoods quoted in [McKPal95](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts) are exactly a factor of 10 larger than those obtained by replicating the calculation." ] From 198efe3f29de8ffcc66bed0aa67ef929b817f663 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 9 Sep 2025 10:48:38 +0100 Subject: [PATCH 089/240] fix headers --- doc/tutorials/01_quickstart.ipynb | 2 +- doc/tutorials/02_extensive_form.ipynb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/tutorials/01_quickstart.ipynb b/doc/tutorials/01_quickstart.ipynb index dc462a6a2..b1b850258 100644 --- a/doc/tutorials/01_quickstart.ipynb +++ b/doc/tutorials/01_quickstart.ipynb @@ -388,7 +388,7 @@ "source": [ "The equilibrium shows that both players are playing their dominant strategy, which is to defect. This is because defecting is the best response to the other player's strategy, regardless of what that strategy is.\n", "\n", - "Saving a strategic form game to file\n", + "Saving strategic form games to file\n", "--------------------\n", "\n", "You can use Gambit to save games to, and read from files.\n", diff --git a/doc/tutorials/02_extensive_form.ipynb b/doc/tutorials/02_extensive_form.ipynb index 4df3c39c5..eb9cd7088 100644 --- a/doc/tutorials/02_extensive_form.ipynb +++ b/doc/tutorials/02_extensive_form.ipynb @@ -299,7 +299,7 @@ "id": "0eb31525", "metadata": {}, "source": [ - "Reading extensive foem games from file\n", + "Reading extensive form games from file\n", "-----------------------\n", "\n", "You can easily restore the game object from file like so:" From 2929cf27d391b5cd846ef7e546dfc923d6134255 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 9 Sep 2025 10:58:00 +0100 Subject: [PATCH 090/240] separate docs sections --- doc/pygambit.rst | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/doc/pygambit.rst b/doc/pygambit.rst index af9d63d63..48376ef24 100644 --- a/doc/pygambit.rst +++ b/doc/pygambit.rst @@ -5,18 +5,30 @@ PyGambit ======== Gambit provides a Python package, ``pygambit``, which is available on `PyPI -`_. - -Installation ------------- - -To install the package, use the following command:: +`_ and can be installed with pip:: pip install pygambit +Tutorials +--------- + .. toctree:: :maxdepth: 3 tutorials/tutorials + +User guide +---------- + +.. toctree:: + :maxdepth: 2 + pygambit.user - pygambit.api + +API documentation +---------------- + +.. toctree:: + :maxdepth: 2 + + pygambit.api \ No newline at end of file From 26c7348cb81592286139a12c49f0b28995e4f77a Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 9 Sep 2025 11:05:48 +0100 Subject: [PATCH 091/240] move tutorials onto pygambit homepage --- doc/pygambit.rst | 20 ++++++++++++++++++-- doc/tutorials/running_locally.rst | 3 +++ doc/tutorials/tutorials.rst | 22 ---------------------- 3 files changed, 21 insertions(+), 24 deletions(-) create mode 100644 doc/tutorials/running_locally.rst delete mode 100644 doc/tutorials/tutorials.rst diff --git a/doc/pygambit.rst b/doc/pygambit.rst index 48376ef24..4430a4326 100644 --- a/doc/pygambit.rst +++ b/doc/pygambit.rst @@ -12,10 +12,26 @@ Gambit provides a Python package, ``pygambit``, which is available on `PyPI Tutorials --------- +The goal of these tutorials is to introduce users to the Gambit API and its capabilities for analyzing and solving Game Theory games. + +Tutorials 1-3 assume no prior knowledge of Game Theory or the Gambit API and provide detailed explanations of the concepts and code used. + +Tutorials 4-6 follow from tutorials 1-3 and do not re-explain the fundamentals of the Gambit API. + +Tutorial 4 assumes some familiarity with Game Theory terminology and concepts including: +- Nash equilibria +- Mixed strategies +- Simplex representations of available strategies + .. toctree:: - :maxdepth: 3 + :maxdepth: 2 - tutorials/tutorials + tutorials/running_locally + tutorials/01_quickstart + tutorials/02_extensive_form + tutorials/03_poker + tutorials/04_starting_points + tutorials/05_quantal_response User guide ---------- diff --git a/doc/tutorials/running_locally.rst b/doc/tutorials/running_locally.rst new file mode 100644 index 000000000..0ef361365 --- /dev/null +++ b/doc/tutorials/running_locally.rst @@ -0,0 +1,3 @@ +Running the tutorials locally +============================= + diff --git a/doc/tutorials/tutorials.rst b/doc/tutorials/tutorials.rst deleted file mode 100644 index b55eae8ef..000000000 --- a/doc/tutorials/tutorials.rst +++ /dev/null @@ -1,22 +0,0 @@ -Tutorials -========= - -The goal of these tutorials is to introduce users to the Gambit API and its capabilities for analyzing and solving Game Theory games. - -Tutorials 1-3 assume no prior knowledge of Game Theory or the Gambit API and provide detailed explanations of the concepts and code used. - -Tutorials 4-6 follow from tutorials 1-3 and do not re-explain the fundamentals of the Gambit API. - -Tutorial 4 assumes some familiarity with Game Theory terminology and concepts including: -- Nash equilibria -- Mixed strategies -- Simplex representations of available strategies - -.. toctree:: - :maxdepth: 2 - - 01_quickstart - 02_extensive_form - 03_poker - 04_starting_points - 05_quantal_response \ No newline at end of file From 28b15e411315049da2bb421080ec120cd905f884 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 9 Sep 2025 11:09:26 +0100 Subject: [PATCH 092/240] update homepage link to pygambit --- doc/index.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/index.rst b/doc/index.rst index 2fcb284f3..410c72cbe 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -7,13 +7,13 @@ construction and analysis of finite extensive and strategic games. .. grid:: - .. grid-item-card:: Python user guide + .. grid-item-card:: Python tutorials and user guide :columns: 6 An introduction to using the ``pygambit`` package in Python. - .. button-ref:: pygambit-user + .. button-ref:: pygambit :ref-type: ref :click-parent: :color: secondary From 918036ee4d3b76c99e353a911e605baeed7f5086 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 9 Sep 2025 11:14:23 +0100 Subject: [PATCH 093/240] reduce user guide to remaining content not in tutorials --- doc/pygambit.user.rst | 719 +----------------------------------------- 1 file changed, 3 insertions(+), 716 deletions(-) diff --git a/doc/pygambit.user.rst b/doc/pygambit.user.rst index 293ff3565..13b55ec36 100644 --- a/doc/pygambit.user.rst +++ b/doc/pygambit.user.rst @@ -3,212 +3,6 @@ User guide ---------- -Example: One-shot trust game with binary actions -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -[Kre90]_ introduced a game commonly referred to as the **trust game**. -We will build a one-shot version of this game using ``pygambit``'s game transformation -operations. - -There are two players, a **Buyer** and a **Seller**. -The Buyer moves first and has two actions, **Trust** or **Not trust**. -If the Buyer chooses **Not trust**, then the game ends, and both players -receive payoffs of 0. -If the Buyer chooses **Trust**, then the Seller has a choice with two actions, -**Honor** or **Abuse**. -If the Seller chooses **Honor**, both players receive payoffs of 1; -if the Seller chooses **Abuse**, the Buyer receives a payoff of -1 and the Seller -receives a payoff of 2. - -We create a game with an extensive representation using :py:meth:`.Game.new_tree`: - -.. ipython:: python - - import pygambit as gbt - g = gbt.Game.new_tree(players=["Buyer", "Seller"], - title="One-shot trust game, after Kreps (1990)") - - -The tree of the game contains just a root node, with no children: - -.. ipython:: python - - g.root - g.root.children - - -To extend a game from an existing terminal node, use :py:meth:`.Game.append_move`: - -.. ipython:: python - - g.append_move(g.root, "Buyer", ["Trust", "Not trust"]) - g.root.children - -We can then also add the Seller's move in the situation after the Buyer chooses Trust: - -.. ipython:: python - - g.append_move(g.root.children[0], "Seller", ["Honor", "Abuse"]) - -Now that we have the moves of the game defined, we add payoffs. Payoffs are associated with -an :py:class:`.Outcome`; each :py:class:`Outcome` has a vector of payoffs, one for each player, -and optionally an identifying text label. First we add the outcome associated with the -Seller proving themselves trustworthy: - -.. ipython:: python - - g.set_outcome(g.root.children[0].children[0], g.add_outcome([1, 1], label="Trustworthy")) - -Next, the outcome associated with the scenario where the Buyer trusts but the Seller does -not return the trust: - -.. ipython:: python - - g.set_outcome(g.root.children[0].children[1], g.add_outcome([-1, 2], label="Untrustworthy")) - -And, finally the outcome associated with the Buyer opting out of the interaction: - -.. ipython:: python - - g.set_outcome(g.root.children[1], g.add_outcome([0, 0], label="Opt-out")) - -Nodes without an outcome attached are assumed to have payoffs of zero for all players. -Therefore, adding the outcome to this latter terminal node is not strictly necessary in Gambit, -but it is useful to be explicit for readability. - -.. [Kre90] Kreps, D. (1990) "Corporate Culture and Economic Theory." - In J. Alt and K. Shepsle, eds., *Perspectives on Positive Political Economy*, - Cambridge University Press. - - -.. _pygambit.user.poker: - -Example: A one-card poker game with private information -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -To illustrate games in extensive form, [Mye91]_ presents a one-card poker game. -A version of this game also appears in [RUW08]_, as a classroom game under the -name "stripped-down poker". This is perhaps the simplest interesting game -with imperfect information. - -In our version of the game, there are two players, **Alice** and **Bob**. -There is a deck of cards, with equal numbers of **King** and **Queen** cards. -The game begins with each player putting $1 in the pot. -One card is dealt at random to Alice; Alice observes her card but Bob does not. -After Alice observes her card, she can choose either to **Raise** or to **Fold**. -If she chooses to Fold, Bob wins the pot and the game ends. -If she chooses to Raise, she adds another $1 to the pot. -Bob then chooses either to **Meet** or **Pass**. If he chooses to Pass, -Alice wins the pot and the game ends. -If he chooses to Meet, he adds another $1 to the pot. -There is then a showdown, in which Alice reveals her card. If she has a King, -then she wins the pot; if she has a Queen, then Bob wins the pot. - -We can build this game using the following script:: - - g = gbt.Game.new_tree(players=["Alice", "Bob"], - title="One card poker game, after Myerson (1991)") - g.append_move(g.root, g.players.chance, ["King", "Queen"]) - for node in g.root.children: - g.append_move(node, "Alice", ["Raise", "Fold"]) - g.append_move(g.root.children[0].children[0], "Bob", ["Meet", "Pass"]) - g.append_infoset(g.root.children[1].children[0], - g.root.children[0].children[0].infoset) - alice_winsbig = g.add_outcome([2, -2], label="Alice wins big") - alice_wins = g.add_outcome([1, -1], label="Alice wins") - bob_winsbig = g.add_outcome([-2, 2], label="Bob wins big") - bob_wins = g.add_outcome([-1, 1], label="Bob wins") - g.set_outcome(g.root.children[0].children[0].children[0], alice_winsbig) - g.set_outcome(g.root.children[0].children[0].children[1], alice_wins) - g.set_outcome(g.root.children[0].children[1], bob_wins) - g.set_outcome(g.root.children[1].children[0].children[0], bob_winsbig) - g.set_outcome(g.root.children[1].children[0].children[1], alice_wins) - g.set_outcome(g.root.children[1].children[1], bob_wins) - -All extensive games have a chance (or nature) player, accessible as -``.Game.players.chance``. Moves belonging to the chance player can be added in the same -way as to personal players. At any new move created for the chance player, the action -probabilities default to uniform randomization over the actions at the move. - -In this game, information structure is important. Alice knows her card, so the two nodes -at which she has the move are part of different information sets. The loop:: - - for node in g.root.children: - g.append_move(node, "Alice", ["Raise", "Fold"]) - -causes each of the newly-appended moves to be in new information sets. In contrast, Bob -does not know Alice's card, and therefore cannot distinguish between the two nodes at which -he has the decision. This is implemented in the following lines:: - - g.append_move(g.root.children[0].children[0], "Bob", ["Meet", "Pass"]) - g.append_infoset(g.root.children[1].children[0], - g.root.children[0].children[0].infoset) - -The call :py:meth:`.Game.append_infoset` adds a move at a terminal node as part of -an existing information set (represented in ``pygambit`` as an :py:class:`.Infoset`). - - -.. [Mye91] Myerson, Roger B. (1991) *Game Theory: Analysis of Conflict*. - Cambridge: Harvard University Press. - -.. [RUW08] Reiley, David H., Michael B. Urbancic and Mark Walker. (2008) - "Stripped-down poker: A classroom game with signaling and bluffing." - *The Journal of Economic Education* 39(4): 323-341. - - - -Building a strategic game -~~~~~~~~~~~~~~~~~~~~~~~~~ - -Games in strategic form, also referred to as normal form, are represented solely -by a collection of payoff tables, one per player. The most direct way to create -a strategic game is via :py:meth:`.Game.from_arrays`. This function takes one -n-dimensional array per player, where n is the number of players in the game. -The arrays can be any object that can be indexed like an n-times-nested Python list; -so, for example, `numpy` arrays can be used directly. - -For example, to create a standard prisoner's dilemma game in which the cooperative -payoff is 8, the betrayal payoff is 10, the sucker payoff is 2, and the noncooperative -payoff is 5: - -.. ipython:: python - - import numpy as np - m = np.array([[8, 2], [10, 5]]) - g = gbt.Game.from_arrays(m, np.transpose(m)) - g - -The arrays passed to :py:meth:`.Game.from_arrays` are all indexed in the same sense, that is, -the top level index is the choice of the first player, the second level index of the second player, -and so on. Therefore, to create a two-player symmetric game, as in this example, the payoff matrix -for the second player is transposed before passing to :py:meth:`.Game.from_arrays`. - -There is a reverse function :py:meth:`.Game.to_arrays` that produces -the players' payoff tables given a strategic game. The output is the list of ``numpy`` arrays, -where the number of produced arrays is equal to the number of players. - -.. ipython:: python - - m, m_transposed = g.to_arrays() - m - -The optional parameter `dtype`` controls the data type of the payoffs in the generated arrays. - -.. ipython:: python - - m, m_transposed = g.to_arrays(dtype=float) - m - -The function supports any type which can convert from Python's `fractions.Fraction` type. -For example, to convert the payoffs to their string representations via `str`: - -.. ipython:: python - - m, m_transposed = g.to_arrays(dtype=str) - m - -.. _pygambit.user.numbers: - Representation of numerical data of a game ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -312,71 +106,9 @@ It is safe to use `int` values, but `float` values should be used with some care the values are recorded as intended. -Reading a game from a file -~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Games stored in existing Gambit savefiles can be loaded using :meth:`.read_efg` or :meth:`.read_nfg`: - -.. ipython:: python - :suppress: - - cd ../contrib/games - - -.. ipython:: python - - g = gbt.read_nfg("e02.nfg") - g - -.. ipython:: python - :suppress: - - cd ../../doc - - -Lifetime of a game object and its elements -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -A game is only deallocated when all variables referring to the game either directly -or indirectly have gone out of scope. Indirect references to games include objects such -as :py:class:`~pygambit.gambit.MixedStrategyProfile` or :py:class:`~pygambit.gambit.MixedBehaviorProfile`, -or variables referring to individual elements of a game. - -So for example, the following sequence of operations is valid: - -.. ipython:: python - :suppress: - - cd ../contrib/games - - -.. ipython:: python - - g = gbt.read_efg("e02.efg") - p = g.players[0] - print(p) - g = gbt.read_efg("poker.efg") - print(p) - print(g) - -.. ipython:: python - :suppress: - - cd ../../doc - -The variable `p` refers to a player in the game read from ``e02.efg``. -So, when ``poker.efg`` is read and assigned to the variable `g`, the game from -``e02.efg`` is still referred to indirectly via `p`. The game object from the -first game can therefore still be obtained from the object referring to the -player: - -.. ipython:: python - - print(p.game) - -Computing Nash equilibria -~~~~~~~~~~~~~~~~~~~~~~~~~ +Available Nash equilibria algorithms +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Interfaces to algorithms for computing Nash equilibria are provided in :py:mod:`pygambit.nash`. @@ -394,452 +126,7 @@ Method Python function :ref:`gambit-gnm ` :py:func:`pygambit.nash.gnm_solve` ========================================== ======================================== -We take as an example the :ref:`one-card poker game `. This is a two-player, -constant sum game, and so all of the equilibrium-finding methods can be applied to it. - -For two-player games, :py:func:`.lcp_solve` can compute Nash equilibria directly using -the extensive representation. Assuming that ``g`` refers to the game - -.. ipython:: python - :suppress: - - g = gbt.read_efg("poker.efg") - -.. ipython:: python - - result = gbt.nash.lcp_solve(g) - result - len(result.equilibria) - -The result of the calculation is returned as a :py:class:`.NashComputationResult` object. -The set of equilibria found is reported in :py:attr:`.NashComputationResult.equilibria`; -in this case, this is a list of mixed behavior profiles. -A mixed behavior profile specifies, for each information set, the probability distribution over -actions at that information set. -Indexing a :py:class:`.MixedBehaviorProfile` by a player gives a :py:class:`.MixedBehavior`, -which specifies probability distributions at each of the player's information sets: - -.. ipython:: python - - eqm = result.equilibria[0] - eqm["Alice"] - -In this case, at Alice's first information set, the one at which she has the King, she always raises. -At her second information set, where she has the Queen, she sometimes bluffs, raising with -probability one-third. -The probability distribution at an information set is represented by a :py:class:`.MixedAction`. -:py:meth:`.MixedBehavior.mixed_actions` iterates over these for the player: - -.. ipython:: python - - for infoset, mixed_action in eqm["Alice"].mixed_actions(): - print(infoset) - print(mixed_action) - -So we could extract Alice's probabilities of raising at her respective information sets -like this: - -.. ipython:: python - - {infoset: mixed_action["Raise"] for infoset, mixed_action in eqm["Alice"].mixed_actions()} - -In larger games, labels may not always be the most convenient way to refer to specific -actions. We can also index profiles directly with :py:class:`.Action` objects. -So an alternative way to extract the probabilities of playing "Raise" would be by -iterating Alice's list of actions: - -.. ipython:: python - - {action.infoset: eqm[action] for action in g.players["Alice"].actions if action.label == "Raise"} - - -Looking at Bob's strategy, - -.. ipython:: python - - eqm["Bob"] - -Bob meets Alice's raise two-thirds of the time. The label "Raise" is used in more than one -information set for Alice, so in the above we had to specify information sets when indexing. -When there is no ambiguity, we can specify action labels directly. So for example, because -Bob has only one action named "Meet" in the game, we can extract the probability that Bob plays -"Meet" by: - -.. ipython:: python - - eqm["Bob"]["Meet"] - -Moreover, this is the only action with that label in the game, so we can index the -profile directly using the action label without any ambiguity: - -.. ipython:: python - - eqm["Meet"] - -Because this is an equilibrium, the fact that Bob randomizes at his information set must mean he -is indifferent between the two actions at his information set. :py:meth:`.MixedBehaviorProfile.action_value` -returns the expected payoff of taking an action, conditional on reaching that action's information set: - -.. ipython:: python - - {action: eqm.action_value(action) for action in g.players["Bob"].infosets[0].actions} - -Bob's indifference between his actions arises because of his beliefs given Alice's strategy. -:py:meth:`.MixedBehaviorProfile.belief` returns the probability of reaching a node, conditional on -its information set being reached: - -.. ipython:: python - - {node: eqm.belief(node) for node in g.players["Bob"].infosets[0].members} - -Bob believes that, conditional on Alice raising, there's a 75% chance that she has the king; -therefore, the expected payoff to meeting is in fact -1 as computed. -:py:meth:`.MixedBehaviorProfile.infoset_prob` returns the probability that an information set is -reached: - -.. ipython:: python - - eqm.infoset_prob(g.players["Bob"].infosets[0]) - -The corresponding probability that a node is reached in the play of the game is given -by :py:meth:`.MixedBehaviorProfile.realiz_prob`, and the expected payoff to a player -conditional on reaching a node is given by :py:meth:`.MixedBehaviorProfile.node_value`. - -.. ipython:: python - - {node: eqm.node_value("Bob", node) for node in g.players["Bob"].infosets[0].members} - -The overall expected payoff to a player given the behavior profile is returned by -:py:meth:`.MixedBehaviorProfile.payoff`: - -.. ipython:: python - - eqm.payoff("Alice") - eqm.payoff("Bob") - -The equilibrium computed expresses probabilities in rational numbers. Because -the numerical data of games in Gambit :ref:`are represented exactly `, -methods which are specialized to two-player games, :py:func:`.lp_solve`, :py:func:`.lcp_solve`, -and :py:func:`.enummixed_solve`, can report exact probabilities for equilibrium strategy -profiles. This is enabled by default for these methods. - -When a game has an extensive representation, equilibrium finding methods default to computing -on that representation. It is also possible to compute using the strategic representation. -``pygambit`` transparently computes the reduced strategic form representation of an extensive game - -.. ipython:: python - - [s.label for s in g.players["Alice"].strategies] - -In the strategic form of this game, Alice has four strategies. The generated strategy labels -list the action numbers taken at each information set. We can therefore apply a method which -operates on a strategic game to any game with an extensive representation - -.. ipython:: python - - result = gbt.nash.gnm_solve(g) - result - -:py:func:`.gnm_solve` can be applied to any game with any number of players, and uses a path-following -process in floating-point arithmetic, so it returns profiles with probabilities expressed as -floating-point numbers. This method operates on the strategic representation of the game, so -the returned results are of type :py:class:`~pygambit.gambit.MixedStrategyProfile`, and -specify, for each player, a probability distribution over that player's strategies. -Indexing a :py:class:`.MixedStrategyProfile` by a player gives the probability distribution -over that player's strategies only. - -.. ipython:: python - - eqm = result.equilibria[0] - eqm["Alice"] - eqm["Bob"] - -The expected payoff to a strategy is provided by :py:meth:`.MixedStrategyProfile.strategy_value`: - -.. ipython:: python - - {strategy: eqm.strategy_value(strategy) for strategy in g.players["Alice"].strategies} - {strategy: eqm.strategy_value(strategy) for strategy in g.players["Bob"].strategies} - -The overall expected payoff to a player is returned by :py:meth:`.MixedStrategyProfile.payoff`: - -.. ipython:: python - - eqm.payoff("Alice") - eqm.payoff("Bob") - -When a game has an extensive representation, we can convert freely between -:py:class:`~pygambit.gambit.MixedStrategyProfile` and the corresponding -:py:class:`~pygambit.gambit.MixedBehaviorProfile` representation of the same strategies -using :py:meth:`.MixedStrategyProfile.as_behavior` and :py:meth:`.MixedBehaviorProfile.as_strategy`. - -.. ipython:: python - - eqm.as_behavior() - eqm.as_behavior().as_strategy() - - -.. _pygambit-nash-maxregret: - -Acceptance criteria for Nash equilibria -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Some methods for computing Nash equilibria operate using floating-point arithmetic and/or -generate candidate equilibrium profiles using methods which involve some form of successive -approximations. The outputs of these methods therefore are in general -:math:`\varepsilon`-equilibria, for some positive :math:`\varepsilon`. - -To provide a uniform interface across methods, where relevant Gambit provides a parameter -`maxregret`, which specifies the acceptance criterion for labeling the output of the -algorithm as an equilibrium. -This parameter is interpreted *proportionally* to the range of payoffs in the game. -Any profile returned as an equilibrium is guaranteed to be an -:math:`\varepsilon`-equilibrium, for :math:`\varepsilon` no more than `maxregret` -times the difference of the game's maximum and minimum payoffs. - -As an example, consider solving the standard one-card poker game using -:py:func:`.logit_solve`. The range of the payoffs in this game is 4 (from +2 to -2). - -.. ipython:: python - - g = gbt.read_efg("poker.efg") - g.max_payoff, g.min_payoff - -:py:func:`.logit_solve` is a globally-convergent method, in that it computes a -sequence of profiles which is guaranteed to have a subsequence that converges to a -Nash equilibrium. The default value of `maxregret` for this method is set at -:math:`10^{-8}`: - -.. ipython:: python - - result = gbt.nash.logit_solve(g, maxregret=1e-8) - result.equilibria - result.equilibria[0].max_regret() - -The value of :py:meth:`.MixedBehaviorProfile.max_regret` of the computed profile exceeds -:math:`10^{-8}` measured in payoffs of the game. However, when considered relative -to the scale of the game's payoffs, we see it is less than :math:`10^{-8}` of -the payoff range, as requested: - -.. ipython:: python - - result.equilibria[0].max_regret() / (g.max_payoff - g.min_payoff) - - -In general, for globally-convergent methods especially, there is a tradeoff between -precision and running time. Some methods may be slow to converge on some games, and -it may be useful instead to get a more coarse approximation to an equilibrium. -We could instead ask only for an :math:`\varepsilon`-equilibrium with a -(scaled) :math:`\varepsilon` of no more than :math:`10^{-4}`: - -.. ipython:: python - - result = gbt.nash.logit_solve(g, maxregret=1e-4) - result.equilibria[0] - result.equilibria[0].max_regret() - result.equilibria[0].max_regret() / (g.max_payoff - g.min_payoff) - -The convention of expressing `maxregret` scaled by the game's payoffs standardises the -behavior of methods across games. For example, consider solving the poker game instead -using :py:meth:`.liap_solve`. - -.. ipython:: python - - result = gbt.nash.liap_solve(g.mixed_behavior_profile(), maxregret=1.0e-4) - result.equilibria[0] - result.equilibria[0].max_regret() - result.equilibria[0].max_regret() / (g.max_payoff - g.min_payoff) - -If, instead, we double all payoffs, the output of the method is unchanged. - -.. ipython:: python - - for outcome in g.outcomes: - outcome["Alice"] = outcome["Alice"] * 2 - outcome["Bob"] = outcome["Bob"] * 2 - - result = gbt.nash.liap_solve(g.mixed_behavior_profile(), maxregret=1.0e-4) - result.equilibria[0] - result.equilibria[0].max_regret() - result.equilibria[0].max_regret() / (g.max_payoff - g.min_payoff) - - -Generating starting points for algorithms -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Some methods for computation of Nash equilibria take as an initial condition a -:py:class:`.MixedStrategyProfile` or :py:class:`MixedBehaviorProfile` which is used -as a starting point. The equilibria found will depend on which starting point is -selected. To facilitate generating starting points, :py:class:`.Game` provides -methods :py:meth:`.Game.random_strategy_profile` and :py:meth:`.Game.random_behavior_profile`, -to generate profiles which are drawn from the uniform distribution on the product -of simplices. - -As an example, we consider a three-player game from McKelvey and McLennan (1997), -in which each player has two strategies. This game has nine equilibria in total, and -in particular has two totally mixed Nash equilibria, which is the maximum possible number -of regular totally mixed equilbria in games of this size. - -We first consider finding Nash equilibria in this game using :py:func:`.liap_solve`. -If we run this method starting from the centroid (uniform randomization across all -strategies for each player), :py:func:`.liap_solve` finds one of the totally-mixed equilibria. - -.. ipython:: python - - g = gbt.read_nfg("2x2x2.nfg") - gbt.nash.liap_solve(g.mixed_strategy_profile()) - -Which equilibrium is found depends on the starting point. With a different starting point, -we can find, for example, one of the pure-strategy equilibria. - -.. ipython:: python - - gbt.nash.liap_solve(g.mixed_strategy_profile([[.9, .1], [.9, .1], [.9, .1]])) - -To search for more equilibria, we can instead generate strategy profiles at random. - -.. ipython:: python - - gbt.nash.liap_solve(g.random_strategy_profile()) - -Note that methods which take starting points do record the starting points used in the -result object returned. However, the random profiles which are generated will differ -in different runs of a program. To support making the generation of random strategy -profiles reproducible, and for finer-grained control of the generation of these profiles -if desired, :py:meth:`.Game.random_strategy_profile` and :py:meth:`.Game.random_behavior_profile` -optionally take a :py:class:`numpy.random.Generator` object, which is used as the source -of randomness for creating the profile. - -.. ipython:: python - - import numpy as np - gen = np.random.default_rng(seed=1234567890) - p1 = g.random_strategy_profile(gen=gen) - p1 - gen = np.random.default_rng(seed=1234567890) - p2 = g.random_strategy_profile(gen=gen) - p2 - p1 == p2 - -When creating profiles in which probabilities are represented as floating-point numbers, -:py:meth:`.Game.random_strategy_profile` and :py:meth:`.Game.random_behavior_profile` -internally use the Dirichlet distribution for each simplex to generate correctly uniform -sampling over probabilities. However, in some applications generation of random profiles -with probabilities as rational numbers is desired. For example, :py:func:`.simpdiv_solve` -takes such a starting point, because it operates by successively refining a triangulation -over the space of mixed strategy profiles. -:py:meth:`.Game.random_strategy_profile` and :py:meth:`.Game.random_behavior_profile` -both take an optional parameter `denom` which, if specified, generates a profile in which -probabilities are generated uniformly from the grid in each simplex in which all probabilities -have denominator `denom`. - -.. ipython:: python - - gen = np.random.default_rng(seed=1234567890) - g.random_strategy_profile(denom=10, gen=gen) - g.random_strategy_profile(denom=10, gen=gen) - -These can then be used in conjunction with :py:func:`.simpdiv_solve` to search for equilibria -from different starting points. - -.. ipython:: python - - gbt.nash.simpdiv_solve(g.random_strategy_profile(denom=10, gen=gen)) - gbt.nash.simpdiv_solve(g.random_strategy_profile(denom=10, gen=gen)) - gbt.nash.simpdiv_solve(g.random_strategy_profile(denom=10, gen=gen)) - - -Quantal response equilibrium -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Gambit implements the idea of [McKPal95]_ and [McKPal98]_ to compute Nash equilibria -via path-following a branch of the logit quantal response equilibrium (LQRE) correspondence -using the function :py:func:`.logit_solve`. As an example, we will consider an -asymmetric matching pennies game from [Och95]_ as analyzed in [McKPal95]_. - -.. ipython:: python - - g = gbt.Game.from_arrays( - [[1.1141, 0], [0, 0.2785]], - [[0, 1.1141], [1.1141, 0]], - title="Ochs (1995) asymmetric matching pennies as transformed in McKelvey-Palfrey (1995)" - ) - gbt.nash.logit_solve(g) - - -:py:func:`.logit_solve` returns only the limiting (approximate) Nash equilibrium found. -Profiles along the QRE correspondence are frequently of interest in their own right. -Gambit offers several functions for more detailed examination of branches of the -QRE correspondence. - -The function :py:func:`.logit_solve_branch` uses the same procedure as :py:func:`.logit_solve`, -but returns a list of LQRE profiles computed along the branch instead of just the limiting -approximate Nash equilibrium. - -.. ipython:: python - - qres = gbt.qre.logit_solve_branch(g) - len(qres) - qres[0] - qres[5] - -:py:func:`.logit_solve_branch` uses an adaptive step size heuristic to find points on -the branch. The parameters `first_step` and `max_accel` are used to adjust the initial -step size and the maximum rate at which the step size changes adaptively. The step size -used is computed as the distance traveled along the path, and, importantly, not the -distance as measured by changes in the precision parameter lambda. As a result the -lambda values for which profiles are computed cannot be controlled in advance. -In some situations, the LQRE profiles at specified values of lambda are of interest. -For this, Gambit provides :py:func:`.logit_solve_lambda`. This function provides -accurate values of strategy profiles at one or more specified values of lambda. - -.. ipython:: python - - qres = gbt.qre.logit_solve_lambda(g, lam=[1, 2, 3]) - qres[0] - qres[1] - qres[2] - - -LQRE are frequently taken to data by using maximum likelihood estimation to find the -LQRE profile that best fits an observed profile of play. This is provided by -the function :py:func:`.logit_estimate`. We replicate the analysis of a block -of the data from [Och95]_ for which [McKPal95]_ estimated an LQRE. - -.. ipython:: python - - data = g.mixed_strategy_profile([[128*0.527, 128*(1-0.527)], [128*0.366, 128*(1-0.366)]]) - fit = gbt.qre.logit_estimate(data) - -The returned :py:class:`.LogitQREMixedStrategyFitResult` object contains the results of the -estimation. -The results replicate those reported in [McKPal95]_, including the estimated value of lambda, -the QRE profile probabilities, and the log-likelihood. -Because `data` contains the empirical counts of play, and not just frequencies, the resulting -log-likelihood is correct for use in likelihoood-ratio tests. [#f1]_ - -.. ipython:: python - - print(fit.lam) - print(fit.profile) - print(fit.log_like) - -All of the functions above also support working with the agent LQRE of [McKPal98]_. -Agent QRE are computed as the default behavior whenever the game has a extensive (tree) -representation. For :py:func:`.logit_solve`, :py:func:`.logit_solve_branch`, and -:py:func:`.logit_solve_lambda`, this can be overriden by passing `use_strategic=True`; -this will compute LQRE using the reduced strategy set of the game instead. -Likewise, :py:func:`.logit_estimate` will perform estimation using agent LQRE if the -data passed are a :py:class:`.MixedBehaviorProfile`, and will return a -:py:class:`.LogitQREMixedBehaviorFitResult` object. - -.. rubric:: Footnotes - -.. [#f1] The log-likelihoods quoted in [McKPal95]_ are exactly a factor of 10 larger than - those obtained by replicating the calculation. - - -Using external programs to compute Nash equilbria +Using external programs to compute Nash equilibria ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Because the problem of finding Nash equilibria can be expressed in various From 0c60ac4df6187f73eb4c42391f4350351103b255 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 9 Sep 2025 11:36:25 +0100 Subject: [PATCH 094/240] add header and link to it for representation of numerical data of a game --- doc/tutorials/03_poker.ipynb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 66f196ce3..369b7ab7a 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -790,7 +790,7 @@ "source": [ "The equilibrium computed expresses probabilities in rational numbers.\n", "\n", - "Because the numerical data of games in Gambit [are represented exactly](https://gambitproject.readthedocs.io/en/stable/pygambit.user.html#representation-of-numerical-data-of-a-game), methods which are specialized to two-player games, `lp_solve`, `lcp_solve`, and `enummixed_solve`, can report exact probabilities for equilibrium strategy profiles.\n", + "Because the numerical data of games in Gambit [are represented exactly](#representation-of-numerical-data-of-a-game), methods which are specialized to two-player games, `lp_solve`, `lcp_solve`, and `enummixed_solve`, can report exact probabilities for equilibrium strategy profiles.\n", "\n", "This is enabled by default for these methods.\n", "\n", @@ -1292,6 +1292,14 @@ "\n", "gbt.nash.liap_solve(g.mixed_behavior_profile(), maxregret=1.0e-4).equilibria[0].max_regret() / (g.max_payoff - g.min_payoff)" ] + }, + { + "cell_type": "markdown", + "id": "5f1f66e0", + "metadata": {}, + "source": [ + "## Representation of numerical data of a game" + ] } ], "metadata": { From 1be0a2c46c78011afa8bc401ae50faaf672d50c9 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 9 Sep 2025 13:58:44 +0100 Subject: [PATCH 095/240] move numerical data representation in pygambit to tutorial 03 --- doc/pygambit.user.rst | 104 -------- doc/tutorials/03_poker.ipynb | 449 ++++++++++++++++++++++++++++++----- 2 files changed, 383 insertions(+), 170 deletions(-) diff --git a/doc/pygambit.user.rst b/doc/pygambit.user.rst index 13b55ec36..6930c83e1 100644 --- a/doc/pygambit.user.rst +++ b/doc/pygambit.user.rst @@ -3,110 +3,6 @@ User guide ---------- -Representation of numerical data of a game -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Payoffs to players and probabilities of actions at chance information sets are specified -as numbers. Gambit represents the numerical values in a game in exact precision, -using either decimal or rational representations. - -To illustrate, we consider a trivial game which just has one move for the chance player: - -.. ipython:: python - - import pygambit as gbt - g = gbt.Game.new_tree() - g.append_move(g.root, g.players.chance, ["a", "b", "c"]) - [act.prob for act in g.root.infoset.actions] - -The default when creating a new move for chance is that all actions are chosen with -equal probability. These probabilities are represented as rational numbers, -using ``pygambit``'s :py:class:`.Rational` class, which is derived from Python's -`fractions.Fraction`. Numerical data can be set as rational numbers: - -.. ipython:: python - - g.set_chance_probs(g.root.infoset, - [gbt.Rational(1, 4), gbt.Rational(1, 2), gbt.Rational(1, 4)]) - [act.prob for act in g.root.infoset.actions] - -They can also be explicitly specified as decimal numbers: - -.. ipython:: python - - g.set_chance_probs(g.root.infoset, - [gbt.Decimal(".25"), gbt.Decimal(".50"), gbt.Decimal(".25")]) - [act.prob for act in g.root.infoset.actions] - -Although the two representations above are mathematically equivalent, ``pygambit`` -remembers the format in which the values were specified. - -Expressing rational or decimal numbers as above is verbose and tedious. -``pygambit`` offers a more concise way to express numerical data in games: -when setting numerical game data, ``pygambit`` will attempt to convert text strings to -their rational or decimal representation. The above can therefore be written -more compactly using string representations: - -.. ipython:: python - - g.set_chance_probs(g.root.infoset, ["1/4", "1/2", "1/4"]) - [act.prob for act in g.root.infoset.actions] - - g.set_chance_probs(g.root.infoset, [".25", ".50", ".25"]) - [act.prob for act in g.root.infoset.actions] - -As a further convenience, ``pygambit`` will accept Python ``int`` and ``float`` values. -``int`` values are always interpreted as :py:class:`.Rational` values. -``pygambit`` attempts to render `float` values in an appropriate :py:class:`.Decimal` -equivalent. In the majority of cases, this creates no problems. -For example, - -.. ipython:: python - - g.set_chance_probs(g.root.infoset, [.25, .50, .25]) - [act.prob for act in g.root.infoset.actions] - -However, rounding can cause difficulties when attempting to use `float` values to -represent values which do not have an exact decimal representation - -.. ipython:: python - :okexcept: - - g.set_chance_probs(g.root.infoset, [1/3, 1/3, 1/3]) - -This behavior can be slightly surprising, especially in light of the fact that -in Python, - -.. ipython:: python - - 1/3 + 1/3 + 1/3 - -In checking whether these probabilities sum to one, ``pygambit`` first converts each -of the probabilitiesto a :py:class:`.Decimal` representation, via the following method - -.. ipython:: python - - gbt.Decimal(str(1/3)) - -and the sum-to-one check then fails because - -.. ipython:: python - - gbt.Decimal(str(1/3)) + gbt.Decimal(str(1/3)) + gbt.Decimal(str(1/3)) - -Setting payoffs for players also follows the same rules. Representing probabilities -and payoffs exactly is essential, because ``pygambit`` offers (in particular for two-player -games) the possibility of computation of equilibria exactly, because the Nash equilibria -of any two-player game with rational payoffs and chance probabilities can be expressed exactly -in terms of rational numbers. - -It is therefore advisable always to specify the numerical data of games either in terms -of :py:class:`.Decimal` or :py:class:`.Rational` values, or their string equivalents. -It is safe to use `int` values, but `float` values should be used with some care to ensure -the values are recorded as intended. - - - Available Nash equilibria algorithms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 369b7ab7a..0cdaf7509 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -36,7 +36,7 @@ }, { "cell_type": "code", - "execution_count": 330, + "execution_count": 426, "id": "69cbfe81", "metadata": {}, "outputs": [], @@ -54,7 +54,7 @@ }, { "cell_type": "code", - "execution_count": 331, + "execution_count": 427, "id": "ad6a1119", "metadata": {}, "outputs": [], @@ -75,7 +75,7 @@ }, { "cell_type": "code", - "execution_count": 332, + "execution_count": 428, "id": "841f9f74", "metadata": {}, "outputs": [ @@ -113,7 +113,7 @@ }, { "cell_type": "code", - "execution_count": 333, + "execution_count": 429, "id": "fe80c64c", "metadata": {}, "outputs": [], @@ -144,7 +144,7 @@ }, { "cell_type": "code", - "execution_count": 334, + "execution_count": 430, "id": "0e3bb5ef", "metadata": {}, "outputs": [], @@ -180,7 +180,7 @@ }, { "cell_type": "code", - "execution_count": 335, + "execution_count": 431, "id": "dbfa7035", "metadata": {}, "outputs": [], @@ -204,7 +204,7 @@ }, { "cell_type": "code", - "execution_count": 336, + "execution_count": 432, "id": "655cdae3", "metadata": {}, "outputs": [], @@ -232,7 +232,7 @@ }, { "cell_type": "code", - "execution_count": 337, + "execution_count": 433, "id": "87c988be", "metadata": {}, "outputs": [], @@ -253,7 +253,7 @@ }, { "cell_type": "code", - "execution_count": 338, + "execution_count": 434, "id": "29aa60a0", "metadata": {}, "outputs": [], @@ -296,7 +296,7 @@ }, { "cell_type": "code", - "execution_count": 339, + "execution_count": 435, "id": "4d92c8d9", "metadata": {}, "outputs": [ @@ -306,7 +306,7 @@ "NashComputationResult(method='lcp', rational=True, use_strategic=False, equilibria=[[[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]], [[Rational(2, 3), Rational(1, 3)]]]], parameters={'stop_after': 0, 'max_depth': 0})" ] }, - "execution_count": 339, + "execution_count": 435, "metadata": {}, "output_type": "execute_result" } @@ -330,7 +330,7 @@ }, { "cell_type": "code", - "execution_count": 340, + "execution_count": 436, "id": "9967d6f7", "metadata": {}, "outputs": [ @@ -349,7 +349,7 @@ }, { "cell_type": "code", - "execution_count": 341, + "execution_count": 437, "id": "3293e818", "metadata": {}, "outputs": [ @@ -359,7 +359,7 @@ "pygambit.gambit.MixedBehaviorProfileRational" ] }, - "execution_count": 341, + "execution_count": 437, "metadata": {}, "output_type": "execute_result" } @@ -381,7 +381,7 @@ }, { "cell_type": "code", - "execution_count": 342, + "execution_count": 438, "id": "4cf38264", "metadata": {}, "outputs": [ @@ -391,7 +391,7 @@ "pygambit.gambit.MixedBehavior" ] }, - "execution_count": 342, + "execution_count": 438, "metadata": {}, "output_type": "execute_result" } @@ -402,7 +402,7 @@ }, { "cell_type": "code", - "execution_count": 343, + "execution_count": 439, "id": "85e7fdda", "metadata": {}, "outputs": [ @@ -415,7 +415,7 @@ "[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]]" ] }, - "execution_count": 343, + "execution_count": 439, "metadata": {}, "output_type": "execute_result" } @@ -440,7 +440,7 @@ }, { "cell_type": "code", - "execution_count": 344, + "execution_count": 440, "id": "f45a82b6", "metadata": {}, "outputs": [ @@ -472,7 +472,7 @@ }, { "cell_type": "code", - "execution_count": 345, + "execution_count": 441, "id": "83bbd3e5", "metadata": {}, "outputs": [ @@ -505,7 +505,7 @@ }, { "cell_type": "code", - "execution_count": 346, + "execution_count": 442, "id": "6bf51b38", "metadata": {}, "outputs": [ @@ -518,7 +518,7 @@ "[[Rational(2, 3), Rational(1, 3)]]" ] }, - "execution_count": 346, + "execution_count": 442, "metadata": {}, "output_type": "execute_result" } @@ -541,7 +541,7 @@ }, { "cell_type": "code", - "execution_count": 347, + "execution_count": 443, "id": "2966e700", "metadata": {}, "outputs": [ @@ -554,7 +554,7 @@ "Rational(2, 3)" ] }, - "execution_count": 347, + "execution_count": 443, "metadata": {}, "output_type": "execute_result" } @@ -573,7 +573,7 @@ }, { "cell_type": "code", - "execution_count": 348, + "execution_count": 444, "id": "f5a7f110", "metadata": {}, "outputs": [ @@ -586,7 +586,7 @@ "Rational(2, 3)" ] }, - "execution_count": 348, + "execution_count": 444, "metadata": {}, "output_type": "execute_result" } @@ -607,7 +607,7 @@ }, { "cell_type": "code", - "execution_count": 349, + "execution_count": 445, "id": "a7d3816d", "metadata": {}, "outputs": [ @@ -642,7 +642,7 @@ }, { "cell_type": "code", - "execution_count": 350, + "execution_count": 446, "id": "4a54b20c", "metadata": {}, "outputs": [ @@ -674,7 +674,7 @@ }, { "cell_type": "code", - "execution_count": 351, + "execution_count": 447, "id": "b250c1cd", "metadata": {}, "outputs": [ @@ -687,7 +687,7 @@ "Rational(2, 3)" ] }, - "execution_count": 351, + "execution_count": 447, "metadata": {}, "output_type": "execute_result" } @@ -706,7 +706,7 @@ }, { "cell_type": "code", - "execution_count": 352, + "execution_count": 448, "id": "6f01846b", "metadata": {}, "outputs": [ @@ -737,7 +737,7 @@ }, { "cell_type": "code", - "execution_count": 353, + "execution_count": 449, "id": "5079d231", "metadata": {}, "outputs": [ @@ -750,7 +750,7 @@ "Rational(1, 3)" ] }, - "execution_count": 353, + "execution_count": 449, "metadata": {}, "output_type": "execute_result" } @@ -761,7 +761,7 @@ }, { "cell_type": "code", - "execution_count": 354, + "execution_count": 450, "id": "c55f2c7a", "metadata": {}, "outputs": [ @@ -774,7 +774,7 @@ "Rational(-1, 3)" ] }, - "execution_count": 354, + "execution_count": 450, "metadata": {}, "output_type": "execute_result" } @@ -801,7 +801,7 @@ }, { "cell_type": "code", - "execution_count": 355, + "execution_count": 451, "id": "d4ecff88", "metadata": {}, "outputs": [ @@ -811,7 +811,7 @@ "['11', '12', '21', '22']" ] }, - "execution_count": 355, + "execution_count": 451, "metadata": {}, "output_type": "execute_result" } @@ -835,7 +835,7 @@ }, { "cell_type": "code", - "execution_count": 356, + "execution_count": 452, "id": "24e4b6e8", "metadata": {}, "outputs": [ @@ -845,7 +845,7 @@ "NashComputationResult(method='gnm', rational=False, use_strategic=True, equilibria=[[[0.33333333333866677, 0.6666666666613335, 0.0, 0.0], [0.6666666666559997, 0.3333333333440004]]], parameters={'perturbation': [[1.0, 0.0, 0.0, 0.0], [1.0, 0.0]], 'end_lambda': -10.0, 'steps': 100, 'local_newton_interval': 3, 'local_newton_maxits': 10})" ] }, - "execution_count": 356, + "execution_count": 452, "metadata": {}, "output_type": "execute_result" } @@ -867,7 +867,7 @@ }, { "cell_type": "code", - "execution_count": 357, + "execution_count": 453, "id": "d9ffb4b8", "metadata": {}, "outputs": [ @@ -877,7 +877,7 @@ "pygambit.gambit.MixedStrategyProfileDouble" ] }, - "execution_count": 357, + "execution_count": 453, "metadata": {}, "output_type": "execute_result" } @@ -899,7 +899,7 @@ }, { "cell_type": "code", - "execution_count": 358, + "execution_count": 454, "id": "56e2f847", "metadata": {}, "outputs": [ @@ -952,7 +952,7 @@ }, { "cell_type": "code", - "execution_count": 359, + "execution_count": 455, "id": "d18a91f0", "metadata": {}, "outputs": [ @@ -1026,7 +1026,7 @@ }, { "cell_type": "code", - "execution_count": 360, + "execution_count": 456, "id": "0c55f745", "metadata": {}, "outputs": [ @@ -1036,7 +1036,7 @@ "(Rational(2, 1), Rational(-2, 1))" ] }, - "execution_count": 360, + "execution_count": 456, "metadata": {}, "output_type": "execute_result" } @@ -1058,7 +1058,7 @@ }, { "cell_type": "code", - "execution_count": 361, + "execution_count": 457, "id": "101598c6", "metadata": {}, "outputs": [ @@ -1068,7 +1068,7 @@ "1" ] }, - "execution_count": 361, + "execution_count": 457, "metadata": {}, "output_type": "execute_result" } @@ -1080,7 +1080,7 @@ }, { "cell_type": "code", - "execution_count": 362, + "execution_count": 458, "id": "9b142728", "metadata": {}, "outputs": [ @@ -1090,7 +1090,7 @@ "3.987411578698641e-08" ] }, - "execution_count": 362, + "execution_count": 458, "metadata": {}, "output_type": "execute_result" } @@ -1111,7 +1111,7 @@ }, { "cell_type": "code", - "execution_count": 363, + "execution_count": 459, "id": "ff405409", "metadata": {}, "outputs": [ @@ -1121,7 +1121,7 @@ "9.968528946746602e-09" ] }, - "execution_count": 363, + "execution_count": 459, "metadata": {}, "output_type": "execute_result" } @@ -1142,7 +1142,7 @@ }, { "cell_type": "code", - "execution_count": 364, + "execution_count": 460, "id": "31b0143c", "metadata": {}, "outputs": [ @@ -1152,7 +1152,7 @@ "9.395259956013202e-05" ] }, - "execution_count": 364, + "execution_count": 460, "metadata": {}, "output_type": "execute_result" } @@ -1171,7 +1171,7 @@ }, { "cell_type": "code", - "execution_count": 365, + "execution_count": 461, "id": "7cfba34a", "metadata": {}, "outputs": [ @@ -1179,8 +1179,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 9.61 ms, sys: 56 μs, total: 9.67 ms\n", - "Wall time: 9.65 ms\n" + "CPU times: user 10.4 ms, sys: 100 μs, total: 10.5 ms\n", + "Wall time: 10.5 ms\n" ] }, { @@ -1189,7 +1189,7 @@ "NashComputationResult(method='logit', rational=False, use_strategic=False, equilibria=[[[[1.0, 0.0], [0.3338351656285655, 0.666164834417892]], [[0.6670407651644307, 0.3329592348608147]]]], parameters={'first_step': 0.03, 'max_accel': 1.1})" ] }, - "execution_count": 365, + "execution_count": 461, "metadata": {}, "output_type": "execute_result" } @@ -1201,7 +1201,7 @@ }, { "cell_type": "code", - "execution_count": 366, + "execution_count": 462, "id": "6f1809a7", "metadata": {}, "outputs": [ @@ -1209,8 +1209,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 18.6 ms, sys: 392 μs, total: 19 ms\n", - "Wall time: 19.1 ms\n" + "CPU times: user 19.1 ms, sys: 231 μs, total: 19.3 ms\n", + "Wall time: 19.4 ms\n" ] }, { @@ -1219,7 +1219,7 @@ "NashComputationResult(method='logit', rational=False, use_strategic=False, equilibria=[[[[1.0, 0.0], [0.33333338649882943, 0.6666666135011706]], [[0.6666667065407631, 0.3333332934592369]]]], parameters={'first_step': 0.03, 'max_accel': 1.1})" ] }, - "execution_count": 366, + "execution_count": 462, "metadata": {}, "output_type": "execute_result" } @@ -1241,7 +1241,7 @@ }, { "cell_type": "code", - "execution_count": 367, + "execution_count": 463, "id": "414b6f65", "metadata": {}, "outputs": [ @@ -1251,7 +1251,7 @@ "5.509533871672634e-05" ] }, - "execution_count": 367, + "execution_count": 463, "metadata": {}, "output_type": "execute_result" } @@ -1270,7 +1270,7 @@ }, { "cell_type": "code", - "execution_count": 370, + "execution_count": 464, "id": "a892dc2b", "metadata": {}, "outputs": [ @@ -1280,7 +1280,7 @@ "5.509533871672634e-05" ] }, - "execution_count": 370, + "execution_count": 464, "metadata": {}, "output_type": "execute_result" } @@ -1298,7 +1298,324 @@ "id": "5f1f66e0", "metadata": {}, "source": [ - "## Representation of numerical data of a game" + "## Representation of numerical data of a game\n", + "\n", + "Payoffs to players and probabilities of actions at chance information sets are specified as numbers.\n", + "Gambit represents the numerical values in a game in exact precision, using either decimal or rational representations.\n", + "\n", + "To illustrate, consider a trivial game which just has one move for the chance player:" + ] + }, + { + "cell_type": "code", + "execution_count": 465, + "id": "2f79695a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[Rational(1, 3), Rational(1, 3), Rational(1, 3)]" + ] + }, + "execution_count": 465, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "small_game = gbt.Game.new_tree()\n", + "small_game.append_move(small_game.root, small_game.players.chance, [\"a\", \"b\", \"c\"])\n", + "[act.prob for act in small_game.root.infoset.actions]" + ] + }, + { + "cell_type": "markdown", + "id": "dc4522b5", + "metadata": {}, + "source": [ + "The default when creating a new move for chance is that all actions are chosen with equal probability.\n", + "These probabilities are represented as rational numbers, using `pygambit`'s `Rational` class, which is derived from Python's `fractions.Fraction`.\n", + "\n", + "Numerical data can be set as rational numbers. Here we update the chance action probabilities with `Rational` numbers:" + ] + }, + { + "cell_type": "code", + "execution_count": 466, + "id": "5de6acb2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[Rational(1, 4), Rational(1, 2), Rational(1, 4)]" + ] + }, + "execution_count": 466, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "small_game.set_chance_probs(\n", + " small_game.root.infoset,\n", + " [gbt.Rational(1, 4), gbt.Rational(1, 2), gbt.Rational(1, 4)]\n", + ")\n", + "[act.prob for act in small_game.root.infoset.actions]" + ] + }, + { + "cell_type": "markdown", + "id": "23263b21", + "metadata": {}, + "source": [ + "Numerical data can also be explicitly specified as decimal numbers:" + ] + }, + { + "cell_type": "code", + "execution_count": 467, + "id": "c47d2ab6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[Decimal('0.25'), Decimal('0.50'), Decimal('0.25')]" + ] + }, + "execution_count": 467, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "small_game.set_chance_probs(\n", + " small_game.root.infoset,\n", + " [gbt.Decimal(\".25\"), gbt.Decimal(\".50\"), gbt.Decimal(\".25\")]\n", + ")\n", + "[act.prob for act in small_game.root.infoset.actions]" + ] + }, + { + "cell_type": "markdown", + "id": "bffda303", + "metadata": {}, + "source": [ + "Although the two representations above are mathematically equivalent, `pygambit` remembers the format in which the values were specified.\n", + "\n", + "Expressing rational or decimal numbers as above is verbose and tedious.\n", + "`pygambit` offers a more concise way to express numerical data in games: when setting numerical game data, `pygambit` will attempt to convert text strings to their rational or decimal representation.\n", + "The above can therefore be written more compactly using string representations:" + ] + }, + { + "cell_type": "code", + "execution_count": 468, + "id": "04329084", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[Rational(1, 4), Rational(1, 2), Rational(1, 4)]" + ] + }, + "execution_count": 468, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "small_game.set_chance_probs(small_game.root.infoset, [\"1/4\", \"1/2\", \"1/4\"])\n", + "[act.prob for act in small_game.root.infoset.actions]" + ] + }, + { + "cell_type": "code", + "execution_count": 469, + "id": "9015e129", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[Decimal('0.25'), Decimal('0.50'), Decimal('0.25')]" + ] + }, + "execution_count": 469, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "small_game.set_chance_probs(small_game.root.infoset, [\".25\", \".50\", \".25\"])\n", + "[act.prob for act in small_game.root.infoset.actions]" + ] + }, + { + "cell_type": "markdown", + "id": "9f22d40d", + "metadata": {}, + "source": [ + "As a further convenience, `pygambit` will accept Python `int` and `float` values.\n", + "`int` values are always interpreted as `Rational` values.\n", + "\n", + "`pygambit` attempts to render `float` values in an appropriate `Decimal` equivalent.\n", + "In the majority of cases, this creates no problems.\n", + "For example," + ] + }, + { + "cell_type": "code", + "execution_count": 470, + "id": "0a019aa5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[Decimal('0.25'), Decimal('0.5'), Decimal('0.25')]" + ] + }, + "execution_count": 470, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "small_game.set_chance_probs(small_game.root.infoset, [.25, .50, .25])\n", + "[act.prob for act in small_game.root.infoset.actions]" + ] + }, + { + "cell_type": "markdown", + "id": "d53adcd4", + "metadata": {}, + "source": [ + "However, rounding can cause difficulties when attempting to use `float` values to represent values which do not have an exact decimal representation" + ] + }, + { + "cell_type": "code", + "execution_count": 473, + "id": "1991d288", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ValueError: set_chance_probs(): must specify non-negative probabilities that sum to one\n" + ] + } + ], + "source": [ + "try:\n", + " small_game.set_chance_probs(small_game.root.infoset, [1/3, 1/3, 1/3])\n", + "except ValueError as e:\n", + " print(\"ValueError:\", e)\n" + ] + }, + { + "cell_type": "markdown", + "id": "89fefd34", + "metadata": {}, + "source": [ + "This behavior can be slightly surprising, especially in light of the fact that\n", + "in Python," + ] + }, + { + "cell_type": "code", + "execution_count": 474, + "id": "b1dc37fd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1.0" + ] + }, + "execution_count": 474, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "1/3 + 1/3 + 1/3" + ] + }, + { + "cell_type": "markdown", + "id": "a06699af", + "metadata": {}, + "source": [ + "In checking whether these probabilities sum to one, `pygambit` first converts each of the probabilities to a `Decimal` representation, via the following method" + ] + }, + { + "cell_type": "code", + "execution_count": 475, + "id": "dc1edea2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Decimal('0.3333333333333333')" + ] + }, + "execution_count": 475, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gbt.Decimal(str(1/3))" + ] + }, + { + "cell_type": "markdown", + "id": "4bfff415", + "metadata": {}, + "source": [ + "and the sum-to-one check then fails because" + ] + }, + { + "cell_type": "code", + "execution_count": 476, + "id": "1edd90d6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Decimal('0.9999999999999999')" + ] + }, + "execution_count": 476, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gbt.Decimal(str(1/3)) + gbt.Decimal(str(1/3)) + gbt.Decimal(str(1/3))" + ] + }, + { + "cell_type": "markdown", + "id": "5208b7a4", + "metadata": {}, + "source": [ + "Setting payoffs for players also follows the same rules.\n", + "Representing probabilities and payoffs exactly is essential, because `pygambit` offers (in particular for two-player games) the possibility of computation of equilibria exactly, because the Nash equilibria of any two-player game with rational payoffs and chance probabilities can be expressed exactly in terms of rational numbers.\n", + "\n", + "It is therefore advisable always to specify the numerical data of games either in terms of `Decimal` or `Rational` values, or their string equivalents.\n", + "It is safe to use `int` values, but `float` values should be used with some care to ensure the values are recorded as intended." ] } ], From 2187e75df0e08d7af328d0bb761ed882752fa72f Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 10 Sep 2025 11:15:21 +0100 Subject: [PATCH 096/240] restructure to remove original user guide completely --- ...ser.rst => pygambit.external_programs.rst} | 26 +------------------ doc/pygambit.rst | 17 ++++++++++++ 2 files changed, 18 insertions(+), 25 deletions(-) rename doc/{pygambit.user.rst => pygambit.external_programs.rst} (50%) diff --git a/doc/pygambit.user.rst b/doc/pygambit.external_programs.rst similarity index 50% rename from doc/pygambit.user.rst rename to doc/pygambit.external_programs.rst index 6930c83e1..8877ad241 100644 --- a/doc/pygambit.user.rst +++ b/doc/pygambit.external_programs.rst @@ -1,29 +1,5 @@ -.. _pygambit-user: - -User guide ----------- - -Available Nash equilibria algorithms -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Interfaces to algorithms for computing Nash equilibria are provided in :py:mod:`pygambit.nash`. - -========================================== ======================================== -Method Python function -========================================== ======================================== -:ref:`gambit-enumpure ` :py:func:`pygambit.nash.enumpure_solve` -:ref:`gambit-enummixed ` :py:func:`pygambit.nash.enummixed_solve` -:ref:`gambit-lp ` :py:func:`pygambit.nash.lp_solve` -:ref:`gambit-lcp ` :py:func:`pygambit.nash.lcp_solve` -:ref:`gambit-liap ` :py:func:`pygambit.nash.liap_solve` -:ref:`gambit-logit ` :py:func:`pygambit.nash.logit_solve` -:ref:`gambit-simpdiv ` :py:func:`pygambit.nash.simpdiv_solve` -:ref:`gambit-ipa ` :py:func:`pygambit.nash.ipa_solve` -:ref:`gambit-gnm ` :py:func:`pygambit.nash.gnm_solve` -========================================== ======================================== - Using external programs to compute Nash equilibria -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +================================================== Because the problem of finding Nash equilibria can be expressed in various mathematical formulations (see [McKMcL96]_), it is helpful to make use diff --git a/doc/pygambit.rst b/doc/pygambit.rst index 4430a4326..5a5bd97ed 100644 --- a/doc/pygambit.rst +++ b/doc/pygambit.rst @@ -32,6 +32,7 @@ Tutorial 4 assumes some familiarity with Game Theory terminology and concepts in tutorials/03_poker tutorials/04_starting_points tutorials/05_quantal_response + pygambit.external_programs User guide ---------- @@ -44,6 +45,22 @@ User guide API documentation ---------------- +Interfaces to algorithms for computing Nash equilibria are provided in :py:mod:`pygambit.nash`. + +========================================== ======================================== +Method Python function +========================================== ======================================== +:ref:`gambit-enumpure ` :py:func:`pygambit.nash.enumpure_solve` +:ref:`gambit-enummixed ` :py:func:`pygambit.nash.enummixed_solve` +:ref:`gambit-lp ` :py:func:`pygambit.nash.lp_solve` +:ref:`gambit-lcp ` :py:func:`pygambit.nash.lcp_solve` +:ref:`gambit-liap ` :py:func:`pygambit.nash.liap_solve` +:ref:`gambit-logit ` :py:func:`pygambit.nash.logit_solve` +:ref:`gambit-simpdiv ` :py:func:`pygambit.nash.simpdiv_solve` +:ref:`gambit-ipa ` :py:func:`pygambit.nash.ipa_solve` +:ref:`gambit-gnm ` :py:func:`pygambit.nash.gnm_solve` +========================================== ======================================== + .. toctree:: :maxdepth: 2 From da43f31f7387454ad7e8de04a35a736932064a40 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 10 Sep 2025 11:21:01 +0100 Subject: [PATCH 097/240] reorder table and add explanation --- doc/pygambit.rst | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/doc/pygambit.rst b/doc/pygambit.rst index 5a5bd97ed..93f20adcc 100644 --- a/doc/pygambit.rst +++ b/doc/pygambit.rst @@ -46,19 +46,20 @@ API documentation ---------------- Interfaces to algorithms for computing Nash equilibria are provided in :py:mod:`pygambit.nash`. +The table below summarizes the available PyGambit functions and the corresponding Gambit CLI commands. ========================================== ======================================== -Method Python function +PyGambit function CLI command ========================================== ======================================== -:ref:`gambit-enumpure ` :py:func:`pygambit.nash.enumpure_solve` -:ref:`gambit-enummixed ` :py:func:`pygambit.nash.enummixed_solve` -:ref:`gambit-lp ` :py:func:`pygambit.nash.lp_solve` -:ref:`gambit-lcp ` :py:func:`pygambit.nash.lcp_solve` -:ref:`gambit-liap ` :py:func:`pygambit.nash.liap_solve` -:ref:`gambit-logit ` :py:func:`pygambit.nash.logit_solve` -:ref:`gambit-simpdiv ` :py:func:`pygambit.nash.simpdiv_solve` -:ref:`gambit-ipa ` :py:func:`pygambit.nash.ipa_solve` -:ref:`gambit-gnm ` :py:func:`pygambit.nash.gnm_solve` +:py:func:`pygambit.nash.enumpure_solve` :ref:`gambit-enumpure ` +:py:func:`pygambit.nash.enummixed_solve` :ref:`gambit-enummixed ` +:py:func:`pygambit.nash.lp_solve` :ref:`gambit-lp ` +:py:func:`pygambit.nash.lcp_solve` :ref:`gambit-lcp ` +:py:func:`pygambit.nash.liap_solve` :ref:`gambit-liap ` +:py:func:`pygambit.nash.logit_solve` :ref:`gambit-logit ` +:py:func:`pygambit.nash.simpdiv_solve` :ref:`gambit-simpdiv ` +:py:func:`pygambit.nash.ipa_solve` :ref:`gambit-ipa ` +:py:func:`pygambit.nash.gnm_solve` :ref:`gambit-gnm ` ========================================== ======================================== .. toctree:: From 1e95ff1902cb13031b7ecce20e68809f6eb6a418 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 10 Sep 2025 11:22:13 +0100 Subject: [PATCH 098/240] remove deprecated user guide link --- doc/pygambit.rst | 7 ------- 1 file changed, 7 deletions(-) diff --git a/doc/pygambit.rst b/doc/pygambit.rst index 93f20adcc..1be332b41 100644 --- a/doc/pygambit.rst +++ b/doc/pygambit.rst @@ -34,13 +34,6 @@ Tutorial 4 assumes some familiarity with Game Theory terminology and concepts in tutorials/05_quantal_response pygambit.external_programs -User guide ----------- - -.. toctree:: - :maxdepth: 2 - - pygambit.user API documentation ---------------- From 23b637a58728c626d8f7e8302547ba4b0e70b296 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 10 Sep 2025 11:26:28 +0100 Subject: [PATCH 099/240] save the new table --- doc/pygambit.rst | 2 -- 1 file changed, 2 deletions(-) diff --git a/doc/pygambit.rst b/doc/pygambit.rst index 1be332b41..a1266c6de 100644 --- a/doc/pygambit.rst +++ b/doc/pygambit.rst @@ -9,8 +9,6 @@ Gambit provides a Python package, ``pygambit``, which is available on `PyPI pip install pygambit -Tutorials ---------- The goal of these tutorials is to introduce users to the Gambit API and its capabilities for analyzing and solving Game Theory games. From a84201ae07820c1c103e35d008be8f820f08690c Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 10 Sep 2025 11:39:06 +0100 Subject: [PATCH 100/240] update tutorial explainers --- doc/pygambit.rst | 15 ++++++++------- doc/tutorials/running_locally.rst | 2 ++ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/doc/pygambit.rst b/doc/pygambit.rst index a1266c6de..3c7ed7348 100644 --- a/doc/pygambit.rst +++ b/doc/pygambit.rst @@ -10,26 +10,27 @@ Gambit provides a Python package, ``pygambit``, which is available on `PyPI pip install pygambit -The goal of these tutorials is to introduce users to the Gambit API and its capabilities for analyzing and solving Game Theory games. +For newcomers to Gambit, we recommend reading through the PyGambit tutorials, which demonstrate the API's key capabilities for analyzing and solving Game Theory games. +These tutorials are available to be run interactively as Jupyter notebooks, see :ref:`local_tutorials`. -Tutorials 1-3 assume no prior knowledge of Game Theory or the Gambit API and provide detailed explanations of the concepts and code used. +Tutorials **1-3** assume no prior knowledge of Game Theory or the Gambit API and provide detailed explanations of the concepts and code used. -Tutorials 4-6 follow from tutorials 1-3 and do not re-explain the fundamentals of the Gambit API. - -Tutorial 4 assumes some familiarity with Game Theory terminology and concepts including: +Tutorials **4-6** demonstrate more advanced topics and do not re-explain the fundamentals of the Gambit API. +They also assume some familiarity with Game Theory terminology and concepts including: - Nash equilibria -- Mixed strategies +- Pure and mixed strategies - Simplex representations of available strategies +- Logit quantal response equilibrium (LQRE) correspondence .. toctree:: :maxdepth: 2 - tutorials/running_locally tutorials/01_quickstart tutorials/02_extensive_form tutorials/03_poker tutorials/04_starting_points tutorials/05_quantal_response + tutorials/running_locally pygambit.external_programs diff --git a/doc/tutorials/running_locally.rst b/doc/tutorials/running_locally.rst index 0ef361365..99a354d01 100644 --- a/doc/tutorials/running_locally.rst +++ b/doc/tutorials/running_locally.rst @@ -1,3 +1,5 @@ +.. _local_tutorials: + Running the tutorials locally ============================= From 245816e75909057fbb82767d3fa5322988cfbcb0 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 10 Sep 2025 11:42:53 +0100 Subject: [PATCH 101/240] correct no of tutorials --- doc/pygambit.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/pygambit.rst b/doc/pygambit.rst index 3c7ed7348..5401c39d3 100644 --- a/doc/pygambit.rst +++ b/doc/pygambit.rst @@ -15,8 +15,9 @@ These tutorials are available to be run interactively as Jupyter notebooks, see Tutorials **1-3** assume no prior knowledge of Game Theory or the Gambit API and provide detailed explanations of the concepts and code used. -Tutorials **4-6** demonstrate more advanced topics and do not re-explain the fundamentals of the Gambit API. +Tutorials **4-5** demonstrate more advanced topics and do not re-explain the fundamentals of the Gambit API. They also assume some familiarity with Game Theory terminology and concepts including: + - Nash equilibria - Pure and mixed strategies - Simplex representations of available strategies From de9c8a47e9462e78dda06c1d401b21a9604e883c Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 10 Sep 2025 11:53:30 +0100 Subject: [PATCH 102/240] fix up algorithm table --- doc/pygambit.rst | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/doc/pygambit.rst b/doc/pygambit.rst index 5401c39d3..bda77b3e0 100644 --- a/doc/pygambit.rst +++ b/doc/pygambit.rst @@ -34,27 +34,29 @@ They also assume some familiarity with Game Theory terminology and concepts incl tutorials/running_locally pygambit.external_programs - -API documentation ----------------- +Algorithms for computing Nash equilibria +---------------------------------------- Interfaces to algorithms for computing Nash equilibria are provided in :py:mod:`pygambit.nash`. The table below summarizes the available PyGambit functions and the corresponding Gambit CLI commands. ========================================== ======================================== -PyGambit function CLI command +CLI command PyGambit function ========================================== ======================================== -:py:func:`pygambit.nash.enumpure_solve` :ref:`gambit-enumpure ` -:py:func:`pygambit.nash.enummixed_solve` :ref:`gambit-enummixed ` -:py:func:`pygambit.nash.lp_solve` :ref:`gambit-lp ` -:py:func:`pygambit.nash.lcp_solve` :ref:`gambit-lcp ` -:py:func:`pygambit.nash.liap_solve` :ref:`gambit-liap ` -:py:func:`pygambit.nash.logit_solve` :ref:`gambit-logit ` -:py:func:`pygambit.nash.simpdiv_solve` :ref:`gambit-simpdiv ` -:py:func:`pygambit.nash.ipa_solve` :ref:`gambit-ipa ` -:py:func:`pygambit.nash.gnm_solve` :ref:`gambit-gnm ` +:ref:`gambit-enumpure ` :py:func:`pygambit.nash.enumpure_solve` +:ref:`gambit-enummixed ` :py:func:`pygambit.nash.enummixed_solve` +:ref:`gambit-lp ` :py:func:`pygambit.nash.lp_solve` +:ref:`gambit-lcp ` :py:func:`pygambit.nash.lcp_solve` +:ref:`gambit-liap ` :py:func:`pygambit.nash.liap_solve` +:ref:`gambit-logit ` :py:func:`pygambit.nash.logit_solve` +:ref:`gambit-simpdiv ` :py:func:`pygambit.nash.simpdiv_solve` +:ref:`gambit-ipa ` :py:func:`pygambit.nash.ipa_solve` +:ref:`gambit-gnm ` :py:func:`pygambit.nash.gnm_solve` ========================================== ======================================== +API documentation +---------------- + .. toctree:: :maxdepth: 2 From a57dedd8093992128b3a160e874672d9ad184392 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 10 Sep 2025 12:18:00 +0100 Subject: [PATCH 103/240] break up the PyGambit page appropriately --- doc/pygambit.rst | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/doc/pygambit.rst b/doc/pygambit.rst index bda77b3e0..9b427f7d4 100644 --- a/doc/pygambit.rst +++ b/doc/pygambit.rst @@ -4,19 +4,25 @@ PyGambit ======== -Gambit provides a Python package, ``pygambit``, which is available on `PyPI -`_ and can be installed with pip:: +The Gambit Python package, ``pygambit``, is available on `PyPI `_ and can be installed with pip:: pip install pygambit For newcomers to Gambit, we recommend reading through the PyGambit tutorials, which demonstrate the API's key capabilities for analyzing and solving Game Theory games. These tutorials are available to be run interactively as Jupyter notebooks, see :ref:`local_tutorials`. +All of the tutorials assume a basic knowledge of programming in Python. -Tutorials **1-3** assume no prior knowledge of Game Theory or the Gambit API and provide detailed explanations of the concepts and code used. +Tutorials **1-3** assume no prior knowledge of Game Theory or the PyGambit API and provide detailed explanations of the concepts and code. -Tutorials **4-5** demonstrate more advanced topics and do not re-explain the fundamentals of the Gambit API. -They also assume some familiarity with Game Theory terminology and concepts including: +.. toctree:: + :maxdepth: 2 + + tutorials/01_quickstart + tutorials/02_extensive_form + tutorials/03_poker + +Tutorials **4-5** assume some familiarity with the PyGambit API and Game Theory terminology and concepts including: - Nash equilibria - Pure and mixed strategies @@ -26,11 +32,14 @@ They also assume some familiarity with Game Theory terminology and concepts incl .. toctree:: :maxdepth: 2 - tutorials/01_quickstart - tutorials/02_extensive_form - tutorials/03_poker tutorials/04_starting_points tutorials/05_quantal_response + +You may also wish to read: + +.. toctree:: + :maxdepth: 2 + tutorials/running_locally pygambit.external_programs From bf2b2d076cf1224b6d308c1c84f8112aa538bbab Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 10 Sep 2025 12:37:12 +0100 Subject: [PATCH 104/240] refine tutorial titles and sections --- doc/tutorials/01_quickstart.ipynb | 9 +++----- doc/tutorials/02_extensive_form.ipynb | 32 ++------------------------- doc/tutorials/03_poker.ipynb | 6 ++--- doc/tutorials/running_locally.rst | 4 ++-- 4 files changed, 10 insertions(+), 41 deletions(-) diff --git a/doc/tutorials/01_quickstart.ipynb b/doc/tutorials/01_quickstart.ipynb index b1b850258..777fd51da 100644 --- a/doc/tutorials/01_quickstart.ipynb +++ b/doc/tutorials/01_quickstart.ipynb @@ -5,9 +5,9 @@ "id": "88c376d0", "metadata": {}, "source": [ - "# Tutorial 1: Getting started with Gambit\n", + "# 1) Getting started with Gambit\n", "\n", - "In this tutorial, we'll demo the basic features of the Gambit library for game theory.\n", + "In this tutorial, we'll demo the basic features of the Gambit library for game theory, using the `PyGambit` Python package.\n", "\n", "This includes creating a `Game` object and using it to set up a strategic (normal) form game, the Prisoner's Dilemma, one of the most famous games in game theory.\n", "\n", @@ -388,7 +388,7 @@ "source": [ "The equilibrium shows that both players are playing their dominant strategy, which is to defect. This is because defecting is the best response to the other player's strategy, regardless of what that strategy is.\n", "\n", - "Saving strategic form games to file\n", + "Saving and reading strategic form games to and from file\n", "--------------------\n", "\n", "You can use Gambit to save games to, and read from files.\n", @@ -412,9 +412,6 @@ "id": "e373be1e", "metadata": {}, "source": [ - "Reading strategic form games from file\n", - "-----------------------\n", - "\n", "You can easily restore the game object from file like so:" ] }, diff --git a/doc/tutorials/02_extensive_form.ipynb b/doc/tutorials/02_extensive_form.ipynb index eb9cd7088..54808b17f 100644 --- a/doc/tutorials/02_extensive_form.ipynb +++ b/doc/tutorials/02_extensive_form.ipynb @@ -5,7 +5,7 @@ "id": "96019084", "metadata": {}, "source": [ - "# Tutorial 2: Extensive form games\n", + "# 2) Extensive form games\n", "\n", "In the first tutorial, we used Gambit to set up the Prisoner's Dilemma, an example of a normal (strategic) form game.\n", "\n", @@ -245,37 +245,12 @@ "Therefore, adding the outcome to this latter terminal node is not strictly necessary in Gambit, but it is useful to be explicit for readability." ] }, - { - "cell_type": "code", - "execution_count": 10, - "id": "219a569d", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "Game(title='One-shot trust game, after Kreps (1990)')" - ], - "text/plain": [ - "Game(title='One-shot trust game, after Kreps (1990)')" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# TODO: Show tree (this functionality is not yet implemented)\n", - "g" - ] - }, { "cell_type": "markdown", "id": "cfc52edc", "metadata": {}, "source": [ - "Saving extensive form games to file\n", + "Saving and reading extensive form games to and from file\n", "--------------------\n", "\n", "You can use Gambit to save games to, and read from files.\n", @@ -299,9 +274,6 @@ "id": "0eb31525", "metadata": {}, "source": [ - "Reading extensive form games from file\n", - "-----------------------\n", - "\n", "You can easily restore the game object from file like so:" ] }, diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 0cdaf7509..9ae763c70 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -5,12 +5,12 @@ "id": "98eb65d8", "metadata": {}, "source": [ - "# Tutorial 3: Extensive form games with private information\n", + "# 3) Building games and analyzing equilibria in an example game of one-card poker with private information\n", "\n", "In this tutorial, we'll create an extensive form representation of a one-card poker game ([Mye91](#mye91)) and use it to demonstrate and explain the following with Gambit:\n", "\n", - "1. Setting up an extensive form game with imperfect information using information sets\n", - "2. [Computing Nash equilibria](#cne) and understanding mixed behaviour and mixed strategy profiles\n", + "1. Setting up an extensive form game with imperfect information using [information sets](#information-sets)\n", + "2. [Computing Nash equilibria](#computing-nash-equilibria) and understanding mixed behaviour and mixed strategy profiles\n", "3. [Acceptance criteria for Nash equilibria](#acceptance-criteria-for-nash-equilibria)\n", "\n", "A version of this game also appears in [RUW08](#ruw08), as a classroom game under the name \"stripped-down poker\".\n", diff --git a/doc/tutorials/running_locally.rst b/doc/tutorials/running_locally.rst index 99a354d01..6f9fbbc3f 100644 --- a/doc/tutorials/running_locally.rst +++ b/doc/tutorials/running_locally.rst @@ -1,5 +1,5 @@ .. _local_tutorials: -Running the tutorials locally -============================= +How to run PyGambit tutorials on your computer +============================================== From c7357c9ea0e1f29b3b5a1cb69345ed608f542de3 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 10 Sep 2025 12:42:27 +0100 Subject: [PATCH 105/240] refactor developer doc --- doc/developer.contributing.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/developer.contributing.rst b/doc/developer.contributing.rst index 0d81fe9f3..65857f180 100644 --- a/doc/developer.contributing.rst +++ b/doc/developer.contributing.rst @@ -59,18 +59,18 @@ The project is hosted on GitHub, and contributions can be made via pull requests Editing this documentation -------------------------- -1. If you haven't already, clone the Gambit repository from GitHub: :: +1. `Install Pandoc `_ for your OS + +2. If you haven't already, clone the Gambit repository from GitHub: :: git clone https://github.com/gambitproject/gambit.git cd gambit -2. Either install the docs requirements into your existing PyGambit development environment, or create a new virtual environment and install both the requirements and PyGambit there. For example, you can use `venv` to create a new environment: :: +3. Either install the docs requirements into your existing PyGambit development environment, or create a new virtual environment and install both the requirements and PyGambit there. For example, you can use `venv` to create a new environment: :: python -m venv docenv source docenv/bin/activate -3. `Install Pandoc `_ for your OS - 4. Install the requirements and make the docs: :: pip install . From 67dfd8d0b89aff3e9df648c0cea62bd9395fcf55 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 10 Sep 2025 12:57:48 +0100 Subject: [PATCH 106/240] update running_locally tutorial with detailed setup instructions --- doc/tutorials/running_locally.rst | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/doc/tutorials/running_locally.rst b/doc/tutorials/running_locally.rst index 6f9fbbc3f..f17eae6e2 100644 --- a/doc/tutorials/running_locally.rst +++ b/doc/tutorials/running_locally.rst @@ -3,3 +3,20 @@ How to run PyGambit tutorials on your computer ============================================== +The PyGambit tutorials are available as Jupyter notebooks and can be run interactively using any program that supports Jupyter notebooks, such as JupyterLab or VSCode. +You will need a working installation of Python 3 (tested with 3.9 and later) on your machine. + +1. To download the tutorials, open your OS's command prompt and clone the Gambit repository from GitHub, then navigate to the tutorials directory: :: + + git clone https://github.com/gambitproject/gambit.git + cd gambit/doc/tutorials + +2. Install `PyGambit` and `JupyterLab`. We recommend creating a new virtual environment and installing both the requirements there. e.g. :: + + python -m venv pygambit-env + source pygambit-env/bin/activate + pip install pygambit jupyterlab + +3. Open `JupyterLab` and click on any of the tutorial notebooks (files ending in `.ipynb`) :: + + jupyter lab From 342e9a600102d8fd3dca228ca8e752490b0a482d Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 10 Sep 2025 14:36:06 +0100 Subject: [PATCH 107/240] update tutorial names --- doc/tutorials/04_starting_points.ipynb | 2 +- doc/tutorials/05_quantal_response.ipynb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/tutorials/04_starting_points.ipynb b/doc/tutorials/04_starting_points.ipynb index b0200625a..bcf5518b0 100644 --- a/doc/tutorials/04_starting_points.ipynb +++ b/doc/tutorials/04_starting_points.ipynb @@ -5,7 +5,7 @@ "id": "6818538c", "metadata": {}, "source": [ - "# Tutorial 4: Generating starting points for algorithms\n", + "# 4) Generating starting points for algorithms\n", "\n", "In the previous tutorial, we demonstrated how to calculate the Nash equilibria of a game set up using Gambit and interpret the `MixedStrategyProfile` or `MixedBehaviorProfile` objects returned by the solver.\n", "In this tutorial, we will demonstrate how to use a `MixedStrategyProfile` or `MixedBehaviorProfile` as an initial condition, a starting point, for some methods of computing Nash equilibria.\n", diff --git a/doc/tutorials/05_quantal_response.ipynb b/doc/tutorials/05_quantal_response.ipynb index d34249295..42fe20fff 100644 --- a/doc/tutorials/05_quantal_response.ipynb +++ b/doc/tutorials/05_quantal_response.ipynb @@ -5,7 +5,7 @@ "id": "ef7d397e", "metadata": {}, "source": [ - "# Tutorial 5: Quantal response equilibria\n", + "# 5) Quantal response equilibria\n", "\n", "Gambit implements the idea of [McKPal95](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts) and [McKPal98](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts) to compute Nash equilibria via path-following a branch of the logit quantal response equilibrium (LQRE) correspondence using the function `logit_solve`.\n", "As an example, we will consider an asymmetric matching pennies game from [Och95](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts) as analyzed in [McKPal95](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts)." From 0c9927f1faf3e823ab2f2bf2caf867ed1fc00c8e Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 10 Sep 2025 14:47:32 +0100 Subject: [PATCH 108/240] take prisoners dilemma out of summary details tags --- doc/tutorials/01_quickstart.ipynb | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/doc/tutorials/01_quickstart.ipynb b/doc/tutorials/01_quickstart.ipynb index 777fd51da..f250031cd 100644 --- a/doc/tutorials/01_quickstart.ipynb +++ b/doc/tutorials/01_quickstart.ipynb @@ -13,17 +13,13 @@ "\n", "We'll then use Gambit's built-in functions to analyze the game and find its Nash equilibria.\n", "\n", - "
The Prisoner's Dilemma\n", + "**The Prisoner's Dilemma**\n", "\n", - "The Prisoner's Dilemma is a classic example in game theory that illustrates why two rational individuals who cannot communicate might not cooperate, even if it appears that it is in their best interest to do so. After being caught, the two prisoners are separately offered a deal:\n", + "The Prisoner's Dilemma is a classic example in game theory that illustrates why two rational individuals who cannot communicate might not cooperate, even if it appears that it is in their best interest to do so. After being caught by the police for committing a crime, the two prisoners are separately offered a deal:\n", "\n", - "If both stay silent (cooperate), they get light sentences.\n", - "\n", - "If one betrays (defects) while the other stays silent, the betrayer goes free and the silent one gets a heavy sentence.\n", - "\n", - "If both betray, they both get moderate sentences.\n", - "\n", - "
" + "- If both stay silent (cooperate), they get light sentences.\n", + "- If one defects (betrays the other) while the other stays silent, the defector goes free and the silent one gets a heavy sentence.\n", + "- If both defect, they both get moderate sentences." ] }, { From 98b66508366e0510d98924bfdb0d5a15886e8691 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 10 Sep 2025 14:51:11 +0100 Subject: [PATCH 109/240] move import --- doc/tutorials/01_quickstart.ipynb | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/doc/tutorials/01_quickstart.ipynb b/doc/tutorials/01_quickstart.ipynb index f250031cd..ae78c7e76 100644 --- a/doc/tutorials/01_quickstart.ipynb +++ b/doc/tutorials/01_quickstart.ipynb @@ -22,16 +22,6 @@ "- If both defect, they both get moderate sentences." ] }, - { - "cell_type": "code", - "execution_count": 24, - "id": "894df759", - "metadata": {}, - "outputs": [], - "source": [ - "import pygambit as gbt" - ] - }, { "cell_type": "markdown", "id": "b563d13d", @@ -39,15 +29,16 @@ "source": [ "## Creating a strategic form game\n", "\n", - "First, let's create the game object.\n", + "Let's start by importing PyGambit and creating a game object.\n", "Since Prisoner's Dilemma is a strategic form game, it can be created in a tabular fashion with `Game.new_table`.\n", "\n", - "To do this, we need to know the number of players, which in Prisoner's Dilemma is 2, and the number of strategies for each player, which is in both cases is 2 (Cooperate and Defect)." + "To do this, we need to know the number of players, which in Prisoner's Dilemma is 2, and the number of strategies for each player, which is in both cases is 2 (Cooperate and Defect).\n", + "We'll define a list as long as the number of players, specifying the number of strategies for each player to pass into the `Game.new_table` function." ] }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "id": "2060c1ed", "metadata": {}, "outputs": [ @@ -63,7 +54,8 @@ } ], "source": [ - "# Create a list as long as the number of players, specifying the number of strategies for each player.\n", + "import pygambit as gbt\n", + "\n", "n_strategies = [2, 2]\n", "g = gbt.Game.new_table(n_strategies, title=\"Prisoner's Dilemma\")\n", "type(g)" From f1257bcac2216e7a06bf8f16097954f45a0c8b17 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 10 Sep 2025 15:10:13 +0100 Subject: [PATCH 110/240] final save t01 --- doc/tutorials/01_quickstart.ipynb | 97 +++++++++++++++++++++---------- 1 file changed, 67 insertions(+), 30 deletions(-) diff --git a/doc/tutorials/01_quickstart.ipynb b/doc/tutorials/01_quickstart.ipynb index ae78c7e76..3aa751cc8 100644 --- a/doc/tutorials/01_quickstart.ipynb +++ b/doc/tutorials/01_quickstart.ipynb @@ -38,7 +38,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "2060c1ed", "metadata": {}, "outputs": [ @@ -48,7 +48,7 @@ "pygambit.gambit.Game" ] }, - "execution_count": 25, + "execution_count": 1, "metadata": {}, "output_type": "execute_result" } @@ -73,7 +73,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 2, "id": "9d8203e8", "metadata": {}, "outputs": [], @@ -101,7 +101,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 3, "id": "61030607", "metadata": {}, "outputs": [], @@ -125,7 +125,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 4, "id": "caecc334", "metadata": {}, "outputs": [ @@ -139,7 +139,7 @@ "Game(title='Prisoner's Dilemma')" ] }, - "execution_count": 28, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -179,7 +179,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 5, "id": "843ba7f3", "metadata": {}, "outputs": [ @@ -193,7 +193,7 @@ "Game(title='Another Prisoner's Dilemma')" ] }, - "execution_count": 29, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -224,7 +224,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 6, "id": "5ee752c4", "metadata": {}, "outputs": [ @@ -255,18 +255,30 @@ "\n", "We can use Gambit to compute the Nash equilibria for our Prisoner's Dilemma game in a single line of code; a Nash equilibrium tells us the strategies that players can adopt to maximize their payoffs, given the setup of the game.\n", "\n", - "For a two-player normal form game, let's use `enumpure_solve` to search for a pure-strategy Nash equilibria." + "For a two-player normal form game, let's use `enumpure_solve` to search for a pure-strategy Nash equilibria.\n", + "The returned object will be a `NashComputationResult`." ] }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 7, "id": "a81c06c7", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "pygambit.nash.NashComputationResult" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Returns a NashComputationResult\n", - "result = gbt.nash.enumpure_solve(g)" + "result = gbt.nash.enumpure_solve(g)\n", + "type(result)" ] }, { @@ -274,16 +286,12 @@ "id": "7d8076f8", "metadata": {}, "source": [ - "Let's inspect our result further to see how many equilibria were found.\n", - "\n", - "For a given equilibria, we can then look at the \"mixed strategy profile\", which maps each strategy in a game to the corresponding probability with which that strategy is played.\n", - "\n", - "Finally, we can show the expected payoffs for each player when playing the strategies as specified by an equilibrium profile." + "Let's inspect our result further to see how many equilibria were found." ] }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 8, "id": "bd395180", "metadata": {}, "outputs": [ @@ -293,19 +301,26 @@ "1" ] }, - "execution_count": 32, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "# How many equilibria were found?\n", "len(result.equilibria)" ] }, + { + "cell_type": "markdown", + "id": "5fb009be", + "metadata": {}, + "source": [ + "For a given equilibria, we can then look at the \"mixed strategy profile\", which maps each strategy in a game to the corresponding probability with which that strategy is played." + ] + }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 9, "id": "76570ebc", "metadata": {}, "outputs": [ @@ -318,28 +333,50 @@ "[[Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1)]]" ] }, - "execution_count": 33, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "# Inspect the mixed strategy profile of the found equilibrium\n", "msp = result.equilibria[0]\n", "msp" ] }, + { + "cell_type": "code", + "execution_count": 10, + "id": "6e8cfcde", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "pygambit.gambit.MixedStrategyProfileRational" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(msp)" + ] + }, { "cell_type": "markdown", "id": "f937e1ab", "metadata": {}, "source": [ - "The equilibrium profile `[[0,1],[0,1]]` indicates that both players' strategy is to play \"Cooperate\" with probability 0 and \"Defect\" with probability 1:" + "The mixed strategy profile can show us the expected payoffs for each player when playing the strategies as specified by an equilibrium.\n", + "\n", + "The profile `[[0,1],[0,1]]` indicates that both players' strategy is to play \"Cooperate\" with probability 0 and \"Defect\" with probability 1:" ] }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 11, "id": "980bf6b1", "metadata": {}, "outputs": [ @@ -387,7 +424,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 12, "id": "f58eaa77", "metadata": {}, "outputs": [], @@ -405,7 +442,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 13, "id": "4119a2ac", "metadata": {}, "outputs": [ @@ -415,7 +452,7 @@ "pygambit.gambit.Game" ] }, - "execution_count": 36, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } From 4d52f4ecc6786c0e41a9d9ee14bca4a9c75314c5 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 10 Sep 2025 15:30:02 +0100 Subject: [PATCH 111/240] use reference not link --- doc/tutorials/02_extensive_form.ipynb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/doc/tutorials/02_extensive_form.ipynb b/doc/tutorials/02_extensive_form.ipynb index 54808b17f..c9fbd83db 100644 --- a/doc/tutorials/02_extensive_form.ipynb +++ b/doc/tutorials/02_extensive_form.ipynb @@ -13,7 +13,7 @@ "\n", "**Example: One-shot trust game with binary actions**\n", "\n", - "[Kre90](#kre90) introduced a game commonly referred to as the **trust game**.\n", + "Kreps (1990) introduced a game commonly referred to as the **trust game**.\n", "We will build a one-shot version of this game using Gambit's game transformation operations.\n", "\n", "The game can be defined as follows:\n", @@ -304,7 +304,9 @@ "id": "be034836", "metadata": {}, "source": [ - " Kreps, D. (1990) “Corporate Culture and Economic Theory.” In J. Alt and K. Shepsle, eds., *Perspectives on Positive Political Economy*, Cambridge University Press." + "**References**\n", + "\n", + "Kreps, D. (1990) \"Corporate Culture and Economic Theory.\" In J. Alt and K. Shepsle, eds., *Perspectives on Positive Political Economy*, Cambridge University Press." ] } ], From 19646cb7dc4023af7c81dc903e0ec31fbecd63e2 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 10 Sep 2025 15:36:24 +0100 Subject: [PATCH 112/240] rerun cells --- doc/tutorials/02_extensive_form.ipynb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/tutorials/02_extensive_form.ipynb b/doc/tutorials/02_extensive_form.ipynb index c9fbd83db..e3513c5b6 100644 --- a/doc/tutorials/02_extensive_form.ipynb +++ b/doc/tutorials/02_extensive_form.ipynb @@ -13,7 +13,7 @@ "\n", "**Example: One-shot trust game with binary actions**\n", "\n", - "Kreps (1990) introduced a game commonly referred to as the **trust game**.\n", + "[Kreps (1990)](#references) introduced a game commonly referred to as the **trust game**.\n", "We will build a one-shot version of this game using Gambit's game transformation operations.\n", "\n", "The game can be defined as follows:\n", @@ -261,7 +261,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 10, "id": "37c51152", "metadata": {}, "outputs": [], @@ -279,7 +279,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 11, "id": "0d86a750", "metadata": {}, "outputs": [ @@ -289,7 +289,7 @@ "pygambit.gambit.Game" ] }, - "execution_count": 14, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -304,7 +304,7 @@ "id": "be034836", "metadata": {}, "source": [ - "**References**\n", + "#### References\n", "\n", "Kreps, D. (1990) \"Corporate Culture and Economic Theory.\" In J. Alt and K. Shepsle, eds., *Perspectives on Positive Political Economy*, Cambridge University Press." ] From 2679932357fac120ce2227932fd053da9922b495 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 10 Sep 2025 15:42:11 +0100 Subject: [PATCH 113/240] tidy top markdown --- doc/tutorials/03_poker.ipynb | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 9ae763c70..eb5b68d50 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -5,15 +5,15 @@ "id": "98eb65d8", "metadata": {}, "source": [ - "# 3) Building games and analyzing equilibria in an example game of one-card poker with private information\n", + "# 3) A one-card poker game with private information\n", "\n", - "In this tutorial, we'll create an extensive form representation of a one-card poker game ([Mye91](#mye91)) and use it to demonstrate and explain the following with Gambit:\n", + "In this tutorial, we'll create an extensive form representation of a one-card poker game [[Mye91](#references)] and use it to demonstrate and explain the following with Gambit:\n", "\n", "1. Setting up an extensive form game with imperfect information using [information sets](#information-sets)\n", - "2. [Computing Nash equilibria](#computing-nash-equilibria) and understanding mixed behaviour and mixed strategy profiles\n", + "2. [Computing and interpreting Nash equilibria](#computing-and-interpreting-nash-equilibria) and understanding mixed behaviour and mixed strategy profiles\n", "3. [Acceptance criteria for Nash equilibria](#acceptance-criteria-for-nash-equilibria)\n", "\n", - "A version of this game also appears in [RUW08](#ruw08), as a classroom game under the name \"stripped-down poker\".\n", + "A version of this game also appears in [[RUW08](#references)], as a classroom game under the name \"stripped-down poker\".\n", "\n", "This is perhaps the simplest interesting game with imperfect information.\n", "\n", @@ -273,16 +273,6 @@ "g.set_outcome(g.root.children[\"Queen\"].children[\"Raise\"].children[\"Pass\"], alice_wins)" ] }, - { - "cell_type": "markdown", - "id": "65def67e", - "metadata": {}, - "source": [ - " Myerson, Roger B. (1991) *Game Theory: Analysis of Conflict*. Cambridge: Harvard University Press.\n", - "\n", - " Reiley, David H., Michael B. Urbancic and Mark Walker. (2008) \"Stripped-down poker: A classroom game with signaling and bluffing.\" *The Journal of Economic Education* 39(4): 323-341." - ] - }, { "cell_type": "markdown", "id": "17eb6af5", @@ -1617,6 +1607,18 @@ "It is therefore advisable always to specify the numerical data of games either in terms of `Decimal` or `Rational` values, or their string equivalents.\n", "It is safe to use `int` values, but `float` values should be used with some care to ensure the values are recorded as intended." ] + }, + { + "cell_type": "markdown", + "id": "65def67e", + "metadata": {}, + "source": [ + "#### References\n", + "\n", + "Myerson, Roger B. (1991) *Game Theory: Analysis of Conflict*. Cambridge: Harvard University Press.\n", + "\n", + "Reiley, David H., Michael B. Urbancic and Mark Walker. (2008) \"Stripped-down poker: A classroom game with signaling and bluffing.\" *The Journal of Economic Education* 39(4): 323-341." + ] } ], "metadata": { From 0ac02bb4caed814182316c5a04629fc0300dcdd4 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 10 Sep 2025 15:54:39 +0100 Subject: [PATCH 114/240] explain better --- doc/tutorials/03_poker.ipynb | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index eb5b68d50..da5d6ff1f 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -14,7 +14,6 @@ "3. [Acceptance criteria for Nash equilibria](#acceptance-criteria-for-nash-equilibria)\n", "\n", "A version of this game also appears in [[RUW08](#references)], as a classroom game under the name \"stripped-down poker\".\n", - "\n", "This is perhaps the simplest interesting game with imperfect information.\n", "\n", "In our version of the game, there are two players, **Alice** and **Bob**, and a deck of cards, with equal numbers of **King** and **Queen** cards.\n", @@ -132,14 +131,13 @@ "id": "5cf73f0a", "metadata": {}, "source": [ - "Now let's add Alice's first move after the card is dealt.\n", - "\n", "## Information sets\n", "\n", "In this game, information structure is important.\n", "Alice knows her card, so the two nodes at which she has the move are part of different **information sets**.\n", "\n", - "We'll therefore need to append Alice's move separately for each of the root node's children, i.e. the scenarios where she has a King or a Queen." + "We'll therefore need to append Alice's move separately for each of the root node's children, i.e. the scenarios where she has a King or a Queen.\n", + "Let's now add both of these possible moves." ] }, { From 22895b3543ad0e7db7a9896cc95c35db62a19377 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 10 Sep 2025 15:58:41 +0100 Subject: [PATCH 115/240] typo --- doc/tutorials/03_poker.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index da5d6ff1f..74b7b8e4b 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -167,7 +167,7 @@ "In contrast, Bob does not know Alice’s card, and therefore cannot distinguish between the two nodes at which he has to make his decision:\n", "\n", " - Chance player chooses King, then Alice Raises: `g.root.children[\"King\"].children[\"Raise\"]`\n", - " - Chance player chooses Queen, then Alice Raises: `g.root.children[\"Queen\"].children[\"Raise\"`\n", + " - Chance player chooses Queen, then Alice Raises: `g.root.children[\"Queen\"].children[\"Raise\"]`\n", "\n", "In other words, Bob's decision when Alice has a Queen should be part of the same information set as Bob's decision when Alice has a King.\n", "\n", From 759aa1fb61fcb27bd9b9cb9332fbee2bc8142427 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 10 Sep 2025 15:59:48 +0100 Subject: [PATCH 116/240] explain better --- doc/tutorials/03_poker.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 74b7b8e4b..ca9fe01e8 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -169,7 +169,7 @@ " - Chance player chooses King, then Alice Raises: `g.root.children[\"King\"].children[\"Raise\"]`\n", " - Chance player chooses Queen, then Alice Raises: `g.root.children[\"Queen\"].children[\"Raise\"]`\n", "\n", - "In other words, Bob's decision when Alice has a Queen should be part of the same information set as Bob's decision when Alice has a King.\n", + "In other words, Bob's decision when Alice has raises with a Queen should be part of the same information set as Bob's decision when Alice raises with a King.\n", "\n", "To set this scenario up in Gambit, we'll need to use `Game.append_infoset` to add a move as part of an existing information set (represented in Gambit as an `Infoset`).\n", "\n", From 10ecaf8fd3d4c2d4e7a85c03101eebb3a8c12f2f Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 10 Sep 2025 16:00:03 +0100 Subject: [PATCH 117/240] typo --- doc/tutorials/03_poker.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index ca9fe01e8..bda6ecf36 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -169,7 +169,7 @@ " - Chance player chooses King, then Alice Raises: `g.root.children[\"King\"].children[\"Raise\"]`\n", " - Chance player chooses Queen, then Alice Raises: `g.root.children[\"Queen\"].children[\"Raise\"]`\n", "\n", - "In other words, Bob's decision when Alice has raises with a Queen should be part of the same information set as Bob's decision when Alice raises with a King.\n", + "In other words, Bob's decision when Alice raises with a Queen should be part of the same information set as Bob's decision when Alice raises with a King.\n", "\n", "To set this scenario up in Gambit, we'll need to use `Game.append_infoset` to add a move as part of an existing information set (represented in Gambit as an `Infoset`).\n", "\n", From c21da80fe4dd005ab5fdf8c9083d1f9ea7f5d8ae Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 10 Sep 2025 16:12:48 +0100 Subject: [PATCH 118/240] indent episilon equilibria text --- doc/tutorials/03_poker.ipynb | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index bda6ecf36..470a8eb63 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -984,23 +984,15 @@ "Acceptance criteria for Nash equilibria\n", "---------------------------------------\n", "\n", - "\n", - "\n", "Some methods for computing Nash equilibria operate using floating-point arithmetic and/or generate candidate equilibrium profiles using methods which involve some form of successive approximations.\n", "The outputs of these methods therefore are in general $\\varepsilon$-equilibria, for some positive $\\varepsilon$.\n", "\n", - "
\n", - "\n", - "\n", - "$\\varepsilon$-equilibria (from [Wikipedia](https://en.wikipedia.org/wiki/Epsilon-equilibrium))\n", - "\n", - "\n", + "$\\varepsilon$-equilibria (from [Wikipedia](https://en.wikipedia.org/wiki/Epsilon-equilibrium)):\n", "\n", - "In game theory, an epsilon-equilibrium, or near-Nash equilibrium, is a strategy profile that approximately satisfies the condition of Nash equilibrium. In a Nash equilibrium, no player has an incentive to change his behavior. In an approximate Nash equilibrium, this requirement is weakened to allow the possibility that a player may have a small incentive to do something different.\n", + "> In game theory, an epsilon-equilibrium, or near-Nash equilibrium, is a strategy profile that approximately satisfies the condition of Nash equilibrium. In a Nash equilibrium, no player has an incentive to change his behavior. In an approximate Nash equilibrium, this requirement is weakened to allow the possibility that a player may have a small incentive to do something different.\n", "\n", - "Given a game and a real non-negative parameter $\\varepsilon$, a strategy profile is said to be an $\\varepsilon$-equilibrium if it is not possible for any player to gain more than $\\varepsilon$ in expected payoff by unilaterally deviating from his strategy. Every Nash Equilibrium is equivalent to an $\\varepsilon$-equilibrium where $\\varepsilon = 0$.\n", + "> Given a game and a real non-negative parameter $\\varepsilon$, a strategy profile is said to be an $\\varepsilon$-equilibrium if it is not possible for any player to gain more than $\\varepsilon$ in expected payoff by unilaterally deviating from his strategy. Every Nash Equilibrium is equivalent to an $\\varepsilon$-equilibrium where $\\varepsilon = 0$.\n", "\n", - "
\n", "\n", "To provide a uniform interface across methods, where relevant Gambit provides a parameter\n", "`maxregret`, which specifies the acceptance criterion for labeling the output of the\n", From 5c13a18a1ae3f5448388653f0f64fc17587e06cb Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 10 Sep 2025 16:17:10 +0100 Subject: [PATCH 119/240] rerun notebook cells --- doc/tutorials/03_poker.ipynb | 168 +++++++++++++++++------------------ 1 file changed, 84 insertions(+), 84 deletions(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 470a8eb63..4aa76d3e3 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -35,7 +35,7 @@ }, { "cell_type": "code", - "execution_count": 426, + "execution_count": 1, "id": "69cbfe81", "metadata": {}, "outputs": [], @@ -53,7 +53,7 @@ }, { "cell_type": "code", - "execution_count": 427, + "execution_count": 2, "id": "ad6a1119", "metadata": {}, "outputs": [], @@ -74,7 +74,7 @@ }, { "cell_type": "code", - "execution_count": 428, + "execution_count": 3, "id": "841f9f74", "metadata": {}, "outputs": [ @@ -112,7 +112,7 @@ }, { "cell_type": "code", - "execution_count": 429, + "execution_count": 4, "id": "fe80c64c", "metadata": {}, "outputs": [], @@ -142,7 +142,7 @@ }, { "cell_type": "code", - "execution_count": 430, + "execution_count": 5, "id": "0e3bb5ef", "metadata": {}, "outputs": [], @@ -178,7 +178,7 @@ }, { "cell_type": "code", - "execution_count": 431, + "execution_count": 6, "id": "dbfa7035", "metadata": {}, "outputs": [], @@ -202,7 +202,7 @@ }, { "cell_type": "code", - "execution_count": 432, + "execution_count": 7, "id": "655cdae3", "metadata": {}, "outputs": [], @@ -230,7 +230,7 @@ }, { "cell_type": "code", - "execution_count": 433, + "execution_count": 8, "id": "87c988be", "metadata": {}, "outputs": [], @@ -251,7 +251,7 @@ }, { "cell_type": "code", - "execution_count": 434, + "execution_count": 9, "id": "29aa60a0", "metadata": {}, "outputs": [], @@ -284,7 +284,7 @@ }, { "cell_type": "code", - "execution_count": 435, + "execution_count": 10, "id": "4d92c8d9", "metadata": {}, "outputs": [ @@ -294,7 +294,7 @@ "NashComputationResult(method='lcp', rational=True, use_strategic=False, equilibria=[[[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]], [[Rational(2, 3), Rational(1, 3)]]]], parameters={'stop_after': 0, 'max_depth': 0})" ] }, - "execution_count": 435, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -318,7 +318,7 @@ }, { "cell_type": "code", - "execution_count": 436, + "execution_count": 11, "id": "9967d6f7", "metadata": {}, "outputs": [ @@ -337,7 +337,7 @@ }, { "cell_type": "code", - "execution_count": 437, + "execution_count": 12, "id": "3293e818", "metadata": {}, "outputs": [ @@ -347,7 +347,7 @@ "pygambit.gambit.MixedBehaviorProfileRational" ] }, - "execution_count": 437, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -369,7 +369,7 @@ }, { "cell_type": "code", - "execution_count": 438, + "execution_count": 13, "id": "4cf38264", "metadata": {}, "outputs": [ @@ -379,7 +379,7 @@ "pygambit.gambit.MixedBehavior" ] }, - "execution_count": 438, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -390,7 +390,7 @@ }, { "cell_type": "code", - "execution_count": 439, + "execution_count": 14, "id": "85e7fdda", "metadata": {}, "outputs": [ @@ -403,7 +403,7 @@ "[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]]" ] }, - "execution_count": 439, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -428,7 +428,7 @@ }, { "cell_type": "code", - "execution_count": 440, + "execution_count": 15, "id": "f45a82b6", "metadata": {}, "outputs": [ @@ -460,7 +460,7 @@ }, { "cell_type": "code", - "execution_count": 441, + "execution_count": 16, "id": "83bbd3e5", "metadata": {}, "outputs": [ @@ -493,7 +493,7 @@ }, { "cell_type": "code", - "execution_count": 442, + "execution_count": 17, "id": "6bf51b38", "metadata": {}, "outputs": [ @@ -506,7 +506,7 @@ "[[Rational(2, 3), Rational(1, 3)]]" ] }, - "execution_count": 442, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -529,7 +529,7 @@ }, { "cell_type": "code", - "execution_count": 443, + "execution_count": 18, "id": "2966e700", "metadata": {}, "outputs": [ @@ -542,7 +542,7 @@ "Rational(2, 3)" ] }, - "execution_count": 443, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -561,7 +561,7 @@ }, { "cell_type": "code", - "execution_count": 444, + "execution_count": 19, "id": "f5a7f110", "metadata": {}, "outputs": [ @@ -574,7 +574,7 @@ "Rational(2, 3)" ] }, - "execution_count": 444, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -595,7 +595,7 @@ }, { "cell_type": "code", - "execution_count": 445, + "execution_count": 20, "id": "a7d3816d", "metadata": {}, "outputs": [ @@ -630,7 +630,7 @@ }, { "cell_type": "code", - "execution_count": 446, + "execution_count": 21, "id": "4a54b20c", "metadata": {}, "outputs": [ @@ -662,7 +662,7 @@ }, { "cell_type": "code", - "execution_count": 447, + "execution_count": 22, "id": "b250c1cd", "metadata": {}, "outputs": [ @@ -675,7 +675,7 @@ "Rational(2, 3)" ] }, - "execution_count": 447, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -694,7 +694,7 @@ }, { "cell_type": "code", - "execution_count": 448, + "execution_count": 23, "id": "6f01846b", "metadata": {}, "outputs": [ @@ -725,7 +725,7 @@ }, { "cell_type": "code", - "execution_count": 449, + "execution_count": 24, "id": "5079d231", "metadata": {}, "outputs": [ @@ -738,7 +738,7 @@ "Rational(1, 3)" ] }, - "execution_count": 449, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -749,7 +749,7 @@ }, { "cell_type": "code", - "execution_count": 450, + "execution_count": 25, "id": "c55f2c7a", "metadata": {}, "outputs": [ @@ -762,7 +762,7 @@ "Rational(-1, 3)" ] }, - "execution_count": 450, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -789,7 +789,7 @@ }, { "cell_type": "code", - "execution_count": 451, + "execution_count": 26, "id": "d4ecff88", "metadata": {}, "outputs": [ @@ -799,7 +799,7 @@ "['11', '12', '21', '22']" ] }, - "execution_count": 451, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -823,7 +823,7 @@ }, { "cell_type": "code", - "execution_count": 452, + "execution_count": 27, "id": "24e4b6e8", "metadata": {}, "outputs": [ @@ -833,7 +833,7 @@ "NashComputationResult(method='gnm', rational=False, use_strategic=True, equilibria=[[[0.33333333333866677, 0.6666666666613335, 0.0, 0.0], [0.6666666666559997, 0.3333333333440004]]], parameters={'perturbation': [[1.0, 0.0, 0.0, 0.0], [1.0, 0.0]], 'end_lambda': -10.0, 'steps': 100, 'local_newton_interval': 3, 'local_newton_maxits': 10})" ] }, - "execution_count": 452, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -855,7 +855,7 @@ }, { "cell_type": "code", - "execution_count": 453, + "execution_count": 28, "id": "d9ffb4b8", "metadata": {}, "outputs": [ @@ -865,7 +865,7 @@ "pygambit.gambit.MixedStrategyProfileDouble" ] }, - "execution_count": 453, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -887,7 +887,7 @@ }, { "cell_type": "code", - "execution_count": 454, + "execution_count": 29, "id": "56e2f847", "metadata": {}, "outputs": [ @@ -940,7 +940,7 @@ }, { "cell_type": "code", - "execution_count": 455, + "execution_count": 30, "id": "d18a91f0", "metadata": {}, "outputs": [ @@ -1006,7 +1006,7 @@ }, { "cell_type": "code", - "execution_count": 456, + "execution_count": 31, "id": "0c55f745", "metadata": {}, "outputs": [ @@ -1016,7 +1016,7 @@ "(Rational(2, 1), Rational(-2, 1))" ] }, - "execution_count": 456, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -1038,7 +1038,7 @@ }, { "cell_type": "code", - "execution_count": 457, + "execution_count": 32, "id": "101598c6", "metadata": {}, "outputs": [ @@ -1048,7 +1048,7 @@ "1" ] }, - "execution_count": 457, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -1060,7 +1060,7 @@ }, { "cell_type": "code", - "execution_count": 458, + "execution_count": 33, "id": "9b142728", "metadata": {}, "outputs": [ @@ -1070,7 +1070,7 @@ "3.987411578698641e-08" ] }, - "execution_count": 458, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -1091,7 +1091,7 @@ }, { "cell_type": "code", - "execution_count": 459, + "execution_count": 34, "id": "ff405409", "metadata": {}, "outputs": [ @@ -1101,7 +1101,7 @@ "9.968528946746602e-09" ] }, - "execution_count": 459, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } @@ -1122,7 +1122,7 @@ }, { "cell_type": "code", - "execution_count": 460, + "execution_count": 35, "id": "31b0143c", "metadata": {}, "outputs": [ @@ -1132,7 +1132,7 @@ "9.395259956013202e-05" ] }, - "execution_count": 460, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -1151,7 +1151,7 @@ }, { "cell_type": "code", - "execution_count": 461, + "execution_count": 36, "id": "7cfba34a", "metadata": {}, "outputs": [ @@ -1159,8 +1159,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 10.4 ms, sys: 100 μs, total: 10.5 ms\n", - "Wall time: 10.5 ms\n" + "CPU times: user 10.7 ms, sys: 222 μs, total: 11 ms\n", + "Wall time: 11.4 ms\n" ] }, { @@ -1169,7 +1169,7 @@ "NashComputationResult(method='logit', rational=False, use_strategic=False, equilibria=[[[[1.0, 0.0], [0.3338351656285655, 0.666164834417892]], [[0.6670407651644307, 0.3329592348608147]]]], parameters={'first_step': 0.03, 'max_accel': 1.1})" ] }, - "execution_count": 461, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } @@ -1181,7 +1181,7 @@ }, { "cell_type": "code", - "execution_count": 462, + "execution_count": 37, "id": "6f1809a7", "metadata": {}, "outputs": [ @@ -1189,8 +1189,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 19.1 ms, sys: 231 μs, total: 19.3 ms\n", - "Wall time: 19.4 ms\n" + "CPU times: user 20.7 ms, sys: 448 μs, total: 21.1 ms\n", + "Wall time: 21.7 ms\n" ] }, { @@ -1199,7 +1199,7 @@ "NashComputationResult(method='logit', rational=False, use_strategic=False, equilibria=[[[[1.0, 0.0], [0.33333338649882943, 0.6666666135011706]], [[0.6666667065407631, 0.3333332934592369]]]], parameters={'first_step': 0.03, 'max_accel': 1.1})" ] }, - "execution_count": 462, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } @@ -1221,7 +1221,7 @@ }, { "cell_type": "code", - "execution_count": 463, + "execution_count": 38, "id": "414b6f65", "metadata": {}, "outputs": [ @@ -1231,7 +1231,7 @@ "5.509533871672634e-05" ] }, - "execution_count": 463, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } @@ -1250,7 +1250,7 @@ }, { "cell_type": "code", - "execution_count": 464, + "execution_count": 39, "id": "a892dc2b", "metadata": {}, "outputs": [ @@ -1260,7 +1260,7 @@ "5.509533871672634e-05" ] }, - "execution_count": 464, + "execution_count": 39, "metadata": {}, "output_type": "execute_result" } @@ -1288,7 +1288,7 @@ }, { "cell_type": "code", - "execution_count": 465, + "execution_count": 40, "id": "2f79695a", "metadata": {}, "outputs": [ @@ -1298,7 +1298,7 @@ "[Rational(1, 3), Rational(1, 3), Rational(1, 3)]" ] }, - "execution_count": 465, + "execution_count": 40, "metadata": {}, "output_type": "execute_result" } @@ -1322,7 +1322,7 @@ }, { "cell_type": "code", - "execution_count": 466, + "execution_count": 41, "id": "5de6acb2", "metadata": {}, "outputs": [ @@ -1332,7 +1332,7 @@ "[Rational(1, 4), Rational(1, 2), Rational(1, 4)]" ] }, - "execution_count": 466, + "execution_count": 41, "metadata": {}, "output_type": "execute_result" } @@ -1355,7 +1355,7 @@ }, { "cell_type": "code", - "execution_count": 467, + "execution_count": 42, "id": "c47d2ab6", "metadata": {}, "outputs": [ @@ -1365,7 +1365,7 @@ "[Decimal('0.25'), Decimal('0.50'), Decimal('0.25')]" ] }, - "execution_count": 467, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" } @@ -1392,7 +1392,7 @@ }, { "cell_type": "code", - "execution_count": 468, + "execution_count": 43, "id": "04329084", "metadata": {}, "outputs": [ @@ -1402,7 +1402,7 @@ "[Rational(1, 4), Rational(1, 2), Rational(1, 4)]" ] }, - "execution_count": 468, + "execution_count": 43, "metadata": {}, "output_type": "execute_result" } @@ -1414,7 +1414,7 @@ }, { "cell_type": "code", - "execution_count": 469, + "execution_count": 44, "id": "9015e129", "metadata": {}, "outputs": [ @@ -1424,7 +1424,7 @@ "[Decimal('0.25'), Decimal('0.50'), Decimal('0.25')]" ] }, - "execution_count": 469, + "execution_count": 44, "metadata": {}, "output_type": "execute_result" } @@ -1449,7 +1449,7 @@ }, { "cell_type": "code", - "execution_count": 470, + "execution_count": 45, "id": "0a019aa5", "metadata": {}, "outputs": [ @@ -1459,7 +1459,7 @@ "[Decimal('0.25'), Decimal('0.5'), Decimal('0.25')]" ] }, - "execution_count": 470, + "execution_count": 45, "metadata": {}, "output_type": "execute_result" } @@ -1479,7 +1479,7 @@ }, { "cell_type": "code", - "execution_count": 473, + "execution_count": 46, "id": "1991d288", "metadata": {}, "outputs": [ @@ -1509,7 +1509,7 @@ }, { "cell_type": "code", - "execution_count": 474, + "execution_count": 47, "id": "b1dc37fd", "metadata": {}, "outputs": [ @@ -1519,7 +1519,7 @@ "1.0" ] }, - "execution_count": 474, + "execution_count": 47, "metadata": {}, "output_type": "execute_result" } @@ -1538,7 +1538,7 @@ }, { "cell_type": "code", - "execution_count": 475, + "execution_count": 48, "id": "dc1edea2", "metadata": {}, "outputs": [ @@ -1548,7 +1548,7 @@ "Decimal('0.3333333333333333')" ] }, - "execution_count": 475, + "execution_count": 48, "metadata": {}, "output_type": "execute_result" } @@ -1567,7 +1567,7 @@ }, { "cell_type": "code", - "execution_count": 476, + "execution_count": 49, "id": "1edd90d6", "metadata": {}, "outputs": [ @@ -1577,7 +1577,7 @@ "Decimal('0.9999999999999999')" ] }, - "execution_count": 476, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } From 14ebad3b88ef324e2a6521beddda1a3328f4eb84 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 10 Sep 2025 16:49:13 +0100 Subject: [PATCH 120/240] tidy t4 and t5 --- doc/tutorials/04_starting_points.ipynb | 69 ++++++++++++------------- doc/tutorials/05_quantal_response.ipynb | 36 ++++++------- 2 files changed, 51 insertions(+), 54 deletions(-) diff --git a/doc/tutorials/04_starting_points.ipynb b/doc/tutorials/04_starting_points.ipynb index bcf5518b0..3bc280d03 100644 --- a/doc/tutorials/04_starting_points.ipynb +++ b/doc/tutorials/04_starting_points.ipynb @@ -16,19 +16,16 @@ "As an example, we consider a three-player game from McKelvey and McLennan (1997), in which each player has two strategies.\n", "This game has nine equilibria in total, and in particular has two totally mixed Nash equilibria, which is the maximum possible number of regular totally mixed equilbria in games of this size.\n", "\n", - "
\n", - "Pure and mixed strategies\n", + "Pure and mixed strategies:\n", "\n", "- **Pure strategy**: A player chooses the action with probability 1 (always picks the same move)\n", "- **Mixed strategy**: A player assigns probabilities to their available actions (some actions may have probability 0)\n", - "- **Totally mixed strategy**: Mixed strategy where every available action is chosen with strictly positive probability (no action has probability 0)\n", - "\n", - "
" + "- **Totally mixed strategy**: Mixed strategy where every available action is chosen with strictly positive probability (no action has probability 0)" ] }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 1, "id": "493cafb8", "metadata": {}, "outputs": [], @@ -48,7 +45,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 2, "id": "b32adf22", "metadata": {}, "outputs": [ @@ -61,7 +58,7 @@ "[[0.5, 0.5], [0.5, 0.5], [0.5, 0.5]]" ] }, - "execution_count": 60, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -73,7 +70,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 3, "id": "c0b62502", "metadata": {}, "outputs": [ @@ -86,7 +83,7 @@ "[[0.3999999026224355, 0.6000000973775644], [0.49999981670851457, 0.5000001832914854], [0.3333329684317666, 0.6666670315682334]]" ] }, - "execution_count": 61, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -108,7 +105,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 4, "id": "cf22064e", "metadata": {}, "outputs": [ @@ -121,7 +118,7 @@ "[[0.9, 0.1], [0.9, 0.1], [0.9, 0.1]]" ] }, - "execution_count": 62, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -133,7 +130,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 5, "id": "08a22505", "metadata": {}, "outputs": [ @@ -146,7 +143,7 @@ "[[1.0, 0.0], [0.9999999944750116, 5.524988446860122e-09], [0.9999999991845827, 8.154173380971617e-10]]" ] }, - "execution_count": 63, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -165,20 +162,20 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 6, "id": "cfbc2714", "metadata": {}, "outputs": [ { "data": { "text/latex": [ - "$\\left[[0.42490785614203186, 0.5750921438579681],[0.010867606187569386, 0.9891323938124306],[0.20063340358205334, 0.7993665964179466]\\right]$" + "$\\left[[0.41376829107813523, 0.5862317089218648],[0.8276758137827004, 0.1723241862172996],[0.27444194422840223, 0.7255580557715977]\\right]$" ], "text/plain": [ - "[[0.42490785614203186, 0.5750921438579681], [0.010867606187569386, 0.9891323938124306], [0.20063340358205334, 0.7993665964179466]]" + "[[0.41376829107813523, 0.5862317089218648], [0.8276758137827004, 0.1723241862172996], [0.27444194422840223, 0.7255580557715977]]" ] }, - "execution_count": 64, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -190,20 +187,20 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 7, "id": "eb53062a", "metadata": {}, "outputs": [ { "data": { "text/latex": [ - "$\\left[[3.4215809849760725e-06, 0.999996578419015],[0.2499993456690779, 0.7500006543309222],[0.3333333430315835, 0.6666666569684165]\\right]$" + "$\\left[[0.3333407152812328, 0.6666592847187671],[0.999814263508591, 0.00018573649140901928],[0.24999894841119072, 0.7500010515888093]\\right]$" ], "text/plain": [ - "[[3.4215809849760725e-06, 0.999996578419015], [0.2499993456690779, 0.7500006543309222], [0.3333333430315835, 0.6666666569684165]]" + "[[0.3333407152812328, 0.6666592847187671], [0.999814263508591, 0.00018573649140901928], [0.24999894841119072, 0.7500010515888093]]" ] }, - "execution_count": 65, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -225,7 +222,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 8, "id": "4293343a", "metadata": {}, "outputs": [ @@ -235,7 +232,7 @@ "True" ] }, - "execution_count": 66, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -265,7 +262,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 9, "id": "e9716ae0", "metadata": {}, "outputs": [ @@ -278,7 +275,7 @@ "[[Rational(1, 2), Rational(1, 2)], [Rational(7, 10), Rational(3, 10)], [Rational(0, 1), Rational(1, 1)]]" ] }, - "execution_count": 67, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -291,7 +288,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 10, "id": "c153918a", "metadata": {}, "outputs": [ @@ -304,7 +301,7 @@ "[[Rational(1, 1), Rational(0, 1)], [Rational(1, 1), Rational(0, 1)], [Rational(1, 1), Rational(0, 1)]]" ] }, - "execution_count": 68, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -315,7 +312,7 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 11, "id": "70a57b26", "metadata": {}, "outputs": [ @@ -328,7 +325,7 @@ "[[Rational(1, 10), Rational(9, 10)], [Rational(3, 5), Rational(2, 5)], [Rational(3, 5), Rational(2, 5)]]" ] }, - "execution_count": 69, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -340,7 +337,7 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": 12, "id": "11995836", "metadata": {}, "outputs": [ @@ -353,7 +350,7 @@ "[[Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1)], [Rational(1, 1), Rational(0, 1)]]" ] }, - "execution_count": 70, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -364,7 +361,7 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 13, "id": "2791ffe2", "metadata": {}, "outputs": [ @@ -377,7 +374,7 @@ "[[Rational(7, 10), Rational(3, 10)], [Rational(4, 5), Rational(1, 5)], [Rational(0, 1), Rational(1, 1)]]" ] }, - "execution_count": 71, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -389,7 +386,7 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 14, "id": "2ab2caa4", "metadata": {}, "outputs": [ @@ -402,7 +399,7 @@ "[[Rational(1, 1), Rational(0, 1)], [Rational(1, 1), Rational(0, 1)], [Rational(1, 1), Rational(0, 1)]]" ] }, - "execution_count": 72, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } diff --git a/doc/tutorials/05_quantal_response.ipynb b/doc/tutorials/05_quantal_response.ipynb index 42fe20fff..d04b94ae7 100644 --- a/doc/tutorials/05_quantal_response.ipynb +++ b/doc/tutorials/05_quantal_response.ipynb @@ -13,7 +13,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 1, "id": "ebc4c60e", "metadata": {}, "outputs": [], @@ -23,7 +23,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 2, "id": "202786ef", "metadata": {}, "outputs": [ @@ -36,7 +36,7 @@ "[[0.5000000234106035, 0.49999997658939654], [0.19998563837426647, 0.8000143616257336]]" ] }, - "execution_count": 48, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -64,7 +64,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 3, "id": "840d9203", "metadata": {}, "outputs": [ @@ -74,7 +74,7 @@ "193" ] }, - "execution_count": 49, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -86,7 +86,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 4, "id": "be419db2", "metadata": {}, "outputs": [ @@ -99,7 +99,7 @@ "[[0.5, 0.5], [0.5, 0.5]]" ] }, - "execution_count": 50, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -110,7 +110,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 5, "id": "582838de", "metadata": {}, "outputs": [ @@ -123,7 +123,7 @@ "[[0.5182276540742868, 0.4817723459257562], [0.49821668880066783, 0.5017833111993909]]" ] }, - "execution_count": 51, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -149,7 +149,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 6, "id": "ce354b49", "metadata": {}, "outputs": [ @@ -162,7 +162,7 @@ "[[0.5867840364385154, 0.4132159635614846], [0.4518070316997103, 0.5481929683002897]]" ] }, - "execution_count": 52, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -174,7 +174,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 7, "id": "280fa428", "metadata": {}, "outputs": [ @@ -187,7 +187,7 @@ "[[0.6175219458400859, 0.3824780541599141], [0.3719816648492249, 0.6280183351507751]]" ] }, - "execution_count": 53, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -198,7 +198,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 8, "id": "3dee57df", "metadata": {}, "outputs": [ @@ -211,7 +211,7 @@ "[[0.6168968501329284, 0.3831031498670716], [0.31401636202001226, 0.6859836379799877]]" ] }, - "execution_count": 54, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -232,7 +232,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 9, "id": "b34a9278", "metadata": {}, "outputs": [ @@ -242,7 +242,7 @@ "pygambit.qre.LogitQREMixedStrategyFitResult" ] }, - "execution_count": 55, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -267,7 +267,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 10, "id": "e10e9abd", "metadata": {}, "outputs": [ From 3419a71aeeaef5e1f13bfa878f5028b2f952704c Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 15 Sep 2025 09:35:07 +0100 Subject: [PATCH 121/240] resave nb outputs --- doc/tutorials/04_starting_points.ipynb | 28 ++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/doc/tutorials/04_starting_points.ipynb b/doc/tutorials/04_starting_points.ipynb index 3bc280d03..c3555943c 100644 --- a/doc/tutorials/04_starting_points.ipynb +++ b/doc/tutorials/04_starting_points.ipynb @@ -28,10 +28,26 @@ "execution_count": 1, "id": "493cafb8", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "

2x2x2 Example from McKelvey-McLennan, with 9 Nash equilibria, 2 totally mixed

\n", + "
Subtable with strategies:
Player 3 Strategy 1
12
19,8,120,0,0
20,0,09,8,2
Subtable with strategies:
Player 3 Strategy 2
12
10,0,03,4,6
23,4,60,0,0
\n" + ], + "text/plain": [ + "Game(title='2x2x2 Example from McKelvey-McLennan, with 9 Nash equilibria, 2 totally mixed')" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "import pygambit as gbt\n", - "g = gbt.read_nfg(\"../2x2x2.nfg\")" + "g = gbt.read_nfg(\"../2x2x2.nfg\")\n", + "g" ] }, { @@ -169,10 +185,10 @@ { "data": { "text/latex": [ - "$\\left[[0.41376829107813523, 0.5862317089218648],[0.8276758137827004, 0.1723241862172996],[0.27444194422840223, 0.7255580557715977]\\right]$" + "$\\left[[0.7187961367413075, 0.2812038632586925],[0.1291105793795489, 0.8708894206204512],[0.12367227612277114, 0.876327723877229]\\right]$" ], "text/plain": [ - "[[0.41376829107813523, 0.5862317089218648], [0.8276758137827004, 0.1723241862172996], [0.27444194422840223, 0.7255580557715977]]" + "[[0.7187961367413075, 0.2812038632586925], [0.1291105793795489, 0.8708894206204512], [0.12367227612277114, 0.876327723877229]]" ] }, "execution_count": 6, @@ -194,10 +210,10 @@ { "data": { "text/latex": [ - "$\\left[[0.3333407152812328, 0.6666592847187671],[0.999814263508591, 0.00018573649140901928],[0.24999894841119072, 0.7500010515888093]\\right]$" + "$\\left[[0.5000003932357804, 0.4999996067642197],[0.3999998501612186, 0.6000001498387814],[0.2500001518113522, 0.7499998481886477]\\right]$" ], "text/plain": [ - "[[0.3333407152812328, 0.6666592847187671], [0.999814263508591, 0.00018573649140901928], [0.24999894841119072, 0.7500010515888093]]" + "[[0.5000003932357804, 0.4999996067642197], [0.3999998501612186, 0.6000001498387814], [0.2500001518113522, 0.7499998481886477]]" ] }, "execution_count": 7, From eaa8ce190ae58eb46c7fafa417cb6679c1d83bab Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 18 Sep 2025 10:22:54 +0100 Subject: [PATCH 122/240] use prior_action.label as node labels --- doc/tutorials/02_extensive_form.ipynb | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/doc/tutorials/02_extensive_form.ipynb b/doc/tutorials/02_extensive_form.ipynb index e3513c5b6..60279286d 100644 --- a/doc/tutorials/02_extensive_form.ipynb +++ b/doc/tutorials/02_extensive_form.ipynb @@ -121,7 +121,9 @@ "metadata": {}, "source": [ "We can also optionally specify labels for nodes when defining a game.\n", - "This isn't strictly necessary, but doing so makes the game easier to understand and work with." + "This isn't strictly necessary, but doing so makes the game easier to understand and work with than referring to nodes by their indices.\n", + "\n", + "Here we'll label the nodes according to the actions that precede them in the game tree." ] }, { @@ -131,8 +133,8 @@ "metadata": {}, "outputs": [], "source": [ - "g.root.children[0].label = \"Trust\"\n", - "g.root.children[1].label = \"Not trust\"" + "for node in g.root.children:\n", + " node.label = node.prior_action.label" ] }, { @@ -155,8 +157,8 @@ " player=\"Seller\",\n", " actions=[\"Honor\", \"Abuse\"]\n", ")\n", - "g.root.children[\"Trust\"].children[0].label = \"Honor\"\n", - "g.root.children[\"Trust\"].children[1].label = \"Abuse\"" + "for node in g.root.children[\"Trust\"].children:\n", + " node.label = node.prior_action.label" ] }, { From e55cbed7f6079c2f62291890ee8de3090da9585e Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 18 Sep 2025 10:31:42 +0100 Subject: [PATCH 123/240] use Node.prior_action.label to set node labels --- doc/tutorials/03_poker.ipynb | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 4aa76d3e3..5bc30f462 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -107,7 +107,7 @@ "\n", "To simulate this in Gambit, we create a chance player move at the root node of the game.\n", "\n", - "Note: throughout this tutorial, we'll also apply labels to the various nodes in the game tree to improve code readability." + "Note: throughout this tutorial, we'll also label nodes according to the actions that precede them in the game tree to improve code readability." ] }, { @@ -122,8 +122,8 @@ " player=g.players.chance,\n", " actions=[\"King\", \"Queen\"] # By default, chance actions have equal probabilities\n", ")\n", - "g.root.children[0].label = \"King\" # Add labels to the new child nodes to improve code readability\n", - "g.root.children[1].label = \"Queen\"" + "for node in g.root.children: # Add labels to the new child nodes to improve code readability\n", + " node.label = node.prior_action.label" ] }, { @@ -153,8 +153,8 @@ " player=\"Alice\",\n", " actions=[\"Raise\", \"Fold\"]\n", " )\n", - " node.children[0].label = \"Raise\"\n", - " node.children[1].label = \"Fold\"" + " for child_node in node.children:\n", + " child_node.label = child_node.prior_action.label" ] }, { @@ -188,8 +188,8 @@ " player=\"Bob\",\n", " actions=[\"Meet\", \"Pass\"]\n", ")\n", - "g.root.children[\"King\"].children[\"Raise\"].children[0].label = \"Meet\"\n", - "g.root.children[\"King\"].children[\"Raise\"].children[1].label = \"Pass\"" + "for node in g.root.children[\"King\"].children[\"Raise\"].children:\n", + " node.label = node.prior_action.label" ] }, { @@ -211,8 +211,8 @@ " g.root.children[\"Queen\"].children[\"Raise\"],\n", " infoset=g.root.children[\"King\"].children[\"Raise\"].infoset\n", ")\n", - "g.root.children[\"Queen\"].children[\"Raise\"].children[0].label = \"Meet\"\n", - "g.root.children[\"Queen\"].children[\"Raise\"].children[1].label = \"Pass\"" + "for node in g.root.children[\"Queen\"].children[\"Raise\"].children:\n", + " node.label = node.prior_action.label" ] }, { @@ -1159,8 +1159,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 10.7 ms, sys: 222 μs, total: 11 ms\n", - "Wall time: 11.4 ms\n" + "CPU times: user 10.5 ms, sys: 269 μs, total: 10.7 ms\n", + "Wall time: 10.7 ms\n" ] }, { @@ -1189,8 +1189,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 20.7 ms, sys: 448 μs, total: 21.1 ms\n", - "Wall time: 21.7 ms\n" + "CPU times: user 20.1 ms, sys: 610 μs, total: 20.7 ms\n", + "Wall time: 21.5 ms\n" ] }, { From b270578a2845228b9735281b5a63b25ecf54a3b0 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 18 Sep 2025 16:53:46 +0100 Subject: [PATCH 124/240] add mac install instructions --- doc/gui.rst | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/doc/gui.rst b/doc/gui.rst index 361681c40..34e172e87 100644 --- a/doc/gui.rst +++ b/doc/gui.rst @@ -25,6 +25,58 @@ To build larger games or to explore parameter spaces of a game systematically, it is recommended to use :ref:`the Python package `. +Install on Mac +============== + +To build and install the Gambit GUI on macOS, follow these steps: + +1. **Install build dependencies:** + + .. code-block:: bash + + brew install automake autoconf libtool + + .. note:: + If you encounter interpreter errors with autom4te, you may need to ensure + your Perl installation is correct or reinstall the autotools: + + .. code-block:: bash + + brew reinstall automake autoconf libtool + +2. **Download and build wxWidgets:** + + .. code-block:: bash + + curl -L -O https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.8/wxWidgets-3.2.8.tar.bz2 + tar xjf wxWidgets-3.2.8.tar.bz2 + cd wxWidgets-3.2.8 + mkdir build-release + cd build-release + ../configure --disable-shared --disable-sys-libs + make -j4 + sudo make install + +3. **Build and install Gambit:** + + Navigate back to the Gambit source directory and run: + + .. code-block:: bash + + aclocal + automake --add-missing + autoconf + ./configure + make + sudo make install + +4. **Create macOS application bundle:** + + To create a distributable DMG file: + + .. code-block:: bash + + make osx-dmg .. toctree:: :maxdepth: 2 From 7edeb84898524e6fe5768ef6fdb474fe2a6aa43d Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 18 Sep 2025 16:59:29 +0100 Subject: [PATCH 125/240] add mac, windows, linux --- doc/gui.rst | 80 ++++++++++++++++++++++++++++++----------------------- 1 file changed, 46 insertions(+), 34 deletions(-) diff --git a/doc/gui.rst b/doc/gui.rst index 34e172e87..040fd8940 100644 --- a/doc/gui.rst +++ b/doc/gui.rst @@ -25,58 +25,70 @@ To build larger games or to explore parameter spaces of a game systematically, it is recommended to use :ref:`the Python package `. -Install on Mac -============== +Installation Instructions +========================= -To build and install the Gambit GUI on macOS, follow these steps: +.. tab-set:: -1. **Install build dependencies:** + .. tab-item:: macOS - .. code-block:: bash + To build and install the Gambit GUI on macOS, follow these steps: - brew install automake autoconf libtool + 1. **Install build dependencies:** - .. note:: - If you encounter interpreter errors with autom4te, you may need to ensure - your Perl installation is correct or reinstall the autotools: + .. code-block:: bash - .. code-block:: bash + brew install automake autoconf libtool - brew reinstall automake autoconf libtool + .. note:: + If you encounter interpreter errors with autom4te, you may need to ensure + your Perl installation is correct or reinstall the autotools: -2. **Download and build wxWidgets:** + .. code-block:: bash - .. code-block:: bash + brew reinstall automake autoconf libtool - curl -L -O https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.8/wxWidgets-3.2.8.tar.bz2 - tar xjf wxWidgets-3.2.8.tar.bz2 - cd wxWidgets-3.2.8 - mkdir build-release - cd build-release - ../configure --disable-shared --disable-sys-libs - make -j4 - sudo make install + 2. **Download and build wxWidgets:** -3. **Build and install Gambit:** + .. code-block:: bash - Navigate back to the Gambit source directory and run: + curl -L -O https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.8/wxWidgets-3.2.8.tar.bz2 + tar xjf wxWidgets-3.2.8.tar.bz2 + cd wxWidgets-3.2.8 + mkdir build-release + cd build-release + ../configure --disable-shared --disable-sys-libs + make -j4 + sudo make install - .. code-block:: bash + 3. **Build and install Gambit:** - aclocal - automake --add-missing - autoconf - ./configure - make - sudo make install + Navigate back to the Gambit source directory and run: -4. **Create macOS application bundle:** + .. code-block:: bash - To create a distributable DMG file: + aclocal + automake --add-missing + autoconf + ./configure + make + sudo make install - .. code-block:: bash + 4. **Create macOS application bundle:** - make osx-dmg + To create a distributable DMG file: + + .. code-block:: bash + + make osx-dmg + + .. tab-item:: Windows + + TODO: Add Windows installation instructions + + .. tab-item:: Linux + + TODO: Add Linux installation instructions .. toctree:: :maxdepth: 2 From 6310fd81a0ee9fb715275def1a4a0ab8fbd30e4d Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 18 Sep 2025 17:01:05 +0100 Subject: [PATCH 126/240] Add final installation instruction for the Gambit application on macOS --- doc/gui.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/gui.rst b/doc/gui.rst index 040fd8940..a653cfe6d 100644 --- a/doc/gui.rst +++ b/doc/gui.rst @@ -82,6 +82,10 @@ Installation Instructions make osx-dmg + 5. **Install the application:** + + After creating the DMG file, open it and drag the Gambit application to your Applications folder. + .. tab-item:: Windows TODO: Add Windows installation instructions From 729fd4a6a252d2ae4a8c7b27e90ec9cd86321675 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 19 Sep 2025 10:51:11 +0100 Subject: [PATCH 127/240] update gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index ebc21507c..c787f7e46 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,5 @@ gambit .python-version dist .venv +*.dmg +Gambit.app/* \ No newline at end of file From 8a55070cc76e750c871981ee675af6add9f8991a Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 19 Sep 2025 11:40:15 +0100 Subject: [PATCH 128/240] link to releases page --- doc/gui.rst | 86 +++++++++++++++++++++++++---------------------------- 1 file changed, 40 insertions(+), 46 deletions(-) diff --git a/doc/gui.rst b/doc/gui.rst index a653cfe6d..9e83e59ab 100644 --- a/doc/gui.rst +++ b/doc/gui.rst @@ -25,74 +25,68 @@ To build larger games or to explore parameter spaces of a game systematically, it is recommended to use :ref:`the Python package `. -Installation Instructions -========================= +Installation +------------ -.. tab-set:: +To install the Gambit GUI, visit the `Gambit releases page on GitHub `_ and download the appropriate installer or package for your operating system. +Each release includes pre-built binaries for Windows, macOS, and Linux distributions, accessible under the "Assets" section of each release. - .. tab-item:: macOS +.. dropdown:: Manual macOS Build Instructions + :class-container: sd-border-0 + + To build and install the Gambit GUI from source on macOS, follow these steps: - To build and install the Gambit GUI on macOS, follow these steps: + 1. **Install build dependencies:** - 1. **Install build dependencies:** + .. code-block:: bash - .. code-block:: bash - - brew install automake autoconf libtool - - .. note:: - If you encounter interpreter errors with autom4te, you may need to ensure - your Perl installation is correct or reinstall the autotools: - - .. code-block:: bash + brew install automake autoconf libtool - brew reinstall automake autoconf libtool - - 2. **Download and build wxWidgets:** + .. note:: + If you encounter interpreter errors with autom4te, you may need to ensure + your Perl installation is correct or reinstall the autotools: .. code-block:: bash - curl -L -O https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.8/wxWidgets-3.2.8.tar.bz2 - tar xjf wxWidgets-3.2.8.tar.bz2 - cd wxWidgets-3.2.8 - mkdir build-release - cd build-release - ../configure --disable-shared --disable-sys-libs - make -j4 - sudo make install - - 3. **Build and install Gambit:** + brew reinstall automake autoconf libtool - Navigate back to the Gambit source directory and run: + 2. **Download and build wxWidgets:** - .. code-block:: bash + .. code-block:: bash - aclocal - automake --add-missing - autoconf - ./configure - make - sudo make install + curl -L -O https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.8/wxWidgets-3.2.8.tar.bz2 + tar xjf wxWidgets-3.2.8.tar.bz2 + cd wxWidgets-3.2.8 + mkdir build-release + cd build-release + ../configure --disable-shared --disable-sys-libs + make -j4 + sudo make install - 4. **Create macOS application bundle:** + 3. **Build and install Gambit:** - To create a distributable DMG file: + Navigate back to the Gambit source directory and run: - .. code-block:: bash + .. code-block:: bash - make osx-dmg + aclocal + automake --add-missing + autoconf + ./configure + make + sudo make install - 5. **Install the application:** + 4. **Create macOS application bundle:** - After creating the DMG file, open it and drag the Gambit application to your Applications folder. + To create a distributable DMG file: - .. tab-item:: Windows + .. code-block:: bash - TODO: Add Windows installation instructions + make osx-dmg - .. tab-item:: Linux + 5. **Install the application:** - TODO: Add Linux installation instructions + After creating the DMG file, open it and drag the Gambit application to your Applications folder. .. toctree:: :maxdepth: 2 From 0b5bd759351bef003e6165e2f52fb9ae42ab518a Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 19 Sep 2025 15:26:37 +0100 Subject: [PATCH 129/240] Add tutorial for OpenSpiel and Gambit workflow --- doc/tutorials/06_gambit_with_openspiel.ipynb | 201 +++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 doc/tutorials/06_gambit_with_openspiel.ipynb diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb new file mode 100644 index 000000000..15df82774 --- /dev/null +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -0,0 +1,201 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# OpenSpiel + Gambit Workflow on one card poker\n", + "\n", + "In this tutorial, we will:\n", + "\n", + "1. Load examples of normal form and extensive form games in OpenSpiel and Gambit\n", + "2. Train agents in OpenSpiel to play games and create strategies\n", + "3. Compare results against equilibria computed with Gambit\n", + "\n", + "This notebook demonstrates the workflow between OpenSpiel and Gambit for game-theoretic analysis:\n", + "\n", + "- **OpenSpiel**: Provides iterative learning algorithms for strategy approximation\n", + "- **Gambit**: Provides exact equilibrium computation for theoretical comparison" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ebb78322", + "metadata": {}, + "outputs": [], + "source": [ + "import pygambit as gbt\n", + "import pyspiel\n", + "from open_spiel.python.egt.utils import game_payoffs_array\n", + "import numpy as np" + ] + }, + { + "cell_type": "markdown", + "id": "e628a86d", + "metadata": {}, + "source": [ + "Load matrix rock-paper-scissors from OpenSpiel:" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [], + "source": [ + "ops_matrix_rps_game = pyspiel.load_game(\"matrix_rps\")" + ] + }, + { + "cell_type": "markdown", + "id": "28f08bbc", + "metadata": {}, + "source": [ + "Get the payoffs as numpy arrays..." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "62471cb6", + "metadata": {}, + "outputs": [], + "source": [ + "matrix_rps_payoffs = game_payoffs_array(ops_matrix_rps_game)\n", + "matrix_rps_payoffs" + ] + }, + { + "cell_type": "markdown", + "id": "cfdcd18f", + "metadata": {}, + "source": [ + "... which we can use to recreate the game in Gambit:" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "ee2bc29c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "

Matrix Rock-Paper-Scissors

\n", + "
123
10.0,0.0-1.0,1.01.0,-1.0
21.0,-1.00.0,0.0-1.0,1.0
3-1.0,1.01.0,-1.00.0,0.0
\n" + ], + "text/plain": [ + "Game(title='Matrix Rock-Paper-Scissors')" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gbt_matrix_rps_game = gbt.Game.from_arrays(\n", + " matrix_rps_payoffs[0],\n", + " matrix_rps_payoffs[1],\n", + " title=\"Matrix Rock-Paper-Scissors\"\n", + ")\n", + "gbt_matrix_rps_game" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 2: Train Agents in OpenSpiel (CFR)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sampled strategy: \n" + ] + } + ], + "source": [ + "# from open_spiel.python.algorithms import cfr\n", + "\n", + "# cfr_solver = cfr.CFRSolver(game)\n", + "\n", + "# for i in range(100):\n", + "# cfr_solver.evaluate_and_update_policy()\n", + "\n", + "# avg_policy = cfr_solver.average_policy()\n", + "# print(\"Sampled strategy:\", avg_policy)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 4: Load Game in Gambit" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[\\left[\\left[1,0\\right],\\left[\\frac{1}{3},\\frac{2}{3}\\right]\\right],\\left[\\left[\\frac{2}{3},\\frac{1}{3}\\right]\\right]\\right]$" + ], + "text/plain": [ + "[[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]], [[Rational(2, 3), Rational(1, 3)]]]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# result = gbt.nash.lcp_solve(g)\n", + "# eqm = result.equilibria[0]\n", + "# eqm" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Step 5: Compare Results" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "gbt_pygraphviz", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From d4509cc8c66413fefcd96cdd5eb60f018f6c9e08 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 19 Sep 2025 15:48:44 +0100 Subject: [PATCH 130/240] get a matrix rock-paper-scissors game from OpenSpiel in Gambit --- doc/tutorials/06_gambit_with_openspiel.ipynb | 85 ++++++++++++++++++-- 1 file changed, 79 insertions(+), 6 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 15df82774..150de4812 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -20,7 +20,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 37, "id": "ebb78322", "metadata": {}, "outputs": [], @@ -28,6 +28,7 @@ "import pygambit as gbt\n", "import pyspiel\n", "from open_spiel.python.egt.utils import game_payoffs_array\n", + "from open_spiel.python.egt import dynamics\n", "import numpy as np" ] }, @@ -41,7 +42,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 52, "metadata": {}, "outputs": [], "source": [ @@ -58,10 +59,27 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 53, "id": "62471cb6", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([[[ 0., -1., 1.],\n", + " [ 1., 0., -1.],\n", + " [-1., 1., 0.]],\n", + "\n", + " [[ 0., 1., -1.],\n", + " [-1., 0., 1.],\n", + " [ 1., -1., 0.]]])" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "matrix_rps_payoffs = game_payoffs_array(ops_matrix_rps_game)\n", "matrix_rps_payoffs" @@ -77,7 +95,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 54, "id": "ee2bc29c", "metadata": {}, "outputs": [ @@ -91,7 +109,7 @@ "Game(title='Matrix Rock-Paper-Scissors')" ] }, - "execution_count": 36, + "execution_count": 54, "metadata": {}, "output_type": "execute_result" } @@ -105,6 +123,61 @@ "gbt_matrix_rps_game" ] }, + { + "cell_type": "markdown", + "id": "6d7da6f3", + "metadata": {}, + "source": [ + "The equilibrium strategy for both players is to choose rock, paper, and scissors with equal probability:" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "id": "707c6c30", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[\\left[\\frac{1}{3},\\frac{1}{3},\\frac{1}{3}\\right],\\left[\\frac{1}{3},\\frac{1}{3},\\frac{1}{3}\\right]\\right]$" + ], + "text/plain": [ + "[[Rational(1, 3), Rational(1, 3), Rational(1, 3)], [Rational(1, 3), Rational(1, 3), Rational(1, 3)]]" + ] + }, + "execution_count": 57, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gbt.nash.lcp_solve(gbt_matrix_rps_game).equilibria[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "cf1acdeb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0.08, -0.08, 0. ])" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dyn = dynamics.SinglePopulationDynamics(matrix_rps_payoffs, dynamics.replicator)\n", + "x = np.array([0.2, 0.2, 0.6]) # population heavily-weighted toward scissors\n", + "dyn(x)" + ] + }, { "cell_type": "markdown", "metadata": {}, From 5247821b1517de554e40e17bcedfcce62a8a8997 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 19 Sep 2025 15:51:15 +0100 Subject: [PATCH 131/240] add openspiel to doc requirements --- doc/requirements.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/requirements.txt b/doc/requirements.txt index f49a209ae..61d16db80 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -8,4 +8,5 @@ nbsphinx==0.9.7 ipython==9.4.0 matplotlib==3.10.5 pickleshare==0.7.5 -jupyter==1.1.1 \ No newline at end of file +jupyter==1.1.1 +open_spiel==1.6.1 \ No newline at end of file From c0b05863541a40079cb5ab69025a6baca88eb4b8 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 19 Sep 2025 16:13:55 +0100 Subject: [PATCH 132/240] add example of using OpenSpiel to approach Nash equilibria via evolutionary dynamics in Rock-Paper-Scissors --- doc/tutorials/06_gambit_with_openspiel.ipynb | 54 ++++++++++++++++++-- 1 file changed, 51 insertions(+), 3 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 150de4812..9a6fdb859 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -155,9 +155,19 @@ "gbt.nash.lcp_solve(gbt_matrix_rps_game).equilibria[0]" ] }, + { + "cell_type": "markdown", + "id": "966e7e3f", + "metadata": {}, + "source": [ + "We can use OpenSpiel's dynamics module to demonstrate evolutionary game theory dynamics, or \"replicator dynamics\", which models how strategy population frequencies change over time based on relative fitness/payoffs.\n", + "\n", + "Let's start with an initial population that is not at equilibrium, but weighted quite heavily towards scissors with proportions: 20% Rock, 20% Paper, 60% Scissors:" + ] + }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 62, "id": "cf1acdeb", "metadata": {}, "outputs": [ @@ -167,17 +177,55 @@ "array([ 0.08, -0.08, 0. ])" ] }, - "execution_count": 40, + "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dyn = dynamics.SinglePopulationDynamics(matrix_rps_payoffs, dynamics.replicator)\n", - "x = np.array([0.2, 0.2, 0.6]) # population heavily-weighted toward scissors\n", + "x = np.array([0.2, 0.2, 0.6])\n", "dyn(x)" ] }, + { + "cell_type": "markdown", + "id": "fa382753", + "metadata": {}, + "source": [ + "`dyn(x)` calculates the rate of change (derivative) for each strategy in the current population state and returns how fast each strategy's frequency is changing.\n", + "\n", + "In replicator dynamics, strategies that perform better than average will increase in frequency, while strategies performing worse will decrease. Since Scissors beats Paper but loses to Rock, and this population has few Rock players, we'd expect:\n", + "\n", + "- Scissors frequency might decrease (vulnerable to Rock)\n", + "- Rock frequency might increase (beats the abundant Scissors)\n", + "- Paper frequency might decrease (loses to abundant Scissors)\n", + "\n", + "This is part of the evolutionary path toward the Nash equilibrium where all three strategies have equal frequency (1/3 each) in Rock-Paper-Scissors." + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "id": "b9a352c5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0.17411743 0.45787641 0.36800616]\n" + ] + } + ], + "source": [ + "x = np.array([0.25, 0.25, 0.5])\n", + "alpha = 0.01\n", + "for i in range(10000):\n", + " x += alpha * dyn(x)\n", + "print(x)" + ] + }, { "cell_type": "markdown", "metadata": {}, From f73f5c04d6d085a6b001ed9804a2fc3ef8ccf518 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 22 Sep 2025 10:20:19 +0100 Subject: [PATCH 133/240] label gambit players --- doc/tutorials/06_gambit_with_openspiel.ipynb | 196 +++++++++++++++++-- 1 file changed, 181 insertions(+), 15 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 9a6fdb859..4d0443415 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -20,7 +20,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 1, "id": "ebb78322", "metadata": {}, "outputs": [], @@ -37,12 +37,14 @@ "id": "e628a86d", "metadata": {}, "source": [ + "## Strategic form example: Rock-Paper-Scissors\n", + "\n", "Load matrix rock-paper-scissors from OpenSpiel:" ] }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -59,7 +61,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 3, "id": "62471cb6", "metadata": {}, "outputs": [ @@ -75,7 +77,7 @@ " [ 1., -1., 0.]]])" ] }, - "execution_count": 53, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" } @@ -95,7 +97,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 4, "id": "ee2bc29c", "metadata": {}, "outputs": [ @@ -103,23 +105,30 @@ "data": { "text/html": [ "

Matrix Rock-Paper-Scissors

\n", - "
123
10.0,0.0-1.0,1.01.0,-1.0
21.0,-1.00.0,0.0-1.0,1.0
3-1.0,1.01.0,-1.00.0,0.0
\n" + "
RockPaperScissors
Rock0.0,0.0-1.0,1.01.0,-1.0
Paper1.0,-1.00.0,0.0-1.0,1.0
Scissors-1.0,1.01.0,-1.00.0,0.0
\n" ], "text/plain": [ "Game(title='Matrix Rock-Paper-Scissors')" ] }, - "execution_count": 54, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gbt_matrix_rps_game = gbt.Game.from_arrays(\n", - " matrix_rps_payoffs[0],\n", - " matrix_rps_payoffs[1],\n", + " matrix_rps_payoffs[0], # Player 1 payoffs\n", + " matrix_rps_payoffs[1], # Player 2 payoffs\n", " title=\"Matrix Rock-Paper-Scissors\"\n", ")\n", + "\n", + "# Add labels to the strategies\n", + "for player in gbt_matrix_rps_game.players:\n", + " player.strategies[0].label = \"Rock\"\n", + " player.strategies[1].label = \"Paper\"\n", + " player.strategies[2].label = \"Scissors\"\n", + "\n", "gbt_matrix_rps_game" ] }, @@ -133,7 +142,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 5, "id": "707c6c30", "metadata": {}, "outputs": [ @@ -146,7 +155,7 @@ "[[Rational(1, 3), Rational(1, 3), Rational(1, 3)], [Rational(1, 3), Rational(1, 3), Rational(1, 3)]]" ] }, - "execution_count": 57, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -167,7 +176,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 6, "id": "cf1acdeb", "metadata": {}, "outputs": [ @@ -177,7 +186,7 @@ "array([ 0.08, -0.08, 0. ])" ] }, - "execution_count": 62, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -206,7 +215,7 @@ }, { "cell_type": "code", - "execution_count": 80, + "execution_count": 7, "id": "b9a352c5", "metadata": {}, "outputs": [ @@ -230,7 +239,164 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Step 2: Train Agents in OpenSpiel (CFR)" + "\n", + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "b12f6330", + "metadata": {}, + "source": [ + "## Extensive form example: One-Card Poker\n", + "\n", + "The imperfect information one-card poker game introduced in tutorial 3." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "428ed6f5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "Game(title='One card poker game, after Myerson (1991)')" + ], + "text/plain": [ + "Game(title='One card poker game, after Myerson (1991)')" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "poker_game_gbt = gbt.read_efg(\"../poker.efg\")\n", + "poker_game_gbt" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "ab30fe6c", + "metadata": {}, + "outputs": [], + "source": [ + "p1_payoffs, p2_payoffs = poker_game_gbt.to_arrays(dtype=float)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "3fac1555", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.0, 1.0],\n", + " [0.5, 0.0],\n", + " [-1.5, 0.0],\n", + " [-1.0, -1.0]], dtype=object)" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "p1_payoffs" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "798617db", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0.0, -1.0],\n", + " [-0.5, 0.0],\n", + " [1.5, 0.0],\n", + " [1.0, 1.0]], dtype=object)" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "p2_payoffs" + ] + }, + { + "cell_type": "markdown", + "id": "741f8dce", + "metadata": {}, + "source": [ + "Create an OpenSpiel matrix game from payoff arrays" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "aa2b41f9", + "metadata": {}, + "outputs": [], + "source": [ + "ops_poker_game = pyspiel.create_matrix_game(p1_payoffs, p2_payoffs)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "0ba97a88", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Game type: short_name\n", + "Number of players: 2\n", + "Player 1 actions: 4\n" + ] + } + ], + "source": [ + "print(f\"Game type: {ops_poker_game.get_type().short_name}\")\n", + "print(f\"Number of players: {ops_poker_game.num_players()}\")\n", + "print(f\"Player 1 actions: {ops_poker_game.num_distinct_actions()}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "e7446be2", + "metadata": {}, + "outputs": [ + { + "ename": "AttributeError", + "evalue": "module 'pyspiel' has no attribute 'load_game_from_file'", + "output_type": "error", + "traceback": [ + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mAttributeError\u001b[39m Traceback (most recent call last)", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[14]\u001b[39m\u001b[32m, line 1\u001b[39m\n\u001b[32m----> \u001b[39m\u001b[32m1\u001b[39m ops_poker_efg = \u001b[43mpyspiel\u001b[49m\u001b[43m.\u001b[49m\u001b[43mload_game_from_file\u001b[49m(\u001b[33m\"\u001b[39m\u001b[33m../poker.efg\u001b[39m\u001b[33m\"\u001b[39m)\n", + "\u001b[31mAttributeError\u001b[39m: module 'pyspiel' has no attribute 'load_game_from_file'" + ] + } + ], + "source": [ + "ops_poker_efg = pyspiel.load_game_from_file(\"../poker.efg\")" ] }, { From a5761838743714d488fb184b43c6713d2d5066e6 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 25 Sep 2025 14:57:16 +0100 Subject: [PATCH 134/240] hanabi extensive form example --- doc/tutorials/06_gambit_with_openspiel.ipynb | 208 +++---------------- doc/tutorials/games/hanabi.efg | 56 +++++ 2 files changed, 83 insertions(+), 181 deletions(-) create mode 100644 doc/tutorials/games/hanabi.efg diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 4d0443415..83f216b4e 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -20,7 +20,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 21, "id": "ebb78322", "metadata": {}, "outputs": [], @@ -28,6 +28,7 @@ "import pygambit as gbt\n", "import pyspiel\n", "from open_spiel.python.egt.utils import game_payoffs_array\n", + "from open_spiel.python.algorithms.gambit import export_gambit\n", "from open_spiel.python.egt import dynamics\n", "import numpy as np" ] @@ -239,9 +240,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "\n", + "\n", "\n", - "" + "" ] }, { @@ -249,218 +250,63 @@ "id": "b12f6330", "metadata": {}, "source": [ - "## Extensive form example: One-Card Poker\n", + "## Extensive form example: Tiny Hanabi\n", "\n", - "The imperfect information one-card poker game introduced in tutorial 3." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "428ed6f5", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "Game(title='One card poker game, after Myerson (1991)')" - ], - "text/plain": [ - "Game(title='One card poker game, after Myerson (1991)')" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "poker_game_gbt = gbt.read_efg(\"../poker.efg\")\n", - "poker_game_gbt" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "ab30fe6c", - "metadata": {}, - "outputs": [], - "source": [ - "p1_payoffs, p2_payoffs = poker_game_gbt.to_arrays(dtype=float)" + "Note: Kuhn Poker EFG export did not produce a valid `.efg` file for Gambit. Using Tiny Hanabi instead.\n", + "\n", + "```\n", + "ValueError: Parse error in game file: Probabilities must sum to exactly one\n", + "```" ] }, { "cell_type": "code", - "execution_count": 10, - "id": "3fac1555", + "execution_count": 49, + "id": "02a42600", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([[0.0, 1.0],\n", - " [0.5, 0.0],\n", - " [-1.5, 0.0],\n", - " [-1.0, -1.0]], dtype=object)" + "'EFG 2 R \"tiny_hanabi()\" { \"Pl0\" \"Pl1\" } \\nc \"\" 1 \"\" { \"d0\" 0.5000000000000000 \"d1\" 0.5000000000000000 } 0\\n c \"p0:d0\" 2 \"\" { \"d0\" 0.5000000000000000 \"d1\" 0.5000000000000000 } 0\\n p \"\" 1 1 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 1 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 1 \"\" { 10.0 10.0 }\\n t \"\" 2 \"\" { 0.0 0.0 }\\n t \"\" 3 \"\" { 0.0 0.0 }\\n p \"\" 2 2 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 4 \"\" { 4.0 4.0 }\\n t \"\" 5 \"\" { 8.0 8.0 }\\n t \"\" 6 \"\" { 4.0 4.0 }\\n p \"\" 2 3 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 7 \"\" { 10.0 10.0 }\\n t \"\" 8 \"\" { 0.0 0.0 }\\n t \"\" 9 \"\" { 0.0 0.0 }\\n p \"\" 1 1 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 4 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 10 \"\" { 0.0 0.0 }\\n t \"\" 11 \"\" { 0.0 0.0 }\\n t \"\" 12 \"\" { 10.0 10.0 }\\n p \"\" 2 5 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 13 \"\" { 4.0 4.0 }\\n t \"\" 14 \"\" { 8.0 8.0 }\\n t \"\" 15 \"\" { 4.0 4.0 }\\n p \"\" 2 6 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 16 \"\" { 0.0 0.0 }\\n t \"\" 17 \"\" { 0.0 0.0 }\\n t \"\" 18 \"\" { 10.0 10.0 }\\n c \"p0:d1\" 3 \"\" { \"d0\" 0.5000000000000000 \"d1\" 0.5000000000000000 } 0\\n p \"\" 1 2 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 1 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 19 \"\" { 0.0 0.0 }\\n t \"\" 20 \"\" { 0.0 0.0 }\\n t \"\" 21 \"\" { 10.0 10.0 }\\n p \"\" 2 2 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 22 \"\" { 4.0 4.0 }\\n t \"\" 23 \"\" { 8.0 8.0 }\\n t \"\" 24 \"\" { 4.0 4.0 }\\n p \"\" 2 3 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 25 \"\" { 0.0 0.0 }\\n t \"\" 26 \"\" { 0.0 0.0 }\\n t \"\" 27 \"\" { 0.0 0.0 }\\n p \"\" 1 2 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 4 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 28 \"\" { 10.0 10.0 }\\n t \"\" 29 \"\" { 0.0 0.0 }\\n t \"\" 30 \"\" { 0.0 0.0 }\\n p \"\" 2 5 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 31 \"\" { 4.0 4.0 }\\n t \"\" 32 \"\" { 8.0 8.0 }\\n t \"\" 33 \"\" { 4.0 4.0 }\\n p \"\" 2 6 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 34 \"\" { 10.0 10.0 }\\n t \"\" 35 \"\" { 0.0 0.0 }\\n t \"\" 36 \"\" { 0.0 0.0 }\\n'" ] }, - "execution_count": 10, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "p1_payoffs" + "ops_hanabi_game = pyspiel.load_game(\"tiny_hanabi\")\n", + "efg_hanabi_game = export_gambit(ops_hanabi_game)\n", + "efg_hanabi_game" ] }, { "cell_type": "code", - "execution_count": 11, - "id": "798617db", + "execution_count": 50, + "id": "1a534e25", "metadata": {}, "outputs": [ { "data": { - "text/plain": [ - "array([[0.0, -1.0],\n", - " [-0.5, 0.0],\n", - " [1.5, 0.0],\n", - " [1.0, 1.0]], dtype=object)" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "p2_payoffs" - ] - }, - { - "cell_type": "markdown", - "id": "741f8dce", - "metadata": {}, - "source": [ - "Create an OpenSpiel matrix game from payoff arrays" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "aa2b41f9", - "metadata": {}, - "outputs": [], - "source": [ - "ops_poker_game = pyspiel.create_matrix_game(p1_payoffs, p2_payoffs)" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "0ba97a88", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Game type: short_name\n", - "Number of players: 2\n", - "Player 1 actions: 4\n" - ] - } - ], - "source": [ - "print(f\"Game type: {ops_poker_game.get_type().short_name}\")\n", - "print(f\"Number of players: {ops_poker_game.num_players()}\")\n", - "print(f\"Player 1 actions: {ops_poker_game.num_distinct_actions()}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "e7446be2", - "metadata": {}, - "outputs": [ - { - "ename": "AttributeError", - "evalue": "module 'pyspiel' has no attribute 'load_game_from_file'", - "output_type": "error", - "traceback": [ - "\u001b[31m---------------------------------------------------------------------------\u001b[39m", - "\u001b[31mAttributeError\u001b[39m Traceback (most recent call last)", - "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[14]\u001b[39m\u001b[32m, line 1\u001b[39m\n\u001b[32m----> \u001b[39m\u001b[32m1\u001b[39m ops_poker_efg = \u001b[43mpyspiel\u001b[49m\u001b[43m.\u001b[49m\u001b[43mload_game_from_file\u001b[49m(\u001b[33m\"\u001b[39m\u001b[33m../poker.efg\u001b[39m\u001b[33m\"\u001b[39m)\n", - "\u001b[31mAttributeError\u001b[39m: module 'pyspiel' has no attribute 'load_game_from_file'" - ] - } - ], - "source": [ - "ops_poker_efg = pyspiel.load_game_from_file(\"../poker.efg\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Sampled strategy: \n" - ] - } - ], - "source": [ - "# from open_spiel.python.algorithms import cfr\n", - "\n", - "# cfr_solver = cfr.CFRSolver(game)\n", - "\n", - "# for i in range(100):\n", - "# cfr_solver.evaluate_and_update_policy()\n", - "\n", - "# avg_policy = cfr_solver.average_policy()\n", - "# print(\"Sampled strategy:\", avg_policy)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Step 4: Load Game in Gambit" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[\\left[\\left[1,0\\right],\\left[\\frac{1}{3},\\frac{2}{3}\\right]\\right],\\left[\\left[\\frac{2}{3},\\frac{1}{3}\\right]\\right]\\right]$" + "text/html": [ + "Game(title='tiny_hanabi()')" ], "text/plain": [ - "[[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]], [[Rational(2, 3), Rational(1, 3)]]]" + "Game(title='tiny_hanabi()')" ] }, - "execution_count": 8, + "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "# result = gbt.nash.lcp_solve(g)\n", - "# eqm = result.equilibria[0]\n", - "# eqm" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Step 5: Compare Results" + "with open(\"games/hanabi.efg\", \"w\") as f:\n", + " f.write(efg_hanabi_game)\n", + "gbt_hanabi_game = gbt.read_efg(\"games/hanabi.efg\")\n", + "gbt_hanabi_game" ] } ], diff --git a/doc/tutorials/games/hanabi.efg b/doc/tutorials/games/hanabi.efg new file mode 100644 index 000000000..6a5251bf2 --- /dev/null +++ b/doc/tutorials/games/hanabi.efg @@ -0,0 +1,56 @@ +EFG 2 R "tiny_hanabi()" { "Pl0" "Pl1" } +c "" 1 "" { "d0" 0.5000000000000000 "d1" 0.5000000000000000 } 0 + c "p0:d0" 2 "" { "d0" 0.5000000000000000 "d1" 0.5000000000000000 } 0 + p "" 1 1 "" { "p0a0" "p0a1" "p0a2" } 0 + p "" 2 1 "" { "p1a0" "p1a1" "p1a2" } 0 + t "" 1 "" { 10.0 10.0 } + t "" 2 "" { 0.0 0.0 } + t "" 3 "" { 0.0 0.0 } + p "" 2 2 "" { "p1a0" "p1a1" "p1a2" } 0 + t "" 4 "" { 4.0 4.0 } + t "" 5 "" { 8.0 8.0 } + t "" 6 "" { 4.0 4.0 } + p "" 2 3 "" { "p1a0" "p1a1" "p1a2" } 0 + t "" 7 "" { 10.0 10.0 } + t "" 8 "" { 0.0 0.0 } + t "" 9 "" { 0.0 0.0 } + p "" 1 1 "" { "p0a0" "p0a1" "p0a2" } 0 + p "" 2 4 "" { "p1a0" "p1a1" "p1a2" } 0 + t "" 10 "" { 0.0 0.0 } + t "" 11 "" { 0.0 0.0 } + t "" 12 "" { 10.0 10.0 } + p "" 2 5 "" { "p1a0" "p1a1" "p1a2" } 0 + t "" 13 "" { 4.0 4.0 } + t "" 14 "" { 8.0 8.0 } + t "" 15 "" { 4.0 4.0 } + p "" 2 6 "" { "p1a0" "p1a1" "p1a2" } 0 + t "" 16 "" { 0.0 0.0 } + t "" 17 "" { 0.0 0.0 } + t "" 18 "" { 10.0 10.0 } + c "p0:d1" 3 "" { "d0" 0.5000000000000000 "d1" 0.5000000000000000 } 0 + p "" 1 2 "" { "p0a0" "p0a1" "p0a2" } 0 + p "" 2 1 "" { "p1a0" "p1a1" "p1a2" } 0 + t "" 19 "" { 0.0 0.0 } + t "" 20 "" { 0.0 0.0 } + t "" 21 "" { 10.0 10.0 } + p "" 2 2 "" { "p1a0" "p1a1" "p1a2" } 0 + t "" 22 "" { 4.0 4.0 } + t "" 23 "" { 8.0 8.0 } + t "" 24 "" { 4.0 4.0 } + p "" 2 3 "" { "p1a0" "p1a1" "p1a2" } 0 + t "" 25 "" { 0.0 0.0 } + t "" 26 "" { 0.0 0.0 } + t "" 27 "" { 0.0 0.0 } + p "" 1 2 "" { "p0a0" "p0a1" "p0a2" } 0 + p "" 2 4 "" { "p1a0" "p1a1" "p1a2" } 0 + t "" 28 "" { 10.0 10.0 } + t "" 29 "" { 0.0 0.0 } + t "" 30 "" { 0.0 0.0 } + p "" 2 5 "" { "p1a0" "p1a1" "p1a2" } 0 + t "" 31 "" { 4.0 4.0 } + t "" 32 "" { 8.0 8.0 } + t "" 33 "" { 4.0 4.0 } + p "" 2 6 "" { "p1a0" "p1a1" "p1a2" } 0 + t "" 34 "" { 10.0 10.0 } + t "" 35 "" { 0.0 0.0 } + t "" 36 "" { 0.0 0.0 } From 056a8cd5b48bf9971c845540a89235a1afc6bbf2 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 2 Oct 2025 12:08:41 +0100 Subject: [PATCH 135/240] explain hanabi choice and error --- doc/tutorials/06_gambit_with_openspiel.ipynb | 47 +++++++++++++++++--- 1 file changed, 41 insertions(+), 6 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 83f216b4e..0d4b0b158 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -20,7 +20,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 1, "id": "ebb78322", "metadata": {}, "outputs": [], @@ -252,7 +252,10 @@ "source": [ "## Extensive form example: Tiny Hanabi\n", "\n", - "Note: Kuhn Poker EFG export did not produce a valid `.efg` file for Gambit. Using Tiny Hanabi instead.\n", + "For extensive form games, OpenSpiel can export to the EFG format used by Gambit. Here we demonstrate this with Tiny Hanabi, loaded from the OpenSpiel [game library](https://openspiel.readthedocs.io/en/latest/games.html).\n", + "\n", + "\n", + "Note: as of OpenSpiel `1.6.1`, many of the games in the game library do not produce correct EFG exports. For example, Kuhn Poker EFG export did not produce a valid `.efg` file for Gambit, giving the error:\n", "\n", "```\n", "ValueError: Parse error in game file: Probabilities must sum to exactly one\n", @@ -261,7 +264,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 8, "id": "02a42600", "metadata": {}, "outputs": [ @@ -271,7 +274,7 @@ "'EFG 2 R \"tiny_hanabi()\" { \"Pl0\" \"Pl1\" } \\nc \"\" 1 \"\" { \"d0\" 0.5000000000000000 \"d1\" 0.5000000000000000 } 0\\n c \"p0:d0\" 2 \"\" { \"d0\" 0.5000000000000000 \"d1\" 0.5000000000000000 } 0\\n p \"\" 1 1 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 1 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 1 \"\" { 10.0 10.0 }\\n t \"\" 2 \"\" { 0.0 0.0 }\\n t \"\" 3 \"\" { 0.0 0.0 }\\n p \"\" 2 2 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 4 \"\" { 4.0 4.0 }\\n t \"\" 5 \"\" { 8.0 8.0 }\\n t \"\" 6 \"\" { 4.0 4.0 }\\n p \"\" 2 3 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 7 \"\" { 10.0 10.0 }\\n t \"\" 8 \"\" { 0.0 0.0 }\\n t \"\" 9 \"\" { 0.0 0.0 }\\n p \"\" 1 1 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 4 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 10 \"\" { 0.0 0.0 }\\n t \"\" 11 \"\" { 0.0 0.0 }\\n t \"\" 12 \"\" { 10.0 10.0 }\\n p \"\" 2 5 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 13 \"\" { 4.0 4.0 }\\n t \"\" 14 \"\" { 8.0 8.0 }\\n t \"\" 15 \"\" { 4.0 4.0 }\\n p \"\" 2 6 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 16 \"\" { 0.0 0.0 }\\n t \"\" 17 \"\" { 0.0 0.0 }\\n t \"\" 18 \"\" { 10.0 10.0 }\\n c \"p0:d1\" 3 \"\" { \"d0\" 0.5000000000000000 \"d1\" 0.5000000000000000 } 0\\n p \"\" 1 2 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 1 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 19 \"\" { 0.0 0.0 }\\n t \"\" 20 \"\" { 0.0 0.0 }\\n t \"\" 21 \"\" { 10.0 10.0 }\\n p \"\" 2 2 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 22 \"\" { 4.0 4.0 }\\n t \"\" 23 \"\" { 8.0 8.0 }\\n t \"\" 24 \"\" { 4.0 4.0 }\\n p \"\" 2 3 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 25 \"\" { 0.0 0.0 }\\n t \"\" 26 \"\" { 0.0 0.0 }\\n t \"\" 27 \"\" { 0.0 0.0 }\\n p \"\" 1 2 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 4 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 28 \"\" { 10.0 10.0 }\\n t \"\" 29 \"\" { 0.0 0.0 }\\n t \"\" 30 \"\" { 0.0 0.0 }\\n p \"\" 2 5 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 31 \"\" { 4.0 4.0 }\\n t \"\" 32 \"\" { 8.0 8.0 }\\n t \"\" 33 \"\" { 4.0 4.0 }\\n p \"\" 2 6 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 34 \"\" { 10.0 10.0 }\\n t \"\" 35 \"\" { 0.0 0.0 }\\n t \"\" 36 \"\" { 0.0 0.0 }\\n'" ] }, - "execution_count": 49, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -282,9 +285,17 @@ "efg_hanabi_game" ] }, + { + "cell_type": "markdown", + "id": "fa354c9f", + "metadata": {}, + "source": [ + "Now let's load the EFG in Gambit:" + ] + }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 9, "id": "1a534e25", "metadata": {}, "outputs": [ @@ -297,7 +308,7 @@ "Game(title='tiny_hanabi()')" ] }, - "execution_count": 50, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -308,6 +319,30 @@ "gbt_hanabi_game = gbt.read_efg(\"games/hanabi.efg\")\n", "gbt_hanabi_game" ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "1ec19b1c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[\\left[\\left[0,0,1\\right],\\left[0,1,0\\right]\\right],\\left[\\left[0,0,1\\right],\\left[0,1,0\\right],\\left[1,0,0\\right],\\left[0,0,1\\right],\\left[0,1,0\\right],\\left[0,0,1\\right]\\right]\\right]$" + ], + "text/plain": [ + "[[[Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)]], [[Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)], [Rational(1, 1), Rational(0, 1), Rational(0, 1)], [Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)], [Rational(0, 1), Rational(0, 1), Rational(1, 1)]]]" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gbt.nash.lcp_solve(gbt_hanabi_game).equilibria[0]" + ] } ], "metadata": { From 7470aa3b3655b2be7942c34517a437f46319e8c3 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 2 Oct 2025 16:44:23 +0100 Subject: [PATCH 136/240] play tiny hanabi with RL --- doc/tutorials/06_gambit_with_openspiel.ipynb | 240 ++++++++++++++++++- 1 file changed, 234 insertions(+), 6 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 0d4b0b158..193952c43 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -25,12 +25,16 @@ "metadata": {}, "outputs": [], "source": [ - "import pygambit as gbt\n", - "import pyspiel\n", + "import numpy as np\n", + "\n", + "from open_spiel.python import rl_environment\n", "from open_spiel.python.egt.utils import game_payoffs_array\n", - "from open_spiel.python.algorithms.gambit import export_gambit\n", "from open_spiel.python.egt import dynamics\n", - "import numpy as np" + "from open_spiel.python.algorithms import tabular_qlearner\n", + "from open_spiel.python.algorithms.gambit import export_gambit\n", + "import pyspiel\n", + "\n", + "import pygambit as gbt" ] }, { @@ -323,6 +327,26 @@ { "cell_type": "code", "execution_count": 10, + "id": "34508bce", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pl0\n", + "Pl1\n" + ] + } + ], + "source": [ + "for p in gbt_hanabi_game.players:\n", + " print(p.label)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, "id": "1ec19b1c", "metadata": {}, "outputs": [ @@ -335,13 +359,217 @@ "[[[Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)]], [[Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)], [Rational(1, 1), Rational(0, 1), Rational(0, 1)], [Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)], [Rational(0, 1), Rational(0, 1), Rational(1, 1)]]]" ] }, - "execution_count": 10, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eqm = gbt.nash.lcp_solve(gbt_hanabi_game).equilibria[0]\n", + "eqm" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "51406cef", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "pygambit.gambit.MixedBehaviorProfileRational" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "type(eqm)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "1b45ef68", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[\\left[0,0,1\\right],\\left[0,1,0\\right]\\right]$" + ], + "text/plain": [ + "[[Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)]]" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "eqm['Pl0']" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "8528e1bd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[\\left[0,0,1\\right],\\left[0,1,0\\right],\\left[1,0,0\\right],\\left[0,0,1\\right],\\left[0,1,0\\right],\\left[0,0,1\\right]\\right]$" + ], + "text/plain": [ + "[[Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)], [Rational(1, 1), Rational(0, 1), Rational(0, 1)], [Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)], [Rational(0, 1), Rational(0, 1), Rational(1, 1)]]" + ] + }, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "gbt.nash.lcp_solve(gbt_hanabi_game).equilibria[0]" + "eqm['Pl1']" + ] + }, + { + "cell_type": "markdown", + "id": "d628c0d5", + "metadata": {}, + "source": [ + "Let's now train 2 agents using independent Q-learning on Tiny Hanabi, and play them against eachother.\n", + "\n", + "We can compare the learned strategies played to the equilibrium strategies computed by Gambit.\n", + "\n", + "First let's open the RL environment for Tiny Hanabi and create the agents, one for each player (2 players in this case):" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "4e72c924", + "metadata": {}, + "outputs": [], + "source": [ + "# Create the environment\n", + "env = rl_environment.Environment(\"tiny_hanabi\")\n", + "num_players = env.num_players\n", + "num_actions = env.action_spec()[\"num_actions\"]\n", + "\n", + "# Create the agents\n", + "agents = [\n", + " tabular_qlearner.QLearner(player_id=idx, num_actions=num_actions)\n", + " for idx in range(num_players)\n", + "]" + ] + }, + { + "cell_type": "markdown", + "id": "4bf9eea4", + "metadata": {}, + "source": [ + "Now we can train the Q-learning agents in self-play." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "53547263", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Episodes: 0\n", + "Episodes: 1000\n", + "Episodes: 2000\n", + "Episodes: 3000\n", + "Episodes: 4000\n", + "Episodes: 5000\n", + "Episodes: 6000\n", + "Episodes: 7000\n", + "Episodes: 8000\n", + "Episodes: 9000\n", + "Episodes: 10000\n", + "Episodes: 11000\n", + "Episodes: 12000\n", + "Episodes: 13000\n", + "Episodes: 14000\n", + "Episodes: 15000\n", + "Episodes: 16000\n", + "Episodes: 17000\n", + "Episodes: 18000\n", + "Episodes: 19000\n", + "Episodes: 20000\n", + "Episodes: 21000\n", + "Episodes: 22000\n", + "Episodes: 23000\n", + "Episodes: 24000\n", + "Done!\n" + ] + } + ], + "source": [ + "for cur_episode in range(25000):\n", + " if cur_episode % 1000 == 0:\n", + " print(f\"Episodes: {cur_episode}\")\n", + " time_step = env.reset()\n", + " while not time_step.last():\n", + " player_id = time_step.observations[\"current_player\"]\n", + " agent_output = agents[player_id].step(time_step)\n", + " time_step = env.step([agent_output.action])\n", + " # Episode is over, step all agents with final info state.\n", + " for agent in agents:\n", + " agent.step(time_step)\n", + "print(\"Done!\")" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "d71bc733", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "p0:d0 p1:d0\n", + "Agent 0 chooses p0a2\n", + "\n", + "p0:d0 p1:d0 p0:a2\n", + "Agent 1 chooses p1a0\n", + "\n", + "p0:d0 p1:d0 p0:a2 p1:a0\n", + "[10.0, 10.0]\n" + ] + } + ], + "source": [ + "# Evaluate the Q-learning agent against another\n", + "eval_agents = [agents[0], agents[1]]\n", + "\n", + "time_step = env.reset()\n", + "while not time_step.last():\n", + " print(\"\")\n", + " print(env.get_state)\n", + " player_id = time_step.observations[\"current_player\"]\n", + " # Note the evaluation flag. A Q-learner will set epsilon=0 here.\n", + " agent_output = eval_agents[player_id].step(time_step, is_evaluation=True)\n", + " print(f\"Agent {player_id} chooses {env.get_state.action_to_string(agent_output.action)}\")\n", + " time_step = env.step([agent_output.action])\n", + "\n", + "print(\"\")\n", + "print(env.get_state)\n", + "print(time_step.rewards)" ] } ], From 18a3a93186878aaccc57e1d025203dac9652f94f Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 2 Oct 2025 17:01:53 +0100 Subject: [PATCH 137/240] add explanation --- doc/tutorials/06_gambit_with_openspiel.ipynb | 66 ++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 193952c43..d3bc99bfb 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -414,6 +414,31 @@ "eqm['Pl0']" ] }, + { + "cell_type": "code", + "execution_count": 19, + "id": "ae9fc7a7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "At information set 0, Player 0 plays action 0 with probability: 0 and action 1 with probability: 0 and action 2 with probability: 1\n", + "At information set 1, Player 0 plays action 0 with probability: 0 and action 1 with probability: 1 and action 2 with probability: 0\n" + ] + } + ], + "source": [ + "for infoset, mixed_action in eqm[\"Pl0\"].mixed_actions():\n", + " print(\n", + " f\"At information set {infoset.number}, \"\n", + " f\"Player 0 plays action 0 with probability: {mixed_action['p0a0']}\"\n", + " f\" and action 1 with probability: {mixed_action['p0a1']}\"\n", + " f\" and action 2 with probability: {mixed_action['p0a2']}\"\n", + " )" + ] + }, { "cell_type": "code", "execution_count": 14, @@ -438,6 +463,35 @@ "eqm['Pl1']" ] }, + { + "cell_type": "code", + "execution_count": 20, + "id": "2965aed0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "At information set 0, Player 1 plays action 0 with probability: 0 and action 1 with probability: 0 and action 2 with probability: 1\n", + "At information set 1, Player 1 plays action 0 with probability: 0 and action 1 with probability: 1 and action 2 with probability: 0\n", + "At information set 2, Player 1 plays action 0 with probability: 1 and action 1 with probability: 0 and action 2 with probability: 0\n", + "At information set 3, Player 1 plays action 0 with probability: 0 and action 1 with probability: 0 and action 2 with probability: 1\n", + "At information set 4, Player 1 plays action 0 with probability: 0 and action 1 with probability: 1 and action 2 with probability: 0\n", + "At information set 5, Player 1 plays action 0 with probability: 0 and action 1 with probability: 0 and action 2 with probability: 1\n" + ] + } + ], + "source": [ + "for infoset, mixed_action in eqm[\"Pl1\"].mixed_actions():\n", + " print(\n", + " f\"At information set {infoset.number}, \"\n", + " f\"Player 1 plays action 0 with probability: {mixed_action['p1a0']}\"\n", + " f\" and action 1 with probability: {mixed_action['p1a1']}\"\n", + " f\" and action 2 with probability: {mixed_action['p1a2']}\"\n", + " )" + ] + }, { "cell_type": "markdown", "id": "d628c0d5", @@ -571,6 +625,18 @@ "print(env.get_state)\n", "print(time_step.rewards)" ] + }, + { + "cell_type": "markdown", + "id": "f1e9b174", + "metadata": {}, + "source": [ + "Is this one of the equilibrium strategies computed by Gambit?\n", + "\n", + "When I ran the above I got the final game state `p0:d0 p1:d0 p0:a2 p1:a0` with payoffs `[10.0, 10.0]`.\n", + "\n", + "The node `p0:d0 p1:d0` is part of player 0's information set 0. p0 picks a2 which matches the first equilibrium strategy in `eqm['Pl0']` where action `p0a2` is played with probability 1.0. This put's player 1 in their information set 2, and player 1 picks action 0, which is consistent with `eqm['Pl1']` where action `p1a0` is played with probability 1.0." + ] } ], "metadata": { From fa53f2ba22c31b22a1d5d57bad949c16358284dd Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 3 Oct 2025 10:26:16 +0100 Subject: [PATCH 138/240] update explainer text --- doc/tutorials/06_gambit_with_openspiel.ipynb | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index d3bc99bfb..37a2110a1 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -4,18 +4,19 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# OpenSpiel + Gambit Workflow on one card poker\n", + "# Using Gambit with OpenSpiel\n", "\n", - "In this tutorial, we will:\n", + "This tutorial demonstrates the interoperability of the Gambit and OpenSpiel Python packages for game-theoretic analysis.\n", "\n", - "1. Load examples of normal form and extensive form games in OpenSpiel and Gambit\n", - "2. Train agents in OpenSpiel to play games and create strategies\n", - "3. Compare results against equilibria computed with Gambit\n", + "Where Gambit is used to compute exact equilibria for games, OpenSpiel provides a variety of iterative learning algorithms that can be used to approximate strategies. Another key distinction is that the PyGambit API allows the user a simple way to define custom games (see tutorials 1-3), while OpenSpiel provides a large library of built-in games (see the [OpenSpiel documentation](https://openspiel.readthedocs.io/en/latest/games.html)).\n", "\n", - "This notebook demonstrates the workflow between OpenSpiel and Gambit for game-theoretic analysis:\n", + "This tutorial demonstrates:\n", "\n", - "- **OpenSpiel**: Provides iterative learning algorithms for strategy approximation\n", - "- **Gambit**: Provides exact equilibrium computation for theoretical comparison" + "1. Loading examples of normal (strategic) form and extensive form games from the OpenSpiel library into Gambit\n", + "2. Training agents in OpenSpiel to play games and create strategies\n", + "3. Comparing the strategies of agents trained in OpenSpiel against equilibria strategies computed with Gambit\n", + "\n", + "Note: The version of OpenSpiel used in this tutorial is `1.6.1`. If you are running this tutorial locally, this will be the version installed via the included `requirements.txt` file." ] }, { @@ -42,7 +43,7 @@ "id": "e628a86d", "metadata": {}, "source": [ - "## Strategic form example: Rock-Paper-Scissors\n", + "## Normal form example: Rock-Paper-Scissors\n", "\n", "Load matrix rock-paper-scissors from OpenSpiel:" ] From c42bf90ff660835b4eb7da10640fd58fde942ed7 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 3 Oct 2025 10:37:29 +0100 Subject: [PATCH 139/240] tidy intro --- doc/tutorials/06_gambit_with_openspiel.ipynb | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 37a2110a1..115bbb12b 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -16,12 +16,14 @@ "2. Training agents in OpenSpiel to play games and create strategies\n", "3. Comparing the strategies of agents trained in OpenSpiel against equilibria strategies computed with Gambit\n", "\n", - "Note: The version of OpenSpiel used in this tutorial is `1.6.1`. If you are running this tutorial locally, this will be the version installed via the included `requirements.txt` file." + "Note:\n", + "- The version of OpenSpiel used in this tutorial is `1.6.1`. If you are running this tutorial locally, this will be the version installed via the included `requirements.txt` file.\n", + "- You can find an introductory tutorial for the OpenSpiel API on colab [here](https://colab.research.google.com/github/deepmind/open_spiel/blob/master/open_spiel/colabs/OpenSpielTutorial.ipynb)." ] }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "ebb78322", "metadata": {}, "outputs": [], @@ -29,10 +31,11 @@ "import numpy as np\n", "\n", "from open_spiel.python import rl_environment\n", - "from open_spiel.python.egt.utils import game_payoffs_array\n", - "from open_spiel.python.egt import dynamics\n", "from open_spiel.python.algorithms import tabular_qlearner\n", "from open_spiel.python.algorithms.gambit import export_gambit\n", + "from open_spiel.python.egt import dynamics\n", + "from open_spiel.python.egt.utils import game_payoffs_array\n", + "\n", "import pyspiel\n", "\n", "import pygambit as gbt" @@ -43,7 +46,9 @@ "id": "e628a86d", "metadata": {}, "source": [ - "## Normal form example: Rock-Paper-Scissors\n", + "## Normal form example\n", + "\n", + "Let's start with a simple normal form game of rock-paper-scissors, in which the payoffs can be represented by a 3x3 matrix.\n", "\n", "Load matrix rock-paper-scissors from OpenSpiel:" ] From f249490d0f7570cade23637d0b58d0d3199b59d4 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 3 Oct 2025 10:55:33 +0100 Subject: [PATCH 140/240] explain game library --- doc/tutorials/06_gambit_with_openspiel.ipynb | 30 +++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 115bbb12b..54e819b57 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -41,6 +41,34 @@ "import pygambit as gbt" ] }, + { + "cell_type": "markdown", + "id": "fd324814", + "metadata": {}, + "source": [ + "## OpenSpiel game library\n", + "\n", + "The [library of games](https://openspiel.readthedocs.io/en/latest/games.html) included in OpenSpiel is extensive. Many of these games will not be amenable to equilibrium computation with Gambit, due to their size. For the purposes of this tutorial, we'll pick two smaller games from the list below, one normal form and one extensive form:" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "b3eb3671", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['2048', 'add_noise', 'amazons', 'backgammon', 'bargaining', 'battleship', 'blackjack', 'blotto', 'breakthrough', 'bridge', 'bridge_uncontested_bidding', 'cached_tree', 'catch', 'checkers', 'chess', 'cliff_walking', 'clobber', 'coin_game', 'colored_trails', 'connect_four', 'coop_box_pushing', 'coop_to_1p', 'coordinated_mp', 'crazy_eights', 'cribbage', 'cursor_go', 'dark_chess', 'dark_hex', 'dark_hex_ir', 'deep_sea', 'dots_and_boxes', 'dou_dizhu', 'efg_game', 'einstein_wurfelt_nicht', 'euchre', 'first_sealed_auction', 'gin_rummy', 'go', 'goofspiel', 'hanabi', 'havannah', 'hearts', 'hex', 'hive', 'kriegspiel', 'kuhn_poker', 'laser_tag', 'leduc_poker', 'lewis_signaling', 'liars_dice', 'liars_dice_ir', 'lines_of_action', 'maedn', 'mancala', 'markov_soccer', 'matching_pennies_3p', 'matrix_bos', 'matrix_brps', 'matrix_cd', 'matrix_coordination', 'matrix_mp', 'matrix_pd', 'matrix_rps', 'matrix_rpsw', 'matrix_sh', 'matrix_shapleys_game', 'mfg_crowd_modelling', 'mfg_crowd_modelling_2d', 'mfg_dynamic_routing', 'mfg_garnet', 'misere', 'mnk', 'morpion_solitaire', 'negotiation', 'nfg_game', 'nim', 'nine_mens_morris', 'normal_form_extensive_game', 'oh_hell', 'oshi_zumo', 'othello', 'oware', 'pathfinding', 'pentago', 'phantom_go', 'phantom_ttt', 'phantom_ttt_ir', 'pig', 'quoridor', 'rbc', 'repeated_game', 'restricted_nash_response', 'sheriff', 'skat', 'solitaire', 'spades', 'start_at', 'stones_and_gems', 'tarok', 'tic_tac_toe', 'tiny_bridge_2p', 'tiny_bridge_4p', 'tiny_hanabi', 'trade_comm', 'turn_based_simultaneous_game', 'twixt', 'ultimate_tic_tac_toe', 'universal_poker', 'y', 'zerosum']\n" + ] + } + ], + "source": [ + "print(pyspiel.registered_names())" + ] + }, { "cell_type": "markdown", "id": "e628a86d", @@ -55,7 +83,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 21, "metadata": {}, "outputs": [], "source": [ From 1b837d5d91d1eaa87ee1792ca140086a10fe94d8 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 3 Oct 2025 11:19:07 +0100 Subject: [PATCH 141/240] add nfg alternative --- doc/tutorials/06_gambit_with_openspiel.ipynb | 47 ++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 54e819b57..6f0179a76 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -69,6 +69,18 @@ "print(pyspiel.registered_names())" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "d5d68403", + "metadata": {}, + "outputs": [], + "source": [ + "# pyspiel.create_matrix_game()\n", + "# pyspiel.create_repeated_game()\n", + "# pyspiel.create_tensor_game()" + ] + }, { "cell_type": "markdown", "id": "e628a86d", @@ -90,6 +102,41 @@ "ops_matrix_rps_game = pyspiel.load_game(\"matrix_rps\")" ] }, + { + "cell_type": "code", + "execution_count": null, + "id": "a532321e", + "metadata": {}, + "outputs": [], + "source": [ + "# Normal-form games are 1-step simultaneous-move games.\n", + "# print(state.current_player()) # special player id \n", + "# print(state.legal_actions(0)) # query legal actions for each player\n", + "# print(state.legal_actions(1))\n", + "# print(state.is_terminal())" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "f5fa4e42", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'NFG 1 R \"OpenSpiel export of matrix_rps()\"\\n{ \"Player 0\" \"Player 1\" } { 3 3 }\\n\\n0 0\\n1 -1\\n-1 1\\n-1 1\\n0 0\\n1 -1\\n1 -1\\n-1 1\\n0 0\\n'" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pyspiel.game_to_nfg_string(ops_matrix_rps_game)" + ] + }, { "cell_type": "markdown", "id": "28f08bbc", From ed77b9d16427d0a42fcbb53262180c88a27632d7 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 3 Oct 2025 11:25:49 +0100 Subject: [PATCH 142/240] avoid saving efg file --- doc/tutorials/06_gambit_with_openspiel.ipynb | 11 ++-- doc/tutorials/games/hanabi.efg | 56 -------------------- 2 files changed, 5 insertions(+), 62 deletions(-) delete mode 100644 doc/tutorials/games/hanabi.efg diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 6f0179a76..dc34d2062 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -28,6 +28,7 @@ "metadata": {}, "outputs": [], "source": [ + "import io\n", "import numpy as np\n", "\n", "from open_spiel.python import rl_environment\n", @@ -375,12 +376,12 @@ "id": "fa354c9f", "metadata": {}, "source": [ - "Now let's load the EFG in Gambit:" + "Now let's load the EFG in Gambit (bear in mind that Gambit's `read_efg` function expects a file like object)." ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 36, "id": "1a534e25", "metadata": {}, "outputs": [ @@ -393,15 +394,13 @@ "Game(title='tiny_hanabi()')" ] }, - "execution_count": 9, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "with open(\"games/hanabi.efg\", \"w\") as f:\n", - " f.write(efg_hanabi_game)\n", - "gbt_hanabi_game = gbt.read_efg(\"games/hanabi.efg\")\n", + "gbt_hanabi_game = gbt.read_efg(io.StringIO(efg_hanabi_game))\n", "gbt_hanabi_game" ] }, diff --git a/doc/tutorials/games/hanabi.efg b/doc/tutorials/games/hanabi.efg deleted file mode 100644 index 6a5251bf2..000000000 --- a/doc/tutorials/games/hanabi.efg +++ /dev/null @@ -1,56 +0,0 @@ -EFG 2 R "tiny_hanabi()" { "Pl0" "Pl1" } -c "" 1 "" { "d0" 0.5000000000000000 "d1" 0.5000000000000000 } 0 - c "p0:d0" 2 "" { "d0" 0.5000000000000000 "d1" 0.5000000000000000 } 0 - p "" 1 1 "" { "p0a0" "p0a1" "p0a2" } 0 - p "" 2 1 "" { "p1a0" "p1a1" "p1a2" } 0 - t "" 1 "" { 10.0 10.0 } - t "" 2 "" { 0.0 0.0 } - t "" 3 "" { 0.0 0.0 } - p "" 2 2 "" { "p1a0" "p1a1" "p1a2" } 0 - t "" 4 "" { 4.0 4.0 } - t "" 5 "" { 8.0 8.0 } - t "" 6 "" { 4.0 4.0 } - p "" 2 3 "" { "p1a0" "p1a1" "p1a2" } 0 - t "" 7 "" { 10.0 10.0 } - t "" 8 "" { 0.0 0.0 } - t "" 9 "" { 0.0 0.0 } - p "" 1 1 "" { "p0a0" "p0a1" "p0a2" } 0 - p "" 2 4 "" { "p1a0" "p1a1" "p1a2" } 0 - t "" 10 "" { 0.0 0.0 } - t "" 11 "" { 0.0 0.0 } - t "" 12 "" { 10.0 10.0 } - p "" 2 5 "" { "p1a0" "p1a1" "p1a2" } 0 - t "" 13 "" { 4.0 4.0 } - t "" 14 "" { 8.0 8.0 } - t "" 15 "" { 4.0 4.0 } - p "" 2 6 "" { "p1a0" "p1a1" "p1a2" } 0 - t "" 16 "" { 0.0 0.0 } - t "" 17 "" { 0.0 0.0 } - t "" 18 "" { 10.0 10.0 } - c "p0:d1" 3 "" { "d0" 0.5000000000000000 "d1" 0.5000000000000000 } 0 - p "" 1 2 "" { "p0a0" "p0a1" "p0a2" } 0 - p "" 2 1 "" { "p1a0" "p1a1" "p1a2" } 0 - t "" 19 "" { 0.0 0.0 } - t "" 20 "" { 0.0 0.0 } - t "" 21 "" { 10.0 10.0 } - p "" 2 2 "" { "p1a0" "p1a1" "p1a2" } 0 - t "" 22 "" { 4.0 4.0 } - t "" 23 "" { 8.0 8.0 } - t "" 24 "" { 4.0 4.0 } - p "" 2 3 "" { "p1a0" "p1a1" "p1a2" } 0 - t "" 25 "" { 0.0 0.0 } - t "" 26 "" { 0.0 0.0 } - t "" 27 "" { 0.0 0.0 } - p "" 1 2 "" { "p0a0" "p0a1" "p0a2" } 0 - p "" 2 4 "" { "p1a0" "p1a1" "p1a2" } 0 - t "" 28 "" { 10.0 10.0 } - t "" 29 "" { 0.0 0.0 } - t "" 30 "" { 0.0 0.0 } - p "" 2 5 "" { "p1a0" "p1a1" "p1a2" } 0 - t "" 31 "" { 4.0 4.0 } - t "" 32 "" { 8.0 8.0 } - t "" 33 "" { 4.0 4.0 } - p "" 2 6 "" { "p1a0" "p1a1" "p1a2" } 0 - t "" 34 "" { 10.0 10.0 } - t "" 35 "" { 0.0 0.0 } - t "" 36 "" { 0.0 0.0 } From 4972b8ae504bb3506205a1a7ee150acc19d4bbb5 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 3 Oct 2025 11:32:24 +0100 Subject: [PATCH 143/240] use the game_to_nfg_string function --- doc/tutorials/06_gambit_with_openspiel.ipynb | 81 ++++---------------- 1 file changed, 17 insertions(+), 64 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index dc34d2062..7ad8be75e 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -23,12 +23,12 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 39, "id": "ebb78322", "metadata": {}, "outputs": [], "source": [ - "import io\n", + "from io import StringIO\n", "import numpy as np\n", "\n", "from open_spiel.python import rl_environment\n", @@ -119,7 +119,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 37, "id": "f5fa4e42", "metadata": {}, "outputs": [ @@ -129,86 +129,39 @@ "'NFG 1 R \"OpenSpiel export of matrix_rps()\"\\n{ \"Player 0\" \"Player 1\" } { 3 3 }\\n\\n0 0\\n1 -1\\n-1 1\\n-1 1\\n0 0\\n1 -1\\n1 -1\\n-1 1\\n0 0\\n'" ] }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pyspiel.game_to_nfg_string(ops_matrix_rps_game)" - ] - }, - { - "cell_type": "markdown", - "id": "28f08bbc", - "metadata": {}, - "source": [ - "Get the payoffs as numpy arrays..." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "62471cb6", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[[ 0., -1., 1.],\n", - " [ 1., 0., -1.],\n", - " [-1., 1., 0.]],\n", - "\n", - " [[ 0., 1., -1.],\n", - " [-1., 0., 1.],\n", - " [ 1., -1., 0.]]])" - ] - }, - "execution_count": 3, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "matrix_rps_payoffs = game_payoffs_array(ops_matrix_rps_game)\n", - "matrix_rps_payoffs" - ] - }, - { - "cell_type": "markdown", - "id": "cfdcd18f", - "metadata": {}, - "source": [ - "... which we can use to recreate the game in Gambit:" + "nfg_matrix_rps_game = pyspiel.game_to_nfg_string(ops_matrix_rps_game)\n", + "nfg_matrix_rps_game" ] }, { "cell_type": "code", - "execution_count": 4, - "id": "ee2bc29c", + "execution_count": 42, + "id": "b684325e", "metadata": {}, "outputs": [ { "data": { "text/html": [ - "

Matrix Rock-Paper-Scissors

\n", - "
RockPaperScissors
Rock0.0,0.0-1.0,1.01.0,-1.0
Paper1.0,-1.00.0,0.0-1.0,1.0
Scissors-1.0,1.01.0,-1.00.0,0.0
\n" + "

OpenSpiel export of matrix_rps()

\n", + "
RockPaperScissors
Rock0,0-1,11,-1
Paper1,-10,0-1,1
Scissors-1,11,-10,0
\n" ], "text/plain": [ - "Game(title='Matrix Rock-Paper-Scissors')" + "Game(title='OpenSpiel export of matrix_rps()')" ] }, - "execution_count": 4, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "gbt_matrix_rps_game = gbt.Game.from_arrays(\n", - " matrix_rps_payoffs[0], # Player 1 payoffs\n", - " matrix_rps_payoffs[1], # Player 2 payoffs\n", - " title=\"Matrix Rock-Paper-Scissors\"\n", - ")\n", + "gbt_matrix_rps_game = gbt.read_nfg(StringIO(nfg_matrix_rps_game))\n", "\n", "# Add labels to the strategies\n", "for player in gbt_matrix_rps_game.players:\n", @@ -229,7 +182,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 43, "id": "707c6c30", "metadata": {}, "outputs": [ @@ -242,7 +195,7 @@ "[[Rational(1, 3), Rational(1, 3), Rational(1, 3)], [Rational(1, 3), Rational(1, 3), Rational(1, 3)]]" ] }, - "execution_count": 5, + "execution_count": 43, "metadata": {}, "output_type": "execute_result" } @@ -381,7 +334,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": null, "id": "1a534e25", "metadata": {}, "outputs": [ @@ -400,7 +353,7 @@ } ], "source": [ - "gbt_hanabi_game = gbt.read_efg(io.StringIO(efg_hanabi_game))\n", + "gbt_hanabi_game = gbt.read_efg(StringIO(efg_hanabi_game))\n", "gbt_hanabi_game" ] }, From a2f5c6576b935cad9886eeff20e3fabe2ed261a1 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 3 Oct 2025 11:39:45 +0100 Subject: [PATCH 144/240] rerun nb --- doc/tutorials/06_gambit_with_openspiel.ipynb | 77 ++++++++++---------- 1 file changed, 39 insertions(+), 38 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 7ad8be75e..8e44c245f 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -23,7 +23,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 13, "id": "ebb78322", "metadata": {}, "outputs": [], @@ -54,7 +54,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 14, "id": "b3eb3671", "metadata": {}, "outputs": [ @@ -72,7 +72,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "d5d68403", "metadata": {}, "outputs": [], @@ -96,7 +96,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ @@ -105,7 +105,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "a532321e", "metadata": {}, "outputs": [], @@ -119,7 +119,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 18, "id": "f5fa4e42", "metadata": {}, "outputs": [ @@ -129,7 +129,7 @@ "'NFG 1 R \"OpenSpiel export of matrix_rps()\"\\n{ \"Player 0\" \"Player 1\" } { 3 3 }\\n\\n0 0\\n1 -1\\n-1 1\\n-1 1\\n0 0\\n1 -1\\n1 -1\\n-1 1\\n0 0\\n'" ] }, - "execution_count": 37, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -141,7 +141,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 19, "id": "b684325e", "metadata": {}, "outputs": [ @@ -155,7 +155,7 @@ "Game(title='OpenSpiel export of matrix_rps()')" ] }, - "execution_count": 42, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -182,7 +182,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 20, "id": "707c6c30", "metadata": {}, "outputs": [ @@ -195,7 +195,7 @@ "[[Rational(1, 3), Rational(1, 3), Rational(1, 3)], [Rational(1, 3), Rational(1, 3), Rational(1, 3)]]" ] }, - "execution_count": 43, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -216,7 +216,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 21, "id": "cf1acdeb", "metadata": {}, "outputs": [ @@ -226,12 +226,13 @@ "array([ 0.08, -0.08, 0. ])" ] }, - "execution_count": 6, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ + "matrix_rps_payoffs = game_payoffs_array(ops_matrix_rps_game)\n", "dyn = dynamics.SinglePopulationDynamics(matrix_rps_payoffs, dynamics.replicator)\n", "x = np.array([0.2, 0.2, 0.6])\n", "dyn(x)" @@ -255,7 +256,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 22, "id": "b9a352c5", "metadata": {}, "outputs": [ @@ -303,7 +304,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 23, "id": "02a42600", "metadata": {}, "outputs": [ @@ -313,7 +314,7 @@ "'EFG 2 R \"tiny_hanabi()\" { \"Pl0\" \"Pl1\" } \\nc \"\" 1 \"\" { \"d0\" 0.5000000000000000 \"d1\" 0.5000000000000000 } 0\\n c \"p0:d0\" 2 \"\" { \"d0\" 0.5000000000000000 \"d1\" 0.5000000000000000 } 0\\n p \"\" 1 1 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 1 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 1 \"\" { 10.0 10.0 }\\n t \"\" 2 \"\" { 0.0 0.0 }\\n t \"\" 3 \"\" { 0.0 0.0 }\\n p \"\" 2 2 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 4 \"\" { 4.0 4.0 }\\n t \"\" 5 \"\" { 8.0 8.0 }\\n t \"\" 6 \"\" { 4.0 4.0 }\\n p \"\" 2 3 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 7 \"\" { 10.0 10.0 }\\n t \"\" 8 \"\" { 0.0 0.0 }\\n t \"\" 9 \"\" { 0.0 0.0 }\\n p \"\" 1 1 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 4 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 10 \"\" { 0.0 0.0 }\\n t \"\" 11 \"\" { 0.0 0.0 }\\n t \"\" 12 \"\" { 10.0 10.0 }\\n p \"\" 2 5 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 13 \"\" { 4.0 4.0 }\\n t \"\" 14 \"\" { 8.0 8.0 }\\n t \"\" 15 \"\" { 4.0 4.0 }\\n p \"\" 2 6 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 16 \"\" { 0.0 0.0 }\\n t \"\" 17 \"\" { 0.0 0.0 }\\n t \"\" 18 \"\" { 10.0 10.0 }\\n c \"p0:d1\" 3 \"\" { \"d0\" 0.5000000000000000 \"d1\" 0.5000000000000000 } 0\\n p \"\" 1 2 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 1 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 19 \"\" { 0.0 0.0 }\\n t \"\" 20 \"\" { 0.0 0.0 }\\n t \"\" 21 \"\" { 10.0 10.0 }\\n p \"\" 2 2 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 22 \"\" { 4.0 4.0 }\\n t \"\" 23 \"\" { 8.0 8.0 }\\n t \"\" 24 \"\" { 4.0 4.0 }\\n p \"\" 2 3 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 25 \"\" { 0.0 0.0 }\\n t \"\" 26 \"\" { 0.0 0.0 }\\n t \"\" 27 \"\" { 0.0 0.0 }\\n p \"\" 1 2 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 4 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 28 \"\" { 10.0 10.0 }\\n t \"\" 29 \"\" { 0.0 0.0 }\\n t \"\" 30 \"\" { 0.0 0.0 }\\n p \"\" 2 5 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 31 \"\" { 4.0 4.0 }\\n t \"\" 32 \"\" { 8.0 8.0 }\\n t \"\" 33 \"\" { 4.0 4.0 }\\n p \"\" 2 6 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 34 \"\" { 10.0 10.0 }\\n t \"\" 35 \"\" { 0.0 0.0 }\\n t \"\" 36 \"\" { 0.0 0.0 }\\n'" ] }, - "execution_count": 8, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -334,7 +335,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "1a534e25", "metadata": {}, "outputs": [ @@ -347,7 +348,7 @@ "Game(title='tiny_hanabi()')" ] }, - "execution_count": 36, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -359,7 +360,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 25, "id": "34508bce", "metadata": {}, "outputs": [ @@ -379,7 +380,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 26, "id": "1ec19b1c", "metadata": {}, "outputs": [ @@ -392,7 +393,7 @@ "[[[Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)]], [[Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)], [Rational(1, 1), Rational(0, 1), Rational(0, 1)], [Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)], [Rational(0, 1), Rational(0, 1), Rational(1, 1)]]]" ] }, - "execution_count": 11, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -404,7 +405,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 27, "id": "51406cef", "metadata": {}, "outputs": [ @@ -414,7 +415,7 @@ "pygambit.gambit.MixedBehaviorProfileRational" ] }, - "execution_count": 12, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -425,7 +426,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 28, "id": "1b45ef68", "metadata": {}, "outputs": [ @@ -438,7 +439,7 @@ "[[Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)]]" ] }, - "execution_count": 13, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -449,7 +450,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 29, "id": "ae9fc7a7", "metadata": {}, "outputs": [ @@ -474,7 +475,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 30, "id": "8528e1bd", "metadata": {}, "outputs": [ @@ -487,7 +488,7 @@ "[[Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)], [Rational(1, 1), Rational(0, 1), Rational(0, 1)], [Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)], [Rational(0, 1), Rational(0, 1), Rational(1, 1)]]" ] }, - "execution_count": 14, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -498,7 +499,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 31, "id": "2965aed0", "metadata": {}, "outputs": [ @@ -539,7 +540,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 32, "id": "4e72c924", "metadata": {}, "outputs": [], @@ -566,7 +567,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 33, "id": "53547263", "metadata": {}, "outputs": [ @@ -620,7 +621,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 34, "id": "d71bc733", "metadata": {}, "outputs": [ @@ -629,14 +630,14 @@ "output_type": "stream", "text": [ "\n", - "p0:d0 p1:d0\n", - "Agent 0 chooses p0a2\n", + "p0:d1 p1:d1\n", + "Agent 0 chooses p0a1\n", "\n", - "p0:d0 p1:d0 p0:a2\n", - "Agent 1 chooses p1a0\n", + "p0:d1 p1:d1 p0:a1\n", + "Agent 1 chooses p1a1\n", "\n", - "p0:d0 p1:d0 p0:a2 p1:a0\n", - "[10.0, 10.0]\n" + "p0:d1 p1:d1 p0:a1 p1:a1\n", + "[8.0, 8.0]\n" ] } ], From 8b09d840940388e93a58c475ccf75972604ceba0 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 3 Oct 2025 11:44:12 +0100 Subject: [PATCH 145/240] add game title --- doc/tutorials/06_gambit_with_openspiel.ipynb | 27 ++++++++++++++++---- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 8e44c245f..e945e73f5 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -117,6 +117,14 @@ "# print(state.is_terminal())" ] }, + { + "cell_type": "markdown", + "id": "045cf8dd", + "metadata": {}, + "source": [ + "OpenSpiel can generate an NFG representation of the game loadable in Gambit:" + ] + }, { "cell_type": "code", "execution_count": 18, @@ -139,23 +147,31 @@ "nfg_matrix_rps_game" ] }, + { + "cell_type": "markdown", + "id": "70d1df64", + "metadata": {}, + "source": [ + "Now let's load the NFG in Gambit (bear in mind that Gambit's `read_nfg` function expects a file like object)." + ] + }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 35, "id": "b684325e", "metadata": {}, "outputs": [ { "data": { "text/html": [ - "

OpenSpiel export of matrix_rps()

\n", + "

Rock-Paper-Scissors

\n", "
RockPaperScissors
Rock0,0-1,11,-1
Paper1,-10,0-1,1
Scissors-1,11,-10,0
\n" ], "text/plain": [ - "Game(title='OpenSpiel export of matrix_rps()')" + "Game(title='Rock-Paper-Scissors')" ] }, - "execution_count": 19, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -163,7 +179,8 @@ "source": [ "gbt_matrix_rps_game = gbt.read_nfg(StringIO(nfg_matrix_rps_game))\n", "\n", - "# Add labels to the strategies\n", + "gbt_matrix_rps_game.title = \"Rock-Paper-Scissors\"\n", + "\n", "for player in gbt_matrix_rps_game.players:\n", " player.strategies[0].label = \"Rock\"\n", " player.strategies[1].label = \"Paper\"\n", From 91b61fc9cbb48dc8d2692fe724ec1ae8fd5d0480 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 3 Oct 2025 12:03:16 +0100 Subject: [PATCH 146/240] you can create games in OpenSpiel --- doc/tutorials/06_gambit_with_openspiel.ipynb | 230 ++++++++++++++++++- 1 file changed, 218 insertions(+), 12 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index e945e73f5..20e2eaf6f 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -70,18 +70,6 @@ "print(pyspiel.registered_names())" ] }, - { - "cell_type": "code", - "execution_count": 15, - "id": "d5d68403", - "metadata": {}, - "outputs": [], - "source": [ - "# pyspiel.create_matrix_game()\n", - "# pyspiel.create_repeated_game()\n", - "# pyspiel.create_tensor_game()" - ] - }, { "cell_type": "markdown", "id": "e628a86d", @@ -688,6 +676,224 @@ "\n", "The node `p0:d0 p1:d0` is part of player 0's information set 0. p0 picks a2 which matches the first equilibrium strategy in `eqm['Pl0']` where action `p0a2` is played with probability 1.0. This put's player 1 in their information set 2, and player 1 picks action 0, which is consistent with `eqm['Pl1']` where action `p1a0` is played with probability 1.0." ] + }, + { + "cell_type": "markdown", + "id": "d5d68403", + "metadata": {}, + "source": [ + "# Creating custom games in OpenSpiel\n", + "\n", + "```\n", + "pyspiel.create_matrix_game()\n", + "pyspiel.create_repeated_game()\n", + "pyspiel.create_tensor_game()\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "id": "bbf51961", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Matrix game type: short_name\n", + "Players: 2\n", + "Named matrix game: Battle of Sexes\n" + ] + } + ], + "source": [ + "# Demonstrate OpenSpiel's game creation functions\n", + "\n", + "# 1. Create a matrix game (2-player, 2x2 Battle of the Sexes)\n", + "\n", + "# Player payoff matrices for Battle of the Sexes\n", + "# Player 1 payoffs: prefers Opera (top-left), Player 2 payoffs: prefers Football (bottom-right)\n", + "p1_payoffs = [[3, 0], [0, 1]] # Player 1: (Opera,Opera)=3, (Football,Football)=1, others=0\n", + "p2_payoffs = [[1, 0], [0, 3]] # Player 2: (Opera,Opera)=1, (Football,Football)=3, others=0\n", + "\n", + "# Create matrix game with just payoffs\n", + "matrix_game = pyspiel.create_matrix_game(p1_payoffs, p2_payoffs)\n", + "print(f\"Matrix game type: {matrix_game.get_type().short_name}\")\n", + "print(f\"Players: {matrix_game.num_players()}\")\n", + "\n", + "# Create matrix game with named strategies\n", + "row_names = [\"Opera\", \"Football\"]\n", + "col_names = [\"Opera\", \"Football\"]\n", + "matrix_game_named = pyspiel.create_matrix_game(\n", + " \"Battle of Sexes\", \"Coordination game\", row_names, col_names, p1_payoffs, p2_payoffs\n", + ")\n", + "print(f\"Named matrix game: {matrix_game_named.get_type().short_name}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "5a10e8b8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "

OpenSpiel export of Battle of Sexes()

\n", + "
12
13,10,0
20,01,3
\n" + ], + "text/plain": [ + "Game(title='OpenSpiel export of Battle of Sexes()')" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gbt.read_nfg(StringIO(pyspiel.game_to_nfg_string(matrix_game_named)))" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "34cf3d23", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Tensor game type: short_name\n", + "Players: 3\n", + "Tensor game (flat): short_name\n", + "Named tensor game: 3-Player Game\n" + ] + } + ], + "source": [ + "# 2. Create a tensor game (3-player, 2x2x2 game)\n", + "# Each player has 2 actions, creating 2^3 = 8 possible outcomes\n", + "\n", + "# Create 2x2x2 payoff tensors for 3 players\n", + "p1_tensor = [[[2, 1], [0, 3]], [[1, 2], [3, 0]]] # Player 1's payoffs\n", + "p2_tensor = [[[1, 2], [3, 0]], [[2, 1], [0, 3]]] # Player 2's payoffs \n", + "p3_tensor = [[[0, 3], [1, 2]], [[3, 0], [2, 1]]] # Player 3's payoffs\n", + "\n", + "# Convert to numpy arrays\n", + "p1_array = np.array(p1_tensor, dtype=np.float64)\n", + "p2_array = np.array(p2_tensor, dtype=np.float64)\n", + "p3_array = np.array(p3_tensor, dtype=np.float64)\n", + "\n", + "# Create tensor game from numpy arrays\n", + "tensor_game = pyspiel.create_tensor_game([p1_array, p2_array, p3_array])\n", + "print(f\"Tensor game type: {tensor_game.get_type().short_name}\")\n", + "print(f\"Players: {tensor_game.num_players()}\")\n", + "\n", + "# Alternative: Create tensor game with flattened utilities and shape\n", + "flat_utilities = [\n", + " p1_array.flatten().tolist(),\n", + " p2_array.flatten().tolist(), \n", + " p3_array.flatten().tolist()\n", + "]\n", + "shape = [2, 2, 2] # 2 actions per player\n", + "tensor_game_flat = pyspiel.create_tensor_game(flat_utilities, shape)\n", + "print(f\"Tensor game (flat): {tensor_game_flat.get_type().short_name}\")\n", + "\n", + "# Create tensor game with named actions\n", + "action_names = [[\"Cooperate\", \"Defect\"], [\"Cooperate\", \"Defect\"], [\"Cooperate\", \"Defect\"]]\n", + "tensor_game_named = pyspiel.create_tensor_game(\n", + " \"3-Player Game\", \"Multi-player coordination\", action_names, flat_utilities\n", + ")\n", + "print(f\"Named tensor game: {tensor_game_named.get_type().short_name}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "67824325", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "

OpenSpiel export of 3-Player Game()

\n", + "
Subtable with strategies:
Player 3 Strategy 1
12
12,1,00,3,1
21,2,33,0,2
Subtable with strategies:
Player 3 Strategy 2
12
11,2,33,0,2
22,1,00,3,1
\n" + ], + "text/plain": [ + "Game(title='OpenSpiel export of 3-Player Game()')" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gbt.read_nfg(StringIO(pyspiel.game_to_nfg_string(tensor_game_named)))" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "id": "98a27d88", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Repeated game type: repeated_game\n", + "Players: 2\n", + "Max game length: 10\n", + "Infinite repeated game: repeated_game\n" + ] + } + ], + "source": [ + "# 3. Create a repeated game (iterate the matrix game)\n", + "# Note: pyspiel.create_repeated_game() takes a base game and parameters\n", + "stage_game = matrix_game # Use the Battle of Sexes from above\n", + "\n", + "# Create finitely repeated game (10 rounds)\n", + "repeated_game = pyspiel.create_repeated_game(stage_game, {\"num_repetitions\": 10})\n", + "print(f\"Repeated game type: {repeated_game.get_type().short_name}\")\n", + "print(f\"Players: {repeated_game.num_players()}\")\n", + "print(f\"Max game length: {repeated_game.max_game_length()}\")\n", + "\n", + "# Create infinitely repeated game with discount factor\n", + "repeated_game_infinite = pyspiel.create_repeated_game(\n", + " stage_game, {\"num_repetitions\": -1, \"discount\": 0.9}\n", + ")\n", + "print(f\"Infinite repeated game: {repeated_game_infinite.get_type().short_name}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "id": "99044d56", + "metadata": {}, + "outputs": [ + { + "ename": "ValueError", + "evalue": "vector", + "output_type": "error", + "traceback": [ + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mValueError\u001b[39m Traceback (most recent call last)", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[52]\u001b[39m\u001b[32m, line 1\u001b[39m\n\u001b[32m----> \u001b[39m\u001b[32m1\u001b[39m \u001b[43mexport_gambit\u001b[49m\u001b[43m(\u001b[49m\u001b[43mrepeated_game_infinite\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 2\u001b[39m \u001b[38;5;66;03m# pyspiel.game_to_nfg_string(repeated_game_infinite)\u001b[39;00m\n\u001b[32m 3\u001b[39m \u001b[38;5;66;03m# gbt.read_efg(StringIO())\u001b[39;00m\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/anaconda3/envs/gbt_pygraphviz/lib/python3.11/site-packages/open_spiel/python/algorithms/gambit.py:101\u001b[39m, in \u001b[36mexport_gambit\u001b[39m\u001b[34m(game)\u001b[39m\n\u001b[32m 98\u001b[39m child = state.child(action)\n\u001b[32m 99\u001b[39m build_tree(child, depth + \u001b[32m1\u001b[39m)\n\u001b[32m--> \u001b[39m\u001b[32m101\u001b[39m build_tree(\u001b[43mgame\u001b[49m\u001b[43m.\u001b[49m\u001b[43mnew_initial_state\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m, \u001b[32m0\u001b[39m)\n\u001b[32m 102\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m ret\n", + "\u001b[31mValueError\u001b[39m: vector" + ] + } + ], + "source": [ + "export_gambit(repeated_game_infinite)\n", + "# pyspiel.game_to_nfg_string(repeated_game_infinite)\n", + "# gbt.read_efg(StringIO())" + ] } ], "metadata": { From ce7f5a5072ab17f103fc6804dd83467dec5835a5 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 3 Oct 2025 14:24:56 +0100 Subject: [PATCH 147/240] simpligy tensor game creation --- doc/tutorials/06_gambit_with_openspiel.ipynb | 195 ++++++++++++------- 1 file changed, 125 insertions(+), 70 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 20e2eaf6f..1f305e375 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -758,7 +758,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": null, "id": "34cf3d23", "metadata": {}, "outputs": [ @@ -766,10 +766,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "Tensor game type: short_name\n", - "Players: 3\n", - "Tensor game (flat): short_name\n", - "Named tensor game: 3-Player Game\n" + "Named tensor game: 3-Player Game\n", + "Players: 3\n" ] } ], @@ -778,66 +776,55 @@ "# Each player has 2 actions, creating 2^3 = 8 possible outcomes\n", "\n", "# Create 2x2x2 payoff tensors for 3 players\n", - "p1_tensor = [[[2, 1], [0, 3]], [[1, 2], [3, 0]]] # Player 1's payoffs\n", - "p2_tensor = [[[1, 2], [3, 0]], [[2, 1], [0, 3]]] # Player 2's payoffs \n", - "p3_tensor = [[[0, 3], [1, 2]], [[3, 0], [2, 1]]] # Player 3's payoffs\n", + "p1_array = np.array([[[2, 1], [0, 3]], [[1, 2], [3, 0]]]) # Player 1's payoffs\n", + "p2_array = np.array([[[1, 2], [3, 0]], [[2, 1], [0, 3]]]) # Player 2's payoffs\n", + "p3_array = np.array([[[0, 3], [1, 2]], [[3, 0], [2, 1]]]) # Player 3's payoffs\n", "\n", - "# Convert to numpy arrays\n", - "p1_array = np.array(p1_tensor, dtype=np.float64)\n", - "p2_array = np.array(p2_tensor, dtype=np.float64)\n", - "p3_array = np.array(p3_tensor, dtype=np.float64)\n", - "\n", - "# Create tensor game from numpy arrays\n", - "tensor_game = pyspiel.create_tensor_game([p1_array, p2_array, p3_array])\n", - "print(f\"Tensor game type: {tensor_game.get_type().short_name}\")\n", - "print(f\"Players: {tensor_game.num_players()}\")\n", + "action_names = [[\"Cooperate\", \"Defect\"], [\"Cooperate\", \"Defect\"], [\"Cooperate\", \"Defect\"]]\n", "\n", - "# Alternative: Create tensor game with flattened utilities and shape\n", + "# Flattened utilities for use in create_tensor_game\n", "flat_utilities = [\n", " p1_array.flatten().tolist(),\n", " p2_array.flatten().tolist(), \n", " p3_array.flatten().tolist()\n", "]\n", - "shape = [2, 2, 2] # 2 actions per player\n", - "tensor_game_flat = pyspiel.create_tensor_game(flat_utilities, shape)\n", - "print(f\"Tensor game (flat): {tensor_game_flat.get_type().short_name}\")\n", "\n", "# Create tensor game with named actions\n", - "action_names = [[\"Cooperate\", \"Defect\"], [\"Cooperate\", \"Defect\"], [\"Cooperate\", \"Defect\"]]\n", "tensor_game_named = pyspiel.create_tensor_game(\n", " \"3-Player Game\", \"Multi-player coordination\", action_names, flat_utilities\n", ")\n", - "print(f\"Named tensor game: {tensor_game_named.get_type().short_name}\")" + "print(f\"Named tensor game: {tensor_game_named.get_type().short_name}\")\n", + "print(f\"Players: {tensor_game_named.num_players()}\")" ] }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 57, "id": "67824325", "metadata": {}, "outputs": [ { "data": { "text/html": [ - "

OpenSpiel export of 3-Player Game()

\n", + "

OpenSpiel export of short_name()

\n", "
Subtable with strategies:
Player 3 Strategy 1
12
12,1,00,3,1
21,2,33,0,2
Subtable with strategies:
Player 3 Strategy 2
12
11,2,33,0,2
22,1,00,3,1
\n" ], "text/plain": [ - "Game(title='OpenSpiel export of 3-Player Game()')" + "Game(title='OpenSpiel export of short_name()')" ] }, - "execution_count": 50, + "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "gbt.read_nfg(StringIO(pyspiel.game_to_nfg_string(tensor_game_named)))" + "gbt.read_nfg(StringIO(pyspiel.game_to_nfg_string(tensor_game)))" ] }, { "cell_type": "code", - "execution_count": 51, + "execution_count": null, "id": "98a27d88", "metadata": {}, "outputs": [ @@ -845,54 +832,122 @@ "name": "stdout", "output_type": "stream", "text": [ - "Repeated game type: repeated_game\n", - "Players: 2\n", - "Max game length: 10\n", - "Infinite repeated game: repeated_game\n" + "Simple game type: short_name\n", + "=== Testing Very Short Repeated Games ===\n", + "✓ Created 2-round repeated game\n", + " Type: repeated_game\n", + " Players: 2\n", + " Max game length: 2\n", + "✓ Export successful! EFG length: 855 characters\n", + "✗ 2-round repeated game failed: Parse error in game file: vector\n", + "\n", + "=== Testing 3-Round Game ===\n", + "✓ Created 3-round repeated game\n", + "✓ Export successful! EFG length: 3443 characters\n", + "✗ 3-round repeated game failed: Parse error in game file: vector\n", + "\n", + "=== Testing Rock-Paper-Scissors Base Game ===\n", + "✓ Created 2-round RPS repeated game\n", + "✓ RPS export successful! EFG length: 3690 characters\n", + "✗ RPS repeated game failed: Parse error in game file: vector\n", + "\n", + "=== Battle of Sexes Repeated (Original Game) ===\n", + "✓ Created 2-round Battle of Sexes repeated game\n", + "✓ Battle of Sexes export successful! EFG length: 855 characters\n", + "✗ Battle of Sexes repeated game failed: Parse error in game file: vector\n", + "\n", + "=== Summary ===\n", + "Testing complete! Repeated games work with export_gambit for:\n", + "- Finite repetitions (avoid infinite games)\n", + "- Small number of rounds (2-3 rounds are fast)\n", + "- Simple base games work well\n", + "- Both 2x2 and 3x3 base games are supported\n" ] } ], "source": [ "# 3. Create a repeated game (iterate the matrix game)\n", "# Note: pyspiel.create_repeated_game() takes a base game and parameters\n", - "stage_game = matrix_game # Use the Battle of Sexes from above\n", "\n", - "# Create finitely repeated game (10 rounds)\n", - "repeated_game = pyspiel.create_repeated_game(stage_game, {\"num_repetitions\": 10})\n", - "print(f\"Repeated game type: {repeated_game.get_type().short_name}\")\n", - "print(f\"Players: {repeated_game.num_players()}\")\n", - "print(f\"Max game length: {repeated_game.max_game_length()}\")\n", - "\n", - "# Create infinitely repeated game with discount factor\n", - "repeated_game_infinite = pyspiel.create_repeated_game(\n", - " stage_game, {\"num_repetitions\": -1, \"discount\": 0.9}\n", - ")\n", - "print(f\"Infinite repeated game: {repeated_game_infinite.get_type().short_name}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 52, - "id": "99044d56", - "metadata": {}, - "outputs": [ - { - "ename": "ValueError", - "evalue": "vector", - "output_type": "error", - "traceback": [ - "\u001b[31m---------------------------------------------------------------------------\u001b[39m", - "\u001b[31mValueError\u001b[39m Traceback (most recent call last)", - "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[52]\u001b[39m\u001b[32m, line 1\u001b[39m\n\u001b[32m----> \u001b[39m\u001b[32m1\u001b[39m \u001b[43mexport_gambit\u001b[49m\u001b[43m(\u001b[49m\u001b[43mrepeated_game_infinite\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 2\u001b[39m \u001b[38;5;66;03m# pyspiel.game_to_nfg_string(repeated_game_infinite)\u001b[39;00m\n\u001b[32m 3\u001b[39m \u001b[38;5;66;03m# gbt.read_efg(StringIO())\u001b[39;00m\n", - "\u001b[36mFile \u001b[39m\u001b[32m~/anaconda3/envs/gbt_pygraphviz/lib/python3.11/site-packages/open_spiel/python/algorithms/gambit.py:101\u001b[39m, in \u001b[36mexport_gambit\u001b[39m\u001b[34m(game)\u001b[39m\n\u001b[32m 98\u001b[39m child = state.child(action)\n\u001b[32m 99\u001b[39m build_tree(child, depth + \u001b[32m1\u001b[39m)\n\u001b[32m--> \u001b[39m\u001b[32m101\u001b[39m build_tree(\u001b[43mgame\u001b[49m\u001b[43m.\u001b[49m\u001b[43mnew_initial_state\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m, \u001b[32m0\u001b[39m)\n\u001b[32m 102\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m ret\n", - "\u001b[31mValueError\u001b[39m: vector" - ] - } - ], - "source": [ - "export_gambit(repeated_game_infinite)\n", - "# pyspiel.game_to_nfg_string(repeated_game_infinite)\n", - "# gbt.read_efg(StringIO())" + "# Start with a very simple 2x2 game for faster testing\n", + "simple_game = pyspiel.create_matrix_game([[1, 0], [0, 1]], [[1, 0], [0, 1]])\n", + "print(f\"Simple game type: {simple_game.get_type().short_name}\")\n", + "\n", + "print(\"=== Testing Very Short Repeated Games ===\")\n", + "\n", + "# Try minimal repeated game (2 rounds only)\n", + "try:\n", + " minimal_repeated = pyspiel.create_repeated_game(simple_game, {\"num_repetitions\": 2})\n", + " print(f\"✓ Created 2-round repeated game\")\n", + " print(f\" Type: {minimal_repeated.get_type().short_name}\")\n", + " print(f\" Players: {minimal_repeated.num_players()}\")\n", + " print(f\" Max game length: {minimal_repeated.max_game_length()}\")\n", + " \n", + " # Test export\n", + " minimal_efg = export_gambit(minimal_repeated)\n", + " print(f\"✓ Export successful! EFG length: {len(minimal_efg)} characters\")\n", + " \n", + " # Test loading in Gambit\n", + " gbt_minimal = gbt.read_efg(StringIO(minimal_efg))\n", + " print(f\"✓ Successfully loaded in Gambit\")\n", + " \n", + "except Exception as e:\n", + " print(f\"✗ 2-round repeated game failed: {e}\")\n", + "\n", + "print(\"\\n=== Testing 3-Round Game ===\")\n", + "# Try slightly larger (3 rounds)\n", + "try:\n", + " small_repeated = pyspiel.create_repeated_game(simple_game, {\"num_repetitions\": 3})\n", + " print(f\"✓ Created 3-round repeated game\")\n", + " \n", + " small_efg = export_gambit(small_repeated)\n", + " print(f\"✓ Export successful! EFG length: {len(small_efg)} characters\")\n", + " \n", + " gbt_small = gbt.read_efg(StringIO(small_efg))\n", + " print(f\"✓ Successfully loaded in Gambit\")\n", + " \n", + "except Exception as e:\n", + " print(f\"✗ 3-round repeated game failed: {e}\")\n", + "\n", + "print(\"\\n=== Testing Rock-Paper-Scissors Base Game ===\")\n", + "# Try with Rock-Paper-Scissors as base (still keep repetitions low)\n", + "try:\n", + " rps_simple = pyspiel.create_matrix_game([[0, -1, 1], [1, 0, -1], [-1, 1, 0]], \n", + " [[0, 1, -1], [-1, 0, 1], [1, -1, 0]])\n", + " rps_repeated_2 = pyspiel.create_repeated_game(rps_simple, {\"num_repetitions\": 2})\n", + " print(f\"✓ Created 2-round RPS repeated game\")\n", + " \n", + " rps_efg = export_gambit(rps_repeated_2)\n", + " print(f\"✓ RPS export successful! EFG length: {len(rps_efg)} characters\")\n", + " \n", + " gbt_rps_repeated = gbt.read_efg(StringIO(rps_efg))\n", + " print(f\"✓ Successfully loaded RPS repeated game in Gambit\")\n", + " \n", + "except Exception as e:\n", + " print(f\"✗ RPS repeated game failed: {e}\")\n", + "\n", + "print(\"\\n=== Battle of Sexes Repeated (Original Game) ===\")\n", + "# Now test with the original Battle of Sexes, but keep it small\n", + "stage_game = matrix_game # Use the Battle of Sexes from above\n", + "try:\n", + " bos_repeated = pyspiel.create_repeated_game(stage_game, {\"num_repetitions\": 2})\n", + " print(f\"✓ Created 2-round Battle of Sexes repeated game\")\n", + " \n", + " bos_efg = export_gambit(bos_repeated)\n", + " print(f\"✓ Battle of Sexes export successful! EFG length: {len(bos_efg)} characters\")\n", + " \n", + " gbt_bos_repeated = gbt.read_efg(StringIO(bos_efg))\n", + " print(f\"✓ Successfully loaded Battle of Sexes repeated game in Gambit\")\n", + " \n", + "except Exception as e:\n", + " print(f\"✗ Battle of Sexes repeated game failed: {e}\")\n", + "\n", + "print(\"\\n=== Summary ===\")\n", + "print(\"Testing complete! Repeated games work with export_gambit for:\")\n", + "print(\"- Finite repetitions (avoid infinite games)\")\n", + "print(\"- Small number of rounds (2-3 rounds are fast)\")\n", + "print(\"- Simple base games work well\")\n", + "print(\"- Both 2x2 and 3x3 base games are supported\")" ] } ], From b826a8e4501d29e7e16d92456a5fe8f288a56146 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 3 Oct 2025 14:26:56 +0100 Subject: [PATCH 148/240] simplify create_matrix_game --- doc/tutorials/06_gambit_with_openspiel.ipynb | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 1f305e375..d90dc5db9 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -693,7 +693,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 63, "id": "bbf51961", "metadata": {}, "outputs": [ @@ -701,15 +701,12 @@ "name": "stdout", "output_type": "stream", "text": [ - "Matrix game type: short_name\n", - "Players: 2\n", - "Named matrix game: Battle of Sexes\n" + "Named matrix game: Battle of Sexes\n", + "Players: 2\n" ] } ], "source": [ - "# Demonstrate OpenSpiel's game creation functions\n", - "\n", "# 1. Create a matrix game (2-player, 2x2 Battle of the Sexes)\n", "\n", "# Player payoff matrices for Battle of the Sexes\n", @@ -717,18 +714,14 @@ "p1_payoffs = [[3, 0], [0, 1]] # Player 1: (Opera,Opera)=3, (Football,Football)=1, others=0\n", "p2_payoffs = [[1, 0], [0, 3]] # Player 2: (Opera,Opera)=1, (Football,Football)=3, others=0\n", "\n", - "# Create matrix game with just payoffs\n", - "matrix_game = pyspiel.create_matrix_game(p1_payoffs, p2_payoffs)\n", - "print(f\"Matrix game type: {matrix_game.get_type().short_name}\")\n", - "print(f\"Players: {matrix_game.num_players()}\")\n", - "\n", "# Create matrix game with named strategies\n", "row_names = [\"Opera\", \"Football\"]\n", "col_names = [\"Opera\", \"Football\"]\n", "matrix_game_named = pyspiel.create_matrix_game(\n", " \"Battle of Sexes\", \"Coordination game\", row_names, col_names, p1_payoffs, p2_payoffs\n", ")\n", - "print(f\"Named matrix game: {matrix_game_named.get_type().short_name}\")" + "print(f\"Named matrix game: {matrix_game_named.get_type().short_name}\")\n", + "print(f\"Players: {matrix_game_named.num_players()}\")" ] }, { From cfbc2e6c32220f6e466fd2c8ec1f1480291d5d22 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Fri, 3 Oct 2025 15:05:40 +0100 Subject: [PATCH 149/240] load_efg_game and load_nfg_game funcs --- doc/tutorials/06_gambit_with_openspiel.ipynb | 178 +++++++------------ 1 file changed, 60 insertions(+), 118 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index d90dc5db9..3de9dc487 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -751,7 +751,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 61, "id": "34cf3d23", "metadata": {}, "outputs": [ @@ -815,132 +815,74 @@ "gbt.read_nfg(StringIO(pyspiel.game_to_nfg_string(tensor_game)))" ] }, + { + "cell_type": "markdown", + "id": "2e4dd1d5", + "metadata": {}, + "source": [ + "## Loading Gambit games into OpenSpiel" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "id": "67137004", + "metadata": {}, + "outputs": [], + "source": [ + "# with open(\"../prisoners_dilemma.nfg\", \"r\") as f:\n", + "# prisoners_dilemma_nfg_string = f.read()\n", + "# ops_prisoners_dilemma = pyspiel.load_nfg_game(prisoners_dilemma_nfg_string)\n", + "# ops_prisoners_dilemma" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "id": "f3238d39", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "Game(title='One card poker game, after Myerson (1991)')" + ], + "text/plain": [ + "Game(title='One card poker game, after Myerson (1991)')" + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gbt_one_card_poker = gbt.read_efg(\"../poker.efg\")\n", + "gbt_one_card_poker" + ] + }, { "cell_type": "code", "execution_count": null, - "id": "98a27d88", + "id": "07340e32", "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "Simple game type: short_name\n", - "=== Testing Very Short Repeated Games ===\n", - "✓ Created 2-round repeated game\n", - " Type: repeated_game\n", - " Players: 2\n", - " Max game length: 2\n", - "✓ Export successful! EFG length: 855 characters\n", - "✗ 2-round repeated game failed: Parse error in game file: vector\n", - "\n", - "=== Testing 3-Round Game ===\n", - "✓ Created 3-round repeated game\n", - "✓ Export successful! EFG length: 3443 characters\n", - "✗ 3-round repeated game failed: Parse error in game file: vector\n", - "\n", - "=== Testing Rock-Paper-Scissors Base Game ===\n", - "✓ Created 2-round RPS repeated game\n", - "✓ RPS export successful! EFG length: 3690 characters\n", - "✗ RPS repeated game failed: Parse error in game file: vector\n", - "\n", - "=== Battle of Sexes Repeated (Original Game) ===\n", - "✓ Created 2-round Battle of Sexes repeated game\n", - "✓ Battle of Sexes export successful! EFG length: 855 characters\n", - "✗ Battle of Sexes repeated game failed: Parse error in game file: vector\n", - "\n", - "=== Summary ===\n", - "Testing complete! Repeated games work with export_gambit for:\n", - "- Finite repetitions (avoid infinite games)\n", - "- Small number of rounds (2-3 rounds are fast)\n", - "- Simple base games work well\n", - "- Both 2x2 and 3x3 base games are supported\n" - ] + "data": { + "text/plain": [ + "efg_game()" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "# 3. Create a repeated game (iterate the matrix game)\n", - "# Note: pyspiel.create_repeated_game() takes a base game and parameters\n", - "\n", - "# Start with a very simple 2x2 game for faster testing\n", - "simple_game = pyspiel.create_matrix_game([[1, 0], [0, 1]], [[1, 0], [0, 1]])\n", - "print(f\"Simple game type: {simple_game.get_type().short_name}\")\n", - "\n", - "print(\"=== Testing Very Short Repeated Games ===\")\n", - "\n", - "# Try minimal repeated game (2 rounds only)\n", - "try:\n", - " minimal_repeated = pyspiel.create_repeated_game(simple_game, {\"num_repetitions\": 2})\n", - " print(f\"✓ Created 2-round repeated game\")\n", - " print(f\" Type: {minimal_repeated.get_type().short_name}\")\n", - " print(f\" Players: {minimal_repeated.num_players()}\")\n", - " print(f\" Max game length: {minimal_repeated.max_game_length()}\")\n", - " \n", - " # Test export\n", - " minimal_efg = export_gambit(minimal_repeated)\n", - " print(f\"✓ Export successful! EFG length: {len(minimal_efg)} characters\")\n", - " \n", - " # Test loading in Gambit\n", - " gbt_minimal = gbt.read_efg(StringIO(minimal_efg))\n", - " print(f\"✓ Successfully loaded in Gambit\")\n", - " \n", - "except Exception as e:\n", - " print(f\"✗ 2-round repeated game failed: {e}\")\n", - "\n", - "print(\"\\n=== Testing 3-Round Game ===\")\n", - "# Try slightly larger (3 rounds)\n", - "try:\n", - " small_repeated = pyspiel.create_repeated_game(simple_game, {\"num_repetitions\": 3})\n", - " print(f\"✓ Created 3-round repeated game\")\n", - " \n", - " small_efg = export_gambit(small_repeated)\n", - " print(f\"✓ Export successful! EFG length: {len(small_efg)} characters\")\n", - " \n", - " gbt_small = gbt.read_efg(StringIO(small_efg))\n", - " print(f\"✓ Successfully loaded in Gambit\")\n", - " \n", - "except Exception as e:\n", - " print(f\"✗ 3-round repeated game failed: {e}\")\n", - "\n", - "print(\"\\n=== Testing Rock-Paper-Scissors Base Game ===\")\n", - "# Try with Rock-Paper-Scissors as base (still keep repetitions low)\n", - "try:\n", - " rps_simple = pyspiel.create_matrix_game([[0, -1, 1], [1, 0, -1], [-1, 1, 0]], \n", - " [[0, 1, -1], [-1, 0, 1], [1, -1, 0]])\n", - " rps_repeated_2 = pyspiel.create_repeated_game(rps_simple, {\"num_repetitions\": 2})\n", - " print(f\"✓ Created 2-round RPS repeated game\")\n", - " \n", - " rps_efg = export_gambit(rps_repeated_2)\n", - " print(f\"✓ RPS export successful! EFG length: {len(rps_efg)} characters\")\n", - " \n", - " gbt_rps_repeated = gbt.read_efg(StringIO(rps_efg))\n", - " print(f\"✓ Successfully loaded RPS repeated game in Gambit\")\n", - " \n", - "except Exception as e:\n", - " print(f\"✗ RPS repeated game failed: {e}\")\n", - "\n", - "print(\"\\n=== Battle of Sexes Repeated (Original Game) ===\")\n", - "# Now test with the original Battle of Sexes, but keep it small\n", - "stage_game = matrix_game # Use the Battle of Sexes from above\n", - "try:\n", - " bos_repeated = pyspiel.create_repeated_game(stage_game, {\"num_repetitions\": 2})\n", - " print(f\"✓ Created 2-round Battle of Sexes repeated game\")\n", - " \n", - " bos_efg = export_gambit(bos_repeated)\n", - " print(f\"✓ Battle of Sexes export successful! EFG length: {len(bos_efg)} characters\")\n", - " \n", - " gbt_bos_repeated = gbt.read_efg(StringIO(bos_efg))\n", - " print(f\"✓ Successfully loaded Battle of Sexes repeated game in Gambit\")\n", - " \n", - "except Exception as e:\n", - " print(f\"✗ Battle of Sexes repeated game failed: {e}\")\n", - "\n", - "print(\"\\n=== Summary ===\")\n", - "print(\"Testing complete! Repeated games work with export_gambit for:\")\n", - "print(\"- Finite repetitions (avoid infinite games)\")\n", - "print(\"- Small number of rounds (2-3 rounds are fast)\")\n", - "print(\"- Simple base games work well\")\n", - "print(\"- Both 2x2 and 3x3 base games are supported\")" + "with open(\"../poker.efg\", \"r\") as f:\n", + " poker_efg_string = f.read()\n", + " ops_one_card_poker = pyspiel.load_efg_game(poker_efg_string)\n", + "ops_one_card_poker" ] } ], From 917d14432c3813e8d776ed5649ec63c37ffd487c Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 6 Oct 2025 10:08:14 +0100 Subject: [PATCH 150/240] load_nfg_game findings --- doc/tutorials/06_gambit_with_openspiel.ipynb | 56 ++++++++++++++++---- 1 file changed, 47 insertions(+), 9 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 3de9dc487..3a6c37a59 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -820,20 +820,58 @@ "id": "2e4dd1d5", "metadata": {}, "source": [ - "## Loading Gambit games into OpenSpiel" + "## Loading Gambit games into OpenSpiel\n", + "\n", + "the `load_nfg_game` works for nfg's created by OpenSpiel, but not games created by Gambit, where an error is thrown. But you can create normal form game with the funcs above." ] }, { "cell_type": "code", - "execution_count": 72, - "id": "67137004", + "execution_count": 81, + "id": "5932618f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "'NFG 1 R \"OpenSpiel export of matrix_rps()\"\\n{ \"Player 0\" \"Player 1\" } { 3 3 }\\n\\n0 0\\n1 -1\\n-1 1\\n-1 1\\n0 0\\n1 -1\\n1 -1\\n-1 1\\n0 0\\n'" + ] + }, + "execution_count": 81, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "nfg_matrix_rps_game" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "id": "745ba1f3", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[[ 0., -1., 1.],\n", + " [ 1., 0., -1.],\n", + " [-1., 1., 0.]],\n", + "\n", + " [[ 0., 1., -1.],\n", + " [-1., 0., 1.],\n", + " [ 1., -1., 0.]]])" + ] + }, + "execution_count": 75, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# with open(\"../prisoners_dilemma.nfg\", \"r\") as f:\n", - "# prisoners_dilemma_nfg_string = f.read()\n", - "# ops_prisoners_dilemma = pyspiel.load_nfg_game(prisoners_dilemma_nfg_string)\n", - "# ops_prisoners_dilemma" + "restored_ops_rps_game = pyspiel.load_nfg_game(nfg_matrix_rps_game)\n", + "game_payoffs_array(restored_ops_rps_game)" ] }, { @@ -863,7 +901,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 68, "id": "07340e32", "metadata": {}, "outputs": [ From 781a51d2c4c4f4b77e6435d3e4122aae1b696892 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 6 Oct 2025 10:41:59 +0100 Subject: [PATCH 151/240] manual play of one card poker --- doc/tutorials/06_gambit_with_openspiel.ipynb | 116 +++++++++++++++++++ 1 file changed, 116 insertions(+) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 3a6c37a59..b3b263273 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -922,6 +922,122 @@ " ops_one_card_poker = pyspiel.load_efg_game(poker_efg_string)\n", "ops_one_card_poker" ] + }, + { + "cell_type": "code", + "execution_count": 96, + "id": "c01c4d6f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4" + ] + }, + "execution_count": 96, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ops_one_card_poker.num_distinct_actions()" + ] + }, + { + "cell_type": "code", + "execution_count": 113, + "id": "3b9cc43b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "-1\n", + "True\n", + "[(0, 0.5), (1, 0.5)]\n" + ] + } + ], + "source": [ + "# Chance nodes.\n", + "state = ops_one_card_poker.new_initial_state()\n", + "print(state.current_player()) # special chance player id\n", + "print(state.is_chance_node())\n", + "print(state.chance_outcomes()) # distibution over outcomes as a list of (outcome, probability) pairs" + ] + }, + { + "cell_type": "code", + "execution_count": 114, + "id": "4dd5d504", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "False\n", + "0\n" + ] + } + ], + "source": [ + "# Applying chance node outcomes: same function as applying actions.\n", + "state.apply_action(0) # Alice chooses the first card (king?)\n", + "print(state.is_chance_node()) # no longer at a chance node\n", + "print(state.current_player()) # Player 0 (Alice) turn" + ] + }, + { + "cell_type": "code", + "execution_count": 115, + "id": "bd15369f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1: Player: 1 1 Raise Fold\n", + "\n", + "[0, 1]\n", + "1\n" + ] + } + ], + "source": [ + "print(state) # ground/world state (all information open)\n", + "print(state.legal_actions())\n", + "state.apply_action(0) # Alice chooses raise\n", + "print(state.current_player())" + ] + }, + { + "cell_type": "code", + "execution_count": 116, + "id": "97913fe5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3: Player: 2 1 Meet Pass\n", + "\n", + "[2, 3]\n", + "6: Terminal: Alice wins 1 -1\n", + "\n" + ] + } + ], + "source": [ + "print(state) # ground/world state (all information open)\n", + "print(state.legal_actions())\n", + "state.apply_action(3) # Bob chooses pass\n", + "print(state)" + ] } ], "metadata": { From a8813d03274c071dc5a094a97dc6be93ba19aa01 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 6 Oct 2025 10:57:35 +0100 Subject: [PATCH 152/240] explain API differences better --- doc/tutorials/06_gambit_with_openspiel.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index b3b263273..f24606834 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -8,7 +8,7 @@ "\n", "This tutorial demonstrates the interoperability of the Gambit and OpenSpiel Python packages for game-theoretic analysis.\n", "\n", - "Where Gambit is used to compute exact equilibria for games, OpenSpiel provides a variety of iterative learning algorithms that can be used to approximate strategies. Another key distinction is that the PyGambit API allows the user a simple way to define custom games (see tutorials 1-3), while OpenSpiel provides a large library of built-in games (see the [OpenSpiel documentation](https://openspiel.readthedocs.io/en/latest/games.html)).\n", + "Where Gambit is used to compute exact equilibria for games, OpenSpiel provides a variety of iterative learning algorithms that can be used to approximate strategies. Another key distinction is that the PyGambit API allows the user a simple way to define custom games (see tutorials 1-3). This is also possible in OpenSpiel for normal form games, and you can load `.efg` files created from Gambit for extensive form, however some of the key functionality for iterated learning of strategies is only available for games from the built-in library (see the [OpenSpiel documentation](https://openspiel.readthedocs.io/en/latest/games.html)).\n", "\n", "This tutorial demonstrates:\n", "\n", From e539f09a816b8639246bcabe4e3c53a71435b397 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 6 Oct 2025 11:22:15 +0100 Subject: [PATCH 153/240] normal form playthrough --- doc/tutorials/06_gambit_with_openspiel.ipynb | 106 +++++++++++++++++-- 1 file changed, 98 insertions(+), 8 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index f24606834..c6c74d7bf 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -84,25 +84,115 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 117, "metadata": {}, "outputs": [], "source": [ "ops_matrix_rps_game = pyspiel.load_game(\"matrix_rps\")" ] }, + { + "cell_type": "markdown", + "id": "fda1204e", + "metadata": {}, + "source": [ + "In order to simulate a playthrough of the game, you can first initialise a game state:" + ] + }, + { + "cell_type": "code", + "execution_count": 130, + "id": "1bcdb97b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Terminal? false\n", + "Row actions: Rock Paper Scissors \n", + "Col actions: Rock Paper Scissors \n", + "Utility matrix:\n", + "0,0 -1,1 1,-1 \n", + "1,-1 0,0 -1,1 \n", + "-1,1 1,-1 0,0 " + ] + }, + "execution_count": 130, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "state = ops_matrix_rps_game.new_initial_state()\n", + "state" + ] + }, + { + "cell_type": "markdown", + "id": "eeee015a", + "metadata": {}, + "source": [ + "The possible actions for both players are Rock, Paper and Scissors, but these must be accessed via integer indices:" + ] + }, + { + "cell_type": "code", + "execution_count": 132, + "id": "70575dc7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0, 1, 2]\n", + "[0, 1, 2]\n" + ] + } + ], + "source": [ + "print(state.legal_actions(0))\n", + "print(state.legal_actions(1))" + ] + }, + { + "cell_type": "markdown", + "id": "fdea7e5b", + "metadata": {}, + "source": [ + "Since Rock-paper-scissors is a 1-step simultaneous-move normal form game, we'll apply a list of player actions in one step to reach the terminal state.\n", + "\n", + "Let's simulate player 1 playing Rock (0) and player 2 playing Paper (1):" + ] + }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 133, "id": "a532321e", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Terminal? true\n", + "History: 0, 1\n", + "Returns: -1,1\n", + "Row actions: \n", + "Col actions: \n", + "Utility matrix:\n", + "0,0 -1,1 1,-1 \n", + "1,-1 0,0 -1,1 \n", + "-1,1 1,-1 0,0 " + ] + }, + "execution_count": 133, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Normal-form games are 1-step simultaneous-move games.\n", - "# print(state.current_player()) # special player id \n", - "# print(state.legal_actions(0)) # query legal actions for each player\n", - "# print(state.legal_actions(1))\n", - "# print(state.is_terminal())" + "state.apply_actions([0, 1])\n", + "state" ] }, { From 06990a3ad1892c2d36867d079d3ed4057c6a6192 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 6 Oct 2025 14:14:04 +0100 Subject: [PATCH 154/240] evolutionary dynamics chart --- doc/tutorials/06_gambit_with_openspiel.ipynb | 194 ++++++++++++++++++- 1 file changed, 184 insertions(+), 10 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index c6c74d7bf..faa57b382 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -75,7 +75,7 @@ "id": "e628a86d", "metadata": {}, "source": [ - "## Normal form example\n", + "## Normal form games from the OpenSpiel library\n", "\n", "Let's start with a simple normal form game of rock-paper-scissors, in which the payoffs can be represented by a 3x3 matrix.\n", "\n", @@ -311,7 +311,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 228, "id": "cf1acdeb", "metadata": {}, "outputs": [ @@ -321,7 +321,7 @@ "array([ 0.08, -0.08, 0. ])" ] }, - "execution_count": 21, + "execution_count": 228, "metadata": {}, "output_type": "execute_result" } @@ -351,7 +351,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 255, "id": "b9a352c5", "metadata": {}, "outputs": [ @@ -359,14 +359,180 @@ "name": "stdout", "output_type": "stream", "text": [ - "[0.17411743 0.45787641 0.36800616]\n" + "[0.10322948 0.46846987 0.42830065]\n" ] } ], "source": [ - "x = np.array([0.25, 0.25, 0.5])\n", + "x = np.array([0.2, 0.2, 0.6])\n", + "alpha = 0.1\n", + "y = []\n", + "for i in range(100):\n", + " x += alpha * dyn(x)\n", + " y.append(x.copy())\n", + "print(x)" + ] + }, + { + "cell_type": "code", + "execution_count": 256, + "id": "86c6aa52", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Plot rock, paper and scissors frequencies over time\n", + "import matplotlib.pyplot as plt\n", + "y = np.array(y)\n", + "plt.plot(y[:, 0], label=\"Rock\")\n", + "plt.plot(y[:, 1], label=\"Paper\")\n", + "plt.plot(y[:, 2], label=\"Scissors\")\n", + "plt.xlabel(\"Time step\")\n", + "plt.ylabel(\"Frequency\")\n", + "plt.legend()\n", + "plt.show()\n" + ] + }, + { + "cell_type": "markdown", + "id": "078a21e0", + "metadata": {}, + "source": [ + "## Normal form games created with Gambit\n", + "\n", + "You can also set up a normal form game in Gambit and export it to OpenSpiel. Here we demonstrate this with the Prisoner's Dilemma game.\n", + "\n", + "Note: in OpenSpiel version `1.6.1` there is a `pyspiel.load_nfg_game()` function, but it only seems to work for nfg's created by OpenSpiel, not games created by Gambit, where an error is thrown. Instead here we use Gambit to read the nfg file and convert it to NumPy arrays, which are then used to create a matrix game in OpenSpiel." + ] + }, + { + "cell_type": "code", + "execution_count": 147, + "id": "cdd0bfe0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "

Prisoner's Dilemma

\n", + "
CooperateDefect
Cooperate-1,-1-3,0
Defect0,-3-2,-2
\n" + ], + "text/plain": [ + "Game(title='Prisoner's Dilemma')" + ] + }, + "execution_count": 147, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gbt_prisoners_dilemma_game = gbt.read_nfg(\"games/prisoners_dilemma.nfg\")\n", + "gbt_prisoners_dilemma_game" + ] + }, + { + "cell_type": "code", + "execution_count": 155, + "id": "d42e6545", + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[\\left[0,1\\right],\\left[0,1\\right]\\right]$" + ], + "text/plain": [ + "[[Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1)]]" + ] + }, + "execution_count": 155, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gbt.nash.lcp_solve(gbt_prisoners_dilemma_game).equilibria[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 152, + "id": "fcd42af0", + "metadata": {}, + "outputs": [], + "source": [ + "p1_payoffs, p2_payoffs = gbt_prisoners_dilemma_game.to_arrays(dtype=float)\n", + "ops_prisoners_dilemma_game = pyspiel.create_matrix_game(\n", + " gbt_prisoners_dilemma_game.title,\n", + " \"Classic Prisoner's Dilemma\", # description\n", + " [strategy.label for strategy in gbt_prisoners_dilemma_game.players[0].strategies],\n", + " [strategy.label for strategy in gbt_prisoners_dilemma_game.players[1].strategies],\n", + " p1_payoffs,\n", + " p2_payoffs\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 153, + "id": "7ce6f2e2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Terminal? true\n", + "History: 0, 1\n", + "Returns: -3,0\n", + "Row actions: \n", + "Col actions: \n", + "Utility matrix:\n", + "-1,-1 -3,0 \n", + "0,-3 -2,-2 " + ] + }, + "execution_count": 153, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "state = ops_prisoners_dilemma_game.new_initial_state()\n", + "state.apply_actions([0, 1])\n", + "state" + ] + }, + { + "cell_type": "code", + "execution_count": 206, + "id": "d1495c7c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0.0260099 0.9739901]\n" + ] + } + ], + "source": [ + "matrix_pd_payoffs = game_payoffs_array(ops_prisoners_dilemma_game)\n", + "dyn = dynamics.SinglePopulationDynamics(matrix_pd_payoffs, dynamics.replicator)\n", + "x = np.array([0.8, 0.2])\n", "alpha = 0.01\n", - "for i in range(10000):\n", + "for i in range(500):\n", " x += alpha * dyn(x)\n", "print(x)" ] @@ -385,9 +551,9 @@ "id": "b12f6330", "metadata": {}, "source": [ - "## Extensive form example: Tiny Hanabi\n", + "## Extensive form games from the OpenSpiel library\n", "\n", - "For extensive form games, OpenSpiel can export to the EFG format used by Gambit. Here we demonstrate this with Tiny Hanabi, loaded from the OpenSpiel [game library](https://openspiel.readthedocs.io/en/latest/games.html).\n", + "For extensive form games, OpenSpiel can export to the EFG format used by Gambit. Here we demonstrate this with **Tiny Hanabi**, loaded from the OpenSpiel [game library](https://openspiel.readthedocs.io/en/latest/games.html).\n", "\n", "\n", "Note: as of OpenSpiel `1.6.1`, many of the games in the game library do not produce correct EFG exports. For example, Kuhn Poker EFG export did not produce a valid `.efg` file for Gambit, giving the error:\n", @@ -767,12 +933,20 @@ "The node `p0:d0 p1:d0` is part of player 0's information set 0. p0 picks a2 which matches the first equilibrium strategy in `eqm['Pl0']` where action `p0a2` is played with probability 1.0. This put's player 1 in their information set 2, and player 1 picks action 0, which is consistent with `eqm['Pl1']` where action `p1a0` is played with probability 1.0." ] }, + { + "cell_type": "markdown", + "id": "6f356383", + "metadata": {}, + "source": [ + "## Extensive form games created with Gambit" + ] + }, { "cell_type": "markdown", "id": "d5d68403", "metadata": {}, "source": [ - "# Creating custom games in OpenSpiel\n", + "# Extra\n", "\n", "```\n", "pyspiel.create_matrix_game()\n", From 7542dc833a9c006ffcc874b998f2776e568a3a91 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 6 Oct 2025 14:19:01 +0100 Subject: [PATCH 155/240] add plot for prisoners dilemma --- doc/tutorials/06_gambit_with_openspiel.ipynb | 29 ++++++++++++++------ 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index faa57b382..3cda4c8b3 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -515,26 +515,37 @@ }, { "cell_type": "code", - "execution_count": 206, + "execution_count": 262, "id": "d1495c7c", "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "[0.0260099 0.9739901]\n" - ] + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ "matrix_pd_payoffs = game_payoffs_array(ops_prisoners_dilemma_game)\n", "dyn = dynamics.SinglePopulationDynamics(matrix_pd_payoffs, dynamics.replicator)\n", "x = np.array([0.8, 0.2])\n", - "alpha = 0.01\n", - "for i in range(500):\n", + "alpha = 0.1\n", + "y = []\n", + "for i in range(50):\n", " x += alpha * dyn(x)\n", - "print(x)" + " y.append(x.copy())\n", + "y = np.array(y)\n", + "plt.plot(y[:, 0], label=\"Cooperate\")\n", + "plt.plot(y[:, 1], label=\"Defect\")\n", + "plt.xlabel(\"Time step\")\n", + "plt.ylabel(\"Frequency\")\n", + "plt.legend()\n", + "plt.show()" ] }, { From 3edbec8dc94a16ba2833d3177ff50d4e5df88d73 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 6 Oct 2025 14:20:34 +0100 Subject: [PATCH 156/240] remove extra parts --- doc/tutorials/06_gambit_with_openspiel.ipynb | 197 ------------------- 1 file changed, 197 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 3cda4c8b3..0026b4e76 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -952,203 +952,6 @@ "## Extensive form games created with Gambit" ] }, - { - "cell_type": "markdown", - "id": "d5d68403", - "metadata": {}, - "source": [ - "# Extra\n", - "\n", - "```\n", - "pyspiel.create_matrix_game()\n", - "pyspiel.create_repeated_game()\n", - "pyspiel.create_tensor_game()\n", - "```" - ] - }, - { - "cell_type": "code", - "execution_count": 63, - "id": "bbf51961", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Named matrix game: Battle of Sexes\n", - "Players: 2\n" - ] - } - ], - "source": [ - "# 1. Create a matrix game (2-player, 2x2 Battle of the Sexes)\n", - "\n", - "# Player payoff matrices for Battle of the Sexes\n", - "# Player 1 payoffs: prefers Opera (top-left), Player 2 payoffs: prefers Football (bottom-right)\n", - "p1_payoffs = [[3, 0], [0, 1]] # Player 1: (Opera,Opera)=3, (Football,Football)=1, others=0\n", - "p2_payoffs = [[1, 0], [0, 3]] # Player 2: (Opera,Opera)=1, (Football,Football)=3, others=0\n", - "\n", - "# Create matrix game with named strategies\n", - "row_names = [\"Opera\", \"Football\"]\n", - "col_names = [\"Opera\", \"Football\"]\n", - "matrix_game_named = pyspiel.create_matrix_game(\n", - " \"Battle of Sexes\", \"Coordination game\", row_names, col_names, p1_payoffs, p2_payoffs\n", - ")\n", - "print(f\"Named matrix game: {matrix_game_named.get_type().short_name}\")\n", - "print(f\"Players: {matrix_game_named.num_players()}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "id": "5a10e8b8", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "

OpenSpiel export of Battle of Sexes()

\n", - "
12
13,10,0
20,01,3
\n" - ], - "text/plain": [ - "Game(title='OpenSpiel export of Battle of Sexes()')" - ] - }, - "execution_count": 48, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "gbt.read_nfg(StringIO(pyspiel.game_to_nfg_string(matrix_game_named)))" - ] - }, - { - "cell_type": "code", - "execution_count": 61, - "id": "34cf3d23", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Named tensor game: 3-Player Game\n", - "Players: 3\n" - ] - } - ], - "source": [ - "# 2. Create a tensor game (3-player, 2x2x2 game)\n", - "# Each player has 2 actions, creating 2^3 = 8 possible outcomes\n", - "\n", - "# Create 2x2x2 payoff tensors for 3 players\n", - "p1_array = np.array([[[2, 1], [0, 3]], [[1, 2], [3, 0]]]) # Player 1's payoffs\n", - "p2_array = np.array([[[1, 2], [3, 0]], [[2, 1], [0, 3]]]) # Player 2's payoffs\n", - "p3_array = np.array([[[0, 3], [1, 2]], [[3, 0], [2, 1]]]) # Player 3's payoffs\n", - "\n", - "action_names = [[\"Cooperate\", \"Defect\"], [\"Cooperate\", \"Defect\"], [\"Cooperate\", \"Defect\"]]\n", - "\n", - "# Flattened utilities for use in create_tensor_game\n", - "flat_utilities = [\n", - " p1_array.flatten().tolist(),\n", - " p2_array.flatten().tolist(), \n", - " p3_array.flatten().tolist()\n", - "]\n", - "\n", - "# Create tensor game with named actions\n", - "tensor_game_named = pyspiel.create_tensor_game(\n", - " \"3-Player Game\", \"Multi-player coordination\", action_names, flat_utilities\n", - ")\n", - "print(f\"Named tensor game: {tensor_game_named.get_type().short_name}\")\n", - "print(f\"Players: {tensor_game_named.num_players()}\")" - ] - }, - { - "cell_type": "code", - "execution_count": 57, - "id": "67824325", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "

OpenSpiel export of short_name()

\n", - "
Subtable with strategies:
Player 3 Strategy 1
12
12,1,00,3,1
21,2,33,0,2
Subtable with strategies:
Player 3 Strategy 2
12
11,2,33,0,2
22,1,00,3,1
\n" - ], - "text/plain": [ - "Game(title='OpenSpiel export of short_name()')" - ] - }, - "execution_count": 57, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "gbt.read_nfg(StringIO(pyspiel.game_to_nfg_string(tensor_game)))" - ] - }, - { - "cell_type": "markdown", - "id": "2e4dd1d5", - "metadata": {}, - "source": [ - "## Loading Gambit games into OpenSpiel\n", - "\n", - "the `load_nfg_game` works for nfg's created by OpenSpiel, but not games created by Gambit, where an error is thrown. But you can create normal form game with the funcs above." - ] - }, - { - "cell_type": "code", - "execution_count": 81, - "id": "5932618f", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'NFG 1 R \"OpenSpiel export of matrix_rps()\"\\n{ \"Player 0\" \"Player 1\" } { 3 3 }\\n\\n0 0\\n1 -1\\n-1 1\\n-1 1\\n0 0\\n1 -1\\n1 -1\\n-1 1\\n0 0\\n'" - ] - }, - "execution_count": 81, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "nfg_matrix_rps_game" - ] - }, - { - "cell_type": "code", - "execution_count": 75, - "id": "745ba1f3", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[[ 0., -1., 1.],\n", - " [ 1., 0., -1.],\n", - " [-1., 1., 0.]],\n", - "\n", - " [[ 0., 1., -1.],\n", - " [-1., 0., 1.],\n", - " [ 1., -1., 0.]]])" - ] - }, - "execution_count": 75, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "restored_ops_rps_game = pyspiel.load_nfg_game(nfg_matrix_rps_game)\n", - "game_payoffs_array(restored_ops_rps_game)" - ] - }, { "cell_type": "code", "execution_count": 65, From 1b2591e666005235caa64b3c927b56587fbad584 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 6 Oct 2025 14:50:23 +0100 Subject: [PATCH 157/240] better explanation of Gambit EFG --- doc/tutorials/06_gambit_with_openspiel.ipynb | 100 ++++++------------- 1 file changed, 28 insertions(+), 72 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 0026b4e76..9d4027639 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -602,39 +602,15 @@ "id": "fa354c9f", "metadata": {}, "source": [ - "Now let's load the EFG in Gambit (bear in mind that Gambit's `read_efg` function expects a file like object)." + "Now let's load the EFG in Gambit (bear in mind that Gambit's `read_efg` function expects a file like object).\n", + "We can then compute equilibria strategies for the players as usual." ] }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 263, "id": "1a534e25", "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "Game(title='tiny_hanabi()')" - ], - "text/plain": [ - "Game(title='tiny_hanabi()')" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "gbt_hanabi_game = gbt.read_efg(StringIO(efg_hanabi_game))\n", - "gbt_hanabi_game" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "34508bce", - "metadata": {}, "outputs": [ { "name": "stdout", @@ -646,60 +622,24 @@ } ], "source": [ - "for p in gbt_hanabi_game.players:\n", - " print(p.label)" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "1ec19b1c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[\\left[\\left[0,0,1\\right],\\left[0,1,0\\right]\\right],\\left[\\left[0,0,1\\right],\\left[0,1,0\\right],\\left[1,0,0\\right],\\left[0,0,1\\right],\\left[0,1,0\\right],\\left[0,0,1\\right]\\right]\\right]$" - ], - "text/plain": [ - "[[[Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)]], [[Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)], [Rational(1, 1), Rational(0, 1), Rational(0, 1)], [Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)], [Rational(0, 1), Rational(0, 1), Rational(1, 1)]]]" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ + "gbt_hanabi_game = gbt.read_efg(StringIO(efg_hanabi_game))\n", "eqm = gbt.nash.lcp_solve(gbt_hanabi_game).equilibria[0]\n", - "eqm" + "for player in gbt_hanabi_game.players:\n", + " print(player.label)" ] }, { - "cell_type": "code", - "execution_count": 27, - "id": "51406cef", + "cell_type": "markdown", + "id": "cdfe924e", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "pygambit.gambit.MixedBehaviorProfileRational" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "type(eqm)" + "We can look at player 0's equilibrium strategy:" ] }, { "cell_type": "code", - "execution_count": 28, - "id": "1b45ef68", + "execution_count": 264, + "id": "1ec19b1c", "metadata": {}, "outputs": [ { @@ -711,7 +651,7 @@ "[[Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)]]" ] }, - "execution_count": 28, + "execution_count": 264, "metadata": {}, "output_type": "execute_result" } @@ -720,6 +660,14 @@ "eqm['Pl0']" ] }, + { + "cell_type": "markdown", + "id": "b54411c0", + "metadata": {}, + "source": [ + "...and use Gambit to explore what those numbers actually mean for player 0:" + ] + }, { "cell_type": "code", "execution_count": 29, @@ -745,6 +693,14 @@ " )" ] }, + { + "cell_type": "markdown", + "id": "eac73a24", + "metadata": {}, + "source": [ + "For player 1, we can do the same:" + ] + }, { "cell_type": "code", "execution_count": 30, From 2acc73ed5944bf08b1f7bfcd2ca55bf7d457785e Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 6 Oct 2025 16:20:43 +0100 Subject: [PATCH 158/240] explain playing one card poker in OpenSpiel --- doc/tutorials/06_gambit_with_openspiel.ipynb | 197 ++++++++++++------- 1 file changed, 121 insertions(+), 76 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 9d4027639..920793bf3 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -905,32 +905,9 @@ "id": "6f356383", "metadata": {}, "source": [ - "## Extensive form games created with Gambit" - ] - }, - { - "cell_type": "code", - "execution_count": 65, - "id": "f3238d39", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "Game(title='One card poker game, after Myerson (1991)')" - ], - "text/plain": [ - "Game(title='One card poker game, after Myerson (1991)')" - ] - }, - "execution_count": 65, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "gbt_one_card_poker = gbt.read_efg(\"../poker.efg\")\n", - "gbt_one_card_poker" + "## Extensive form games created with Gambit\n", + "\n", + "It's also possible to create an extensive form game in Gambit and export it to OpenSpiel. Here we demonstrate this with the one-card poker game introduced in tutorial 3." ] }, { @@ -957,6 +934,16 @@ "ops_one_card_poker" ] }, + { + "cell_type": "markdown", + "id": "ef6939f6", + "metadata": {}, + "source": [ + "Games loaded from EFG in OpenSpiel do not take advantage of the full functionality of the package, for example, it is not possible to carry out training with RL algorithms on these games, as in the example above with Tiny Hanabi. The OpenSpiel documentation explains [how to submit new games to the library](https://openspiel.readthedocs.io/en/latest/developer_guide.html#adding-a-game) if you wish to add your own games.\n", + "\n", + "We can however use the state representation and play through the game step by step:" + ] + }, { "cell_type": "code", "execution_count": 96, @@ -978,99 +965,157 @@ "ops_one_card_poker.num_distinct_actions()" ] }, + { + "cell_type": "markdown", + "id": "9986860c", + "metadata": {}, + "source": [ + "The one-card poker game has 4 distinct actions, 2 are for the first player (Alice in the example game): \"Raise\" and \"Fold\", and 2 for the second player (Bob): \"Meet\" and \"Pass\".\n", + "\n", + "Initialising the game state, we can see the current player at the start is the chance player, who deals the cards:" + ] + }, { "cell_type": "code", - "execution_count": 113, + "execution_count": 270, "id": "3b9cc43b", "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "-1\n", - "True\n", - "[(0, 0.5), (1, 0.5)]\n" - ] + "data": { + "text/plain": [ + "0: Chance: 1 King 0.5 Queen 0.5" + ] + }, + "execution_count": 270, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "# Chance nodes.\n", "state = ops_one_card_poker.new_initial_state()\n", - "print(state.current_player()) # special chance player id\n", - "print(state.is_chance_node())\n", - "print(state.chance_outcomes()) # distibution over outcomes as a list of (outcome, probability) pairs" + "state" + ] + }, + { + "cell_type": "markdown", + "id": "7b0959f9", + "metadata": {}, + "source": [ + "Let's make the chance player's action dealing a King (action 0):" ] }, { "cell_type": "code", - "execution_count": 114, + "execution_count": 271, "id": "4dd5d504", "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "False\n", - "0\n" - ] + "data": { + "text/plain": [ + "1: Player: 1 1 Raise Fold" + ] + }, + "execution_count": 271, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "# Applying chance node outcomes: same function as applying actions.\n", - "state.apply_action(0) # Alice chooses the first card (king?)\n", - "print(state.is_chance_node()) # no longer at a chance node\n", - "print(state.current_player()) # Player 0 (Alice) turn" + "state.apply_action(0)\n", + "state" + ] + }, + { + "cell_type": "markdown", + "id": "b4291f07", + "metadata": {}, + "source": [ + "As expected, it's now the first player's (Alice's) turn.\n", + "Let's have Alice choose to \"Raise\" (action 0):" ] }, { "cell_type": "code", - "execution_count": 115, + "execution_count": 273, "id": "bd15369f", "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "1: Player: 1 1 Raise Fold\n", - "\n", - "[0, 1]\n", - "1\n" - ] + "data": { + "text/plain": [ + "3: Player: 2 1 Meet Pass" + ] + }, + "execution_count": 273, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "print(state) # ground/world state (all information open)\n", - "print(state.legal_actions())\n", - "state.apply_action(0) # Alice chooses raise\n", - "print(state.current_player())" + "state.apply_action(0)\n", + "state" + ] + }, + { + "cell_type": "markdown", + "id": "cd63f7d7", + "metadata": {}, + "source": [ + "As expected, the current player is now player 2 (Bob), let's check the legal actions available to Bob:" ] }, { "cell_type": "code", - "execution_count": 116, + "execution_count": 274, + "id": "8d81ff6b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[2, 3]" + ] + }, + "execution_count": 274, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "state.legal_actions()" + ] + }, + { + "cell_type": "markdown", + "id": "fdb5194f", + "metadata": {}, + "source": [ + "Whereas player 1 (Alice) had the option to \"Raise\" (action 0) and \"Fold\" (action 1), player 2 (Bob) now has the option to \"Meet\" (action 2) or \"Pass\" (action 3).\n", + "Let's have Bob choose to \"Pass\":" + ] + }, + { + "cell_type": "code", + "execution_count": 275, "id": "97913fe5", "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "3: Player: 2 1 Meet Pass\n", - "\n", - "[2, 3]\n", - "6: Terminal: Alice wins 1 -1\n", - "\n" - ] + "data": { + "text/plain": [ + "6: Terminal: Alice wins 1 -1" + ] + }, + "execution_count": 275, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "print(state) # ground/world state (all information open)\n", - "print(state.legal_actions())\n", - "state.apply_action(3) # Bob chooses pass\n", - "print(state)" + "state.apply_action(3)\n", + "state" ] } ], From 3160dba868efad607797d45890101b432bf3a88f Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 6 Oct 2025 16:38:33 +0100 Subject: [PATCH 159/240] update what the notebook does --- doc/tutorials/06_gambit_with_openspiel.ipynb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 920793bf3..7fd563e34 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -12,9 +12,10 @@ "\n", "This tutorial demonstrates:\n", "\n", - "1. Loading examples of normal (strategic) form and extensive form games from the OpenSpiel library into Gambit\n", - "2. Training agents in OpenSpiel to play games and create strategies\n", - "3. Comparing the strategies of agents trained in OpenSpiel against equilibria strategies computed with Gambit\n", + "1. Transferring examples of normal (strategic) form and extensive form games between OpenSpiel and Gambit\n", + "2. Simulating evolutionary dynamics of populations of strategies in OpenSpiel for normal form games\n", + "3. Training agents using self-play of extensive form games in OpenSpiel to create strategies\n", + "4. Comparing the strategies from OpenSpiel against equilibria strategies computed with Gambit\n", "\n", "Note:\n", "- The version of OpenSpiel used in this tutorial is `1.6.1`. If you are running this tutorial locally, this will be the version installed via the included `requirements.txt` file.\n", From 521bf76585a645631a1009543a02fb8853a025fc Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 7 Oct 2025 14:49:47 +0100 Subject: [PATCH 160/240] plot rps dynamics --- doc/tutorials/06_gambit_with_openspiel.ipynb | 94 +++++++++++--------- 1 file changed, 51 insertions(+), 43 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 7fd563e34..2d7f88132 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -24,13 +24,14 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 278, "id": "ebb78322", "metadata": {}, "outputs": [], "source": [ "from io import StringIO\n", "import numpy as np\n", + "import matplotlib.pyplot as plt\n", "\n", "from open_spiel.python import rl_environment\n", "from open_spiel.python.algorithms import tabular_qlearner\n", @@ -50,12 +51,12 @@ "source": [ "## OpenSpiel game library\n", "\n", - "The [library of games](https://openspiel.readthedocs.io/en/latest/games.html) included in OpenSpiel is extensive. Many of these games will not be amenable to equilibrium computation with Gambit, due to their size. For the purposes of this tutorial, we'll pick two smaller games from the list below, one normal form and one extensive form:" + "The [library of games](https://openspiel.readthedocs.io/en/latest/games.html) included in OpenSpiel is extensive. Many of these games will not be amenable to equilibrium computation with Gambit, due to their size. For the purposes of this tutorial, we'll pick small games from the list below." ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 277, "id": "b3eb3671", "metadata": {}, "outputs": [ @@ -133,12 +134,12 @@ "id": "eeee015a", "metadata": {}, "source": [ - "The possible actions for both players are Rock, Paper and Scissors, but these must be accessed via integer indices:" + "The possible actions for both players (player 0 and player 1) are Rock, Paper and Scissors, but these are not labelled and must be accessed via integer indices:" ] }, { "cell_type": "code", - "execution_count": 132, + "execution_count": null, "id": "70575dc7", "metadata": {}, "outputs": [ @@ -152,8 +153,8 @@ } ], "source": [ - "print(state.legal_actions(0))\n", - "print(state.legal_actions(1))" + "print(state.legal_actions(0)) # Player 0 (row) actions\n", + "print(state.legal_actions(1)) # Player 1 (column) actions" ] }, { @@ -163,7 +164,7 @@ "source": [ "Since Rock-paper-scissors is a 1-step simultaneous-move normal form game, we'll apply a list of player actions in one step to reach the terminal state.\n", "\n", - "Let's simulate player 1 playing Rock (0) and player 2 playing Paper (1):" + "Let's simulate player 0 playing Rock (0) and player 1 playing Paper (1):" ] }, { @@ -231,7 +232,8 @@ "id": "70d1df64", "metadata": {}, "source": [ - "Now let's load the NFG in Gambit (bear in mind that Gambit's `read_nfg` function expects a file like object)." + "Now let's load the NFG in Gambit. Since Gambit's `read_nfg` function expects a file like object, we'll convert the string with `io.StringIO`.\n", + "We can also add labels for the actions to make the output more interpretable." ] }, { @@ -312,7 +314,7 @@ }, { "cell_type": "code", - "execution_count": 228, + "execution_count": 286, "id": "cf1acdeb", "metadata": {}, "outputs": [ @@ -322,7 +324,7 @@ "array([ 0.08, -0.08, 0. ])" ] }, - "execution_count": 228, + "execution_count": 286, "metadata": {}, "output_type": "execute_result" } @@ -341,48 +343,63 @@ "source": [ "`dyn(x)` calculates the rate of change (derivative) for each strategy in the current population state and returns how fast each strategy's frequency is changing.\n", "\n", - "In replicator dynamics, strategies that perform better than average will increase in frequency, while strategies performing worse will decrease. Since Scissors beats Paper but loses to Rock, and this population has few Rock players, we'd expect:\n", - "\n", - "- Scissors frequency might decrease (vulnerable to Rock)\n", - "- Rock frequency might increase (beats the abundant Scissors)\n", - "- Paper frequency might decrease (loses to abundant Scissors)\n", - "\n", - "This is part of the evolutionary path toward the Nash equilibrium where all three strategies have equal frequency (1/3 each) in Rock-Paper-Scissors." + "In replicator dynamics, strategies that perform better than average will increase in frequency, while strategies performing worse will decrease.\n", + "In our rock-paper-scissors example, the performance of each strategy depends on the distribution of strategies in the population. For example, if there are many players using scissors, then rock will perform well and increase in frequency, while paper will perform poorly and decrease." ] }, { "cell_type": "code", - "execution_count": 255, + "execution_count": 287, "id": "b9a352c5", "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "[0.10322948 0.46846987 0.42830065]\n" - ] + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ - "x = np.array([0.2, 0.2, 0.6])\n", - "alpha = 0.1\n", - "y = []\n", - "for i in range(100):\n", - " x += alpha * dyn(x)\n", - " y.append(x.copy())\n", - "print(x)" + "def plot_rps_dynamics(proportions, steps=100, alpha=0.1):\n", + " x = np.array(proportions)\n", + " y = []\n", + " for _ in range(steps):\n", + " x += alpha * dyn(x)\n", + " y.append(x.copy())\n", + " y = np.array(y)\n", + "\n", + " plt.plot(y[:, 0], label=\"Rock\")\n", + " plt.plot(y[:, 1], label=\"Paper\")\n", + " plt.plot(y[:, 2], label=\"Scissors\")\n", + " plt.xlabel(\"Time step\")\n", + " plt.ylabel(\"Frequency\")\n", + " plt.legend()\n", + " plt.show()\n", + "plot_rps_dynamics([0.2, 0.2, 0.6])" + ] + }, + { + "cell_type": "markdown", + "id": "8569aef4", + "metadata": {}, + "source": [ + "If we start with the initial population already in equilibrium (1/3 each), the frequencies will remain constant over time:" ] }, { "cell_type": "code", - "execution_count": 256, + "execution_count": 288, "id": "86c6aa52", "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkgAAAGwCAYAAABSN5pGAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjUsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvWftoOwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAPmFJREFUeJzt3Qd8FWXWx/ETCCWEDlIFQu+9ycoiSBVWFFCKNCOCiHQLICtF1gX0FZGuvi7SlOiKiiyCNAWlhCIgCFGR3hHpQiC57+ec93Pv5g4JpN/c5Pf9fGaTmTt3ZjJxuf88z3meCXC5XC4BAACAR6b/fgsAAABFQAIAAHAgIAEAADgQkAAAABwISAAAAA4EJAAAAAcCEgAAgEOgcwPiJzo6Wk6cOCG5cuWSgIAAX18OAACIB53+8fLly1KsWDHJlCnudiICUiJpOCpRooSvLwMAACTC0aNH5d57743zdQJSImnLkfsG586d29eXAwAA4uHSpUvWwOH+HI8LASmR3N1qGo4ISAAA+Je7lcdQpA0AAOBAQAIAAHAgIAEAADhQgwQAQCJERUXJzZs3fX0ZcMiSJYtkzpxZkoqABABAAufROXXqlFy4cMHXl4I45M2bV4oUKZKkeQoJSAAAJIA7HBUqVEhy5MjBZMFpLLxeu3ZNzpw5Y+tFixZN9LEISAAAJKBbzR2OChQo4OvLQSyCgoLsq4Yk/T0ltruNIm0AAOLJXXOkLUdIu9y/n6TUiBGQAABIILrV0v/vh4AEAACQFgPSzJkzJSQkRLJnzy4NGzaU8PDwOPddsmSJ1KtXzyrUg4ODpVatWrJgwQKvfZ588klLjzGXNm3aeO1z/vx56d69uz0mRI/Vp08fuXLlSor9jAAAwH/4PCCFhYXJ8OHDZezYsbJjxw6pWbOmtG7d2lOB7pQ/f34ZPXq0bNq0SXbv3i2hoaG2rFy50ms/DUQnT570LB999JHX6xqO9u7dK6tWrZJly5bJ+vXrpV+/fin6swIAkF49+eST8uijj0p64fOANGXKFOnbt6+FnCpVqsicOXOsuOpf//pXrPs3bdpUOnToIJUrV5ayZcvKkCFDpEaNGvLdd9957ZctWzabA8G95MuXz/Pavn37ZMWKFfK///u/1mLVuHFjmT59uixevFhOnDiR4j8zAACpLWbvik6mWLp0aXnppZfk+vXrvr60NMmnASkyMlK2b98uLVq0+O8FZcpk69pCFJ/5DtasWSMRERHSpEkTr9e++eYbG95XsWJFefbZZ+X333/3vKbH1m417apz03Pqubds2RLruW7cuCGXLl3yWgAA8Cfu3pXffvtN3nrrLXnnnXesBwdpLCCdO3fO5pQoXLiw13Zd14m44nLx4kXJmTOnZM2aVdq1a2etPy1btvT6D2D+/PkWniZPnizffvutPPTQQ3YupcfW8BRTYGCgdd/Fdd6JEydKnjx5PEuJEiWS+NMDANLN5ISRt1J90fMmlLt3RT/DtDtMGwe01MTdEDB48GD7fMyePbv1rmzdutXr/Vqa8re//c3qd3PlyiV//etf5cCBA7GeS997zz332OewP/LLiSL1l7Jz504rqtYQpDVMZcqUse431bVrV8++1atXty447Y7TVqXmzZsn6pyjRo2y87hpCxIhCQDw580oqTLGuw42Nfz0amvJkTXxH+N79uyRjRs3SqlSpWxdu9s+/fRTmTdvnm17/fXXrSb4119/tQaE48ePW2+NftauXbvWQtL3338vt27duu3Y+nrHjh3tGP5a3+vTgFSwYEGb4fL06dNe23VdE25ctCusXLly9r2OYtOaIm3hcQckJw1Pei79JWtA0mM7i8D1F6wj2+I6r6ZuXQAA8Fc6KEl7YPQzT1uM9PN0xowZcvXqVZk9e7Z88MEH1uOi3nvvPWtdev/99+XFF1+0Eefag6L1ulrDpCpUqCBOn332mfTq1cvqfLt06SL+yqcBSbvI6tata61A7sr36OhoWx84cGC8j6Pv0V90XI4dO2Y1SO5nsjRq1Mimitf6Jz2/O+3qcbRoGwCA+ArKktlac3xx3oRq1qyZBSENRFqDpOUlnTp1slHhOuv0/fff79k3S5Ys0qBBA2uEUNpzo11q7nAUG63j1RD273//2+9HtPm8i027rXr37m0F0/qLmDp1qv3idFSb0hRavHhxayFS+lX31S4zDUXLly+3eZD0F6602238+PH2C9fWIO0b1WZDbXHSpkKlI+C0TklHz+moOf2PQgOZds0VK1bMh3cDAOBvdFRYUrq6UpPOH+jugdHR4jq1jrYQ1a9fP97POLsT/WzWZ9TpsbVG+E5hKq3z+TB/bX77n//5HxkzZox1l2lC1SH47sLtI0eOWMW9m4anAQMGSNWqVS3pan/pwoUL5emnn7bXtctOk3D79u2t6U8ngNRWog0bNnh1kS1atEgqVapkXW5t27a1YrR3333XB3cAAIDUp91rL7/8svz973+3YKO9OlpT5Hbz5k0rtNYpeJTW8+pn6Z2eb6blLNojoyUtnTt3TtKz0HwtwJWYMnhYkbb2xeqIOi1UAwCkfzpn0MGDB20OIR3p5W/zIGl5yeeff+7ZprVI+iSLoUOHWjnKJ598Yi1KJUuWtALrpUuXWk+MziWopSo6dc4DDzxgA5f0M3Dz5s3W+6PbYx5fR4Rrd542ZmjNknblpZXfU3w/v/2jTRAAACQ7DS5aYqJhSAOF1uL27NlTLl++bOUs+pQK90TL2nWmrUNasK0hSXtstOcnZt2Sm5a46L46eEqfXPHhhx/a/v6EFqREogUJADIef25BykiuJ0MLks9rkAAAANIaAhIAAIADAQkAAMCBgAQAAOBAQAIAAHAgIAEAADgQkAAAABwISAAAAA4EJAAAAAcCEgAAGYA+Ky0gIMAWfTBtuXLl5NVXX7XnseF2PIsNAIAMok2bNjJ37ly5ceOGLF++XJ577jnJkiWLPXzWF27evGnnT4toQQIAIIPIli2bPUi2VKlS8uyzz0qLFi1k6dKlMmXKFKlevboEBwdLiRIlZMCAAXLlyhXP+z744APJmzevfP7551K+fHl7vlnr1q3l6NGjXsf/4osvpE6dOvZ6mTJlZPz48V4tVNp6NXv2bGnfvr2d67XXXpO0ioAEAEBS6DPfI6+m/pIMz5oPCgqSyMhIyZQpk0ybNk327t0r8+bNk7Vr18pLL73kte+1a9cs0MyfP1++//57uXDhgnTt2tXz+oYNG6RXr14yZMgQ+emnn+Sdd96xYOUMQePGjZMOHTrIjz/+KE899ZSkVXSxAQCQFDevifyzWOqf9+UTIlmDE/VWl8sla9askZUrV8qgQYNk6NChntdCQkLkH//4h/Tv319mzZrl1R02Y8YMadiwoa1rkKpcubKEh4dLgwYNrLVo5MiR0rt3b3tdW5AmTJhgQWvs2LGe4zzxxBMSGhoqaR0BCQCADGLZsmWSM2dOCzvR0dEWVrRFZ/Xq1TJx4kTZv3+/XLp0ybrFrl+/bq1GOXLksPcGBgZK/fr1PceqVKmSdbvt27fPAtKuXbusZSlmi1FUVNRtx6lXr574AwISAABJkSXH/7fm+OK8CdSsWTOrAdJRbMWKFbPQc+jQIfnb3/5mNUkabvLnzy/fffed9OnTx7rf3MHmbrRmSVuROnbseNtrWpPkprVH/oCABABAUgQEJLqrK7VpONHh/TFt377dWpPefPNNq0VSH3/88W3v1Valbdu2WWuRioiIsDok7WZTWpyt25zH91cEJAAAMjANNNrlNn36dHn44Yetm2zOnDm37afD8bVeSYu5teVp4MCBct9993kC05gxY6wlqmTJkvLYY49Z2NJutz179lhNk79hFBsAABlYzZo1bZj/5MmTpVq1arJo0SKrR3LSrrYRI0ZY3dL9999vtUxhYWGe13XYv9Y4ff3111arpOHprbfesikF/FGAS0vZkWBaxJYnTx65ePGi5M6d29eXAwBIBVpwfPDgQSldurRXXU1698EHH9hIN+1S8/ffU3w/v2lBAgAAcCAgAQAAOBCQAADAXR90e8FPuteSCwEJAADAgYAEAADgQEACAABwICABAAA4EJAAAAAcCEgAAAAOBCQAAHDXmbTz5s0rGQkBCQCADODs2bPy7LPP2sNks2XLJkWKFLHnp+nDae+mS5cu8vPPP0tGEujrCwAAACmvU6dOEhkZKfPmzZMyZcrI6dOnZc2aNfL777/f9b1BQUG2+IJec9asWVP9vLQgAQCQzuks2Bs2bJDJkydLs2bNpFSpUtKgQQMZNWqUtG/f3rPPM888I4ULF7YHvFarVk2WLVsWaxfbrl277Di5cuWyB77WrVtXtm3bZq8dPnxYHn74YcmXL58EBwdL1apVZfny5Z73fvvtt3ZubcUqWrSojBw5Um7duuV5vWnTpjJw4EB7OG7BggWtlcvlcsm4ceM8rV/FihWTwYMHp+g9owUJAIAk0A/vP2/9mernDQoMkoCAgHjtmzNnTls+//xzue+++yxkxBQdHS0PPfSQXL58WRYuXChly5aVn376STJnzhzr8bp37y61a9eW2bNn2z47d+6ULFmy2GvPPfectfqsX7/eApIeR8+tjh8/Lm3btrVHl8yfP1/2798vffv2tUCmAchNW7m0O9Dd/ffpp5/KW2+9JYsXL7bAderUKQtpKYmABABAEmg4avhhw1Q/75YntkiOLDnitW9gYKC1AmkYmTNnjtSpU0ceeOAB6dq1q9SoUUNWr14t4eHhsm/fPqlQoYK9R7vh4nLkyBF58cUXpVKlSrZevnx5r9e0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l1/KJ598YvvrPFodO3b06XX7s61bt8o777xz29xi3Ofk88cff8j9998vWbJkka+++kp++uknefPNNyVfvnyefV5//XWZNm2azJkzR7Zs2SLBwcH2b4oGVcSfPhBd59ubMWOGPb1B1/XeTp8+3bMP9zpx9N9h/azTxoHYxOe+ajjau3ev/fu+bNkyC10xHymWaDrMH2lDgwYNXM8995xnPSoqylWsWDHXxIkTfXpd6c2ZM2f0zz7Xt99+a+sXLlxwZcmSxfXJJ5949tm3b5/ts2nTJh9eqX+6fPmyq3z58q5Vq1a5HnjgAdeQIUNsO/c5eY0YMcLVuHHjOF+Pjo52FSlSxPXGG294tunvIFu2bK6PPvoola4yfWjXrp3rqaee8trWsWNHV/fu3e177nXy0H8LPvvsM896fO7rTz/9ZO/bunWrZ5+vvvrKFRAQ4Dp+/HiSrocWpDQiMjJStm/fbs2HbjpJpq5v2rTJp9eW3ly8eNG+5s+f377qfddWpZj3XichLVmyJPc+EbS1rl27dl73U3Gfk5dOiqtPFnj88cet67h27dry3nvveV4/ePCgTcAb837r86e06577nTB/+ctf7DFYP//8s63v2rVLvvvuO3nooYdsnXudMuJzX/Wrdqvp/xfcdH/9/NQWJ7+dSRv/de7cOevnds8i7qbr+/fv99l1pTf67D6tidGuiWrVqtk2/T+gzrDufPiw3nt9DfG3ePFi6x7WLjYn7nPy+u2336zbR7vlX375ZbvngwcPtnusj3By39PY/k3hfifMyJEj7UnyGuj1Iev6b/Vrr71mXTuKe50y4nNf9av+gRBTYGCg/QGc1HtPQEKGa93Ys2eP/fWH5HX06FEZMmSI1QHoIAOkfNjXv5r/+c9/2rq2IOl/21qroQEJyefjjz+WRYsW2XM8q1atag841z+0tLCYe51+0cWWRhQsWND+MnGO6NF1fcgukm7gwIFWwLdu3Tq59957Pdv1/moX54ULF7z2594njHah6YCCOnXq2F9wumghthZY6vf6Vx/3OfnoqJ4qVap4batcubI9w1K57yn/piTdiy++aK1I+mxPHSnYs2dPG3DgfpA69zplxOe+6lfnQKZbt27ZyLak3nsCUhqhzeJ169a1fu6YfyHqeqNGjXx6bf5Oa/80HH322Weydu1aG6obk953HQkU897rNAD6QcO9j7/mzZvLjz/+aH9duxdt4dBuCPf33Ofko93EzukqtEamVKlS9r3+d64fEDHvt3YTaV0G9zthrl275vXgdKV/0Oq/0Yp7nTLic1/1q/7RpX+guem/8/q70VqlJElSiTeS1eLFi606/4MPPrDK/H79+rny5s3rOnXqlK8vza89++yzrjx58ri++eYb18mTJz3LtWvXPPv079/fVbJkSdfatWtd27ZtczVq1MgWJE3MUWyK+5x8wsPDXYGBga7XXnvN9csvv7gWLVrkypEjh2vhwoWefSZNmmT/hnzxxReu3bt3ux555BFX6dKlXX/++adPr93f9O7d21W8eHHXsmXLXAcPHnQtWbLEVbBgQddLL73k2Yd7nfhRrz/88IMtGkmmTJli3x8+fDje97VNmzau2rVru7Zs2eL67rvvbBRtt27dXElFQEpjpk+fbh8gWbNmtWH/mzdv9vUl+T39P11sy9y5cz376P/ZBgwY4MqXL599yHTo0MFCFJI3IHGfk9eXX37pqlatmv1hValSJde7777r9boOk37llVdchQsXtn2aN2/uioiI8Nn1+qtLly7Zf8f6b3P27NldZcqUcY0ePdp148YNzz7c68RZt25drP8+ayiN7339/fffLRDlzJnTlTt3bldoaKgFr6QK0P9JWhsUAABA+kINEgAAgAMBCQAAwIGABAAA4EBAAgAAcCAgAQAAOBCQAAAAHAhIAAAADgQkAAAABwISAL/z5JNPyqOPPurrywCQjgX6+gIAIKaAgIA7vj527Fh5++237SHEack333wjzZo1kz/++EPy5s3r68sBkEQEJABpysmTJz3fh4WFyZgxY7yeWp8zZ05bACAl0cUGIE0pUqSIZ8mTJ4+1KMXcpuHI2cXWtGlTGTRokAwdOlTy5csnhQsXlvfee0+uXr0qoaGhkitXLilXrpx89dVXXufas2ePPPTQQ3ZMfU/Pnj3l3LlzcV7b4cOH5eGHH7ZzBAcHS9WqVWX58uVy6NAhaz1S+ppes16jio6OlokTJ0rp0qUlKChIatasKf/+97+9Wp50///85z9So0YNyZ49u9x33312bQB8h4AEIF2YN2+eFCxYUMLDwy0sPfvss/L444/LX/7yF9mxY4e0atXKAtC1a9ds/wsXLsiDDz4otWvXlm3btsmKFSvk9OnT0rlz5zjP8dxzz8mNGzdk/fr18uOPP8rkyZMtXJUoUUI+/fRT20dbu7QVTLsBlYaj+fPny5w5c2Tv3r0ybNgw6dGjh3z77bdex37xxRflzTfflK1bt8o999xjQezmzZspes8A3IELANKouXPnuvLkyXPb9t69e7seeeQRz/oDDzzgaty4sWf91q1bruDgYFfPnj09206ePKlFS65NmzbZ+oQJE1ytWrXyOu7Ro0dtn4iIiFivp3r16q5x48bF+tq6devsvX/88Ydn2/Xr1105cuRwbdy40WvfPn36uLp16+b1vsWLF3te//33311BQUGusLCwO9wdACmJGiQA6YJ2T7llzpxZChQoINWrV/ds0y40debMGfu6a9cuWbduXaz1TAcOHJAKFSrctn3w4MHWMvX1119LixYtpFOnTl7ndfr111+txaply5Ze2yMjI63lKqZGjRp5vs+fP79UrFhR9u3bF8+fHkByIyABSBeyZMnita51PTG3uUfHaU2QunLlinVjaTeZU9GiRWM9x9NPPy2tW7e2eiENSdp9pt1i2qUXGz2H0v2LFy/u9Vq2bNkS/DMCSD0EJAAZUp06daxuKCQkRAID4/9PodYb9e/f35ZRo0ZZMbgGpKxZs9rrUVFRnn2rVKliQejIkSPywAMP3PG4mzdvlpIlS9r3OlXAzz//LJUrV070zwcgaSjSBpAhacH1+fPnpVu3blYYrd1qK1eutFFvMUNOTDpKTvc5ePCgFX5rF507xJQqVcpaqZYtWyZnz5611iMdPffCCy9YYbYWkes59H3Tp0+39ZheffVVWbNmjY1e0xFwWnDOZJiA7xCQAGRIxYoVk++//97CkI5w03olDUA6yWOmTLH/06j7arDSUNSmTRurU5o1a5a9pl1o48ePl5EjR1q908CBA237hAkT5JVXXrHuOPf7tMtNh/3HNGnSJBkyZIjUrVtXTp06JV9++aWnVQpA6gvQSm0fnBcAwAzcQJpFCxIAAIADAQkAAMCBLjYAAAAHWpAAAAAcCEgAAAAOBCQAAAAHAhIAAIADAQkAAMCBgAQAAOBAQAIAAHAgIAEAAIi3/wMOAstj/GePlgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] @@ -392,16 +409,7 @@ } ], "source": [ - "# Plot rock, paper and scissors frequencies over time\n", - "import matplotlib.pyplot as plt\n", - "y = np.array(y)\n", - "plt.plot(y[:, 0], label=\"Rock\")\n", - "plt.plot(y[:, 1], label=\"Paper\")\n", - "plt.plot(y[:, 2], label=\"Scissors\")\n", - "plt.xlabel(\"Time step\")\n", - "plt.ylabel(\"Frequency\")\n", - "plt.legend()\n", - "plt.show()\n" + "plot_rps_dynamics([1/3, 1/3, 1/3])" ] }, { From 4f4daed7ae958820c9aa1f8118fd99f204535b02 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 7 Oct 2025 15:00:51 +0100 Subject: [PATCH 161/240] update gitignore to exclude .so files --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index c787f7e46..9acfeeb47 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,7 @@ _build build *.egg-info *.pyc +*.so config.guess config.sub From 0322b4608483a3df896d052d2d775b43271eda19 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 7 Oct 2025 15:01:08 +0100 Subject: [PATCH 162/240] tidy text --- doc/tutorials/06_gambit_with_openspiel.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 2d7f88132..4dddd33a1 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -419,7 +419,7 @@ "source": [ "## Normal form games created with Gambit\n", "\n", - "You can also set up a normal form game in Gambit and export it to OpenSpiel. Here we demonstrate this with the Prisoner's Dilemma game.\n", + "You can also set up a normal form game in Gambit and export it to OpenSpiel. Here we demonstrate this with the Prisoner's Dilemma game from tutorial 1.\n", "\n", "Note: in OpenSpiel version `1.6.1` there is a `pyspiel.load_nfg_game()` function, but it only seems to work for nfg's created by OpenSpiel, not games created by Gambit, where an error is thrown. Instead here we use Gambit to read the nfg file and convert it to NumPy arrays, which are then used to create a matrix game in OpenSpiel." ] From fdb6e7043adcbbad12dad5879c377f4a665600ef Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 7 Oct 2025 15:13:28 +0100 Subject: [PATCH 163/240] explain difference between the rps and pd dynamics --- doc/tutorials/06_gambit_with_openspiel.ipynb | 77 +++++++++++++------- 1 file changed, 52 insertions(+), 25 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 4dddd33a1..5fd258f8d 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -349,7 +349,7 @@ }, { "cell_type": "code", - "execution_count": 287, + "execution_count": null, "id": "b9a352c5", "metadata": {}, "outputs": [ @@ -380,6 +380,7 @@ " plt.ylabel(\"Frequency\")\n", " plt.legend()\n", " plt.show()\n", + "\n", "plot_rps_dynamics([0.2, 0.2, 0.6])" ] }, @@ -419,9 +420,7 @@ "source": [ "## Normal form games created with Gambit\n", "\n", - "You can also set up a normal form game in Gambit and export it to OpenSpiel. Here we demonstrate this with the Prisoner's Dilemma game from tutorial 1.\n", - "\n", - "Note: in OpenSpiel version `1.6.1` there is a `pyspiel.load_nfg_game()` function, but it only seems to work for nfg's created by OpenSpiel, not games created by Gambit, where an error is thrown. Instead here we use Gambit to read the nfg file and convert it to NumPy arrays, which are then used to create a matrix game in OpenSpiel." + "You can also set up a normal form game in Gambit and export it to OpenSpiel. Here we demonstrate this with the Prisoner's Dilemma game from tutorial 1." ] }, { @@ -474,9 +473,17 @@ "gbt.nash.lcp_solve(gbt_prisoners_dilemma_game).equilibria[0]" ] }, + { + "cell_type": "markdown", + "id": "15dd432d", + "metadata": {}, + "source": [ + "To re-create the game in OpenSpiel we extract the player payoffs to NumPy arrays, which are then used to create a matrix game in OpenSpiel:" + ] + }, { "cell_type": "code", - "execution_count": 152, + "execution_count": 289, "id": "fcd42af0", "metadata": {}, "outputs": [], @@ -492,9 +499,17 @@ ")" ] }, + { + "cell_type": "markdown", + "id": "625a35a4", + "metadata": {}, + "source": [ + "Like rock-paper-scissors, the Prisoner's Dilemma is a 1-step simultaneous-move normal form game; we'll apply a list of player actions in one step to reach the terminal state. Let's have both player choose to defect (1):" + ] + }, { "cell_type": "code", - "execution_count": 153, + "execution_count": 290, "id": "7ce6f2e2", "metadata": {}, "outputs": [ @@ -502,8 +517,8 @@ "data": { "text/plain": [ "Terminal? true\n", - "History: 0, 1\n", - "Returns: -3,0\n", + "History: 1, 1\n", + "Returns: -2,-2\n", "Row actions: \n", "Col actions: \n", "Utility matrix:\n", @@ -511,26 +526,35 @@ "0,-3 -2,-2 " ] }, - "execution_count": 153, + "execution_count": 290, "metadata": {}, "output_type": "execute_result" } ], "source": [ "state = ops_prisoners_dilemma_game.new_initial_state()\n", - "state.apply_actions([0, 1])\n", + "state.apply_actions([1, 1])\n", "state" ] }, + { + "cell_type": "markdown", + "id": "1fea0224", + "metadata": {}, + "source": [ + "Unlike in rock-paper-scissors, the Prisoner's Dilemma has a dominant strategy equilibrium, in which both players defect.\n", + "Using evolutionary dynamics, we can see that a population starting with a mix of cooperators and defectors will evolve towards all defectors over time:" + ] + }, { "cell_type": "code", - "execution_count": 262, + "execution_count": 293, "id": "d1495c7c", "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "
" ] @@ -542,19 +566,22 @@ "source": [ "matrix_pd_payoffs = game_payoffs_array(ops_prisoners_dilemma_game)\n", "dyn = dynamics.SinglePopulationDynamics(matrix_pd_payoffs, dynamics.replicator)\n", - "x = np.array([0.8, 0.2])\n", - "alpha = 0.1\n", - "y = []\n", - "for i in range(50):\n", - " x += alpha * dyn(x)\n", - " y.append(x.copy())\n", - "y = np.array(y)\n", - "plt.plot(y[:, 0], label=\"Cooperate\")\n", - "plt.plot(y[:, 1], label=\"Defect\")\n", - "plt.xlabel(\"Time step\")\n", - "plt.ylabel(\"Frequency\")\n", - "plt.legend()\n", - "plt.show()" + "\n", + "def plot_pd_dynamics(proportions, steps=100, alpha=0.1):\n", + " x = np.array(proportions)\n", + " y = []\n", + " for _ in range(steps):\n", + " x += alpha * dyn(x)\n", + " y.append(x.copy())\n", + " y = np.array(y)\n", + " plt.plot(y[:, 0], label=\"Cooperate\")\n", + " plt.plot(y[:, 1], label=\"Defect\")\n", + " plt.xlabel(\"Time step\")\n", + " plt.ylabel(\"Frequency\")\n", + " plt.legend()\n", + " plt.show()\n", + "\n", + "plot_pd_dynamics([0.8, 0.2])" ] }, { From 8372cdbbb20e5e283f600018e71b5de690d5eb0b Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 7 Oct 2025 15:15:41 +0100 Subject: [PATCH 164/240] remind explananation of pd --- doc/tutorials/06_gambit_with_openspiel.ipynb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 5fd258f8d..6d87e384a 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -478,6 +478,8 @@ "id": "15dd432d", "metadata": {}, "source": [ + "As expected, Gambit computes the equilibrium strategy for both players as choosing cooperate with probability 0 and defect with probability 1.\n", + "\n", "To re-create the game in OpenSpiel we extract the player payoffs to NumPy arrays, which are then used to create a matrix game in OpenSpiel:" ] }, From 88061dfeda001761aa10367c5701b4782a2deb2b Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 7 Oct 2025 15:23:36 +0100 Subject: [PATCH 165/240] more tidying --- doc/tutorials/06_gambit_with_openspiel.ipynb | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 6d87e384a..685be5867 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -550,7 +550,7 @@ }, { "cell_type": "code", - "execution_count": 293, + "execution_count": null, "id": "d1495c7c", "metadata": {}, "outputs": [ @@ -567,13 +567,13 @@ ], "source": [ "matrix_pd_payoffs = game_payoffs_array(ops_prisoners_dilemma_game)\n", - "dyn = dynamics.SinglePopulationDynamics(matrix_pd_payoffs, dynamics.replicator)\n", + "pd_dyn = dynamics.SinglePopulationDynamics(matrix_pd_payoffs, dynamics.replicator)\n", "\n", "def plot_pd_dynamics(proportions, steps=100, alpha=0.1):\n", " x = np.array(proportions)\n", " y = []\n", " for _ in range(steps):\n", - " x += alpha * dyn(x)\n", + " x += alpha * pd_dyn(x)\n", " y.append(x.copy())\n", " y = np.array(y)\n", " plt.plot(y[:, 0], label=\"Cooperate\")\n", @@ -602,14 +602,7 @@ "source": [ "## Extensive form games from the OpenSpiel library\n", "\n", - "For extensive form games, OpenSpiel can export to the EFG format used by Gambit. Here we demonstrate this with **Tiny Hanabi**, loaded from the OpenSpiel [game library](https://openspiel.readthedocs.io/en/latest/games.html).\n", - "\n", - "\n", - "Note: as of OpenSpiel `1.6.1`, many of the games in the game library do not produce correct EFG exports. For example, Kuhn Poker EFG export did not produce a valid `.efg` file for Gambit, giving the error:\n", - "\n", - "```\n", - "ValueError: Parse error in game file: Probabilities must sum to exactly one\n", - "```" + "For extensive form games, OpenSpiel can export to the EFG format used by Gambit. Here we demonstrate this with **Tiny Hanabi**, loaded from the OpenSpiel [game library](https://openspiel.readthedocs.io/en/latest/games.html)." ] }, { @@ -640,7 +633,7 @@ "id": "fa354c9f", "metadata": {}, "source": [ - "Now let's load the EFG in Gambit (bear in mind that Gambit's `read_efg` function expects a file like object).\n", + "Now let's load the EFG in Gambit.\n", "We can then compute equilibria strategies for the players as usual." ] }, From f6f7b9e776c9f87f21a8d5f49afa1fbf79264e26 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 7 Oct 2025 15:38:26 +0100 Subject: [PATCH 166/240] explain better that Tiny hanabi learned strategies are consistent with equilibria computed by Gambit --- doc/tutorials/06_gambit_with_openspiel.ipynb | 78 +++++++++----------- 1 file changed, 33 insertions(+), 45 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 685be5867..ade87b76b 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -799,7 +799,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 294, "id": "4e72c924", "metadata": {}, "outputs": [], @@ -826,7 +826,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "id": "53547263", "metadata": {}, "outputs": [ @@ -835,52 +835,41 @@ "output_type": "stream", "text": [ "Episodes: 0\n", - "Episodes: 1000\n", - "Episodes: 2000\n", - "Episodes: 3000\n", - "Episodes: 4000\n", - "Episodes: 5000\n", - "Episodes: 6000\n", - "Episodes: 7000\n", - "Episodes: 8000\n", - "Episodes: 9000\n", "Episodes: 10000\n", - "Episodes: 11000\n", - "Episodes: 12000\n", - "Episodes: 13000\n", - "Episodes: 14000\n", - "Episodes: 15000\n", - "Episodes: 16000\n", - "Episodes: 17000\n", - "Episodes: 18000\n", - "Episodes: 19000\n", "Episodes: 20000\n", - "Episodes: 21000\n", - "Episodes: 22000\n", - "Episodes: 23000\n", - "Episodes: 24000\n", - "Done!\n" + "Episodes: 30000\n" ] } ], "source": [ - "for cur_episode in range(25000):\n", - " if cur_episode % 1000 == 0:\n", + "for cur_episode in range(30000):\n", + " if cur_episode % 10000 == 0:\n", " print(f\"Episodes: {cur_episode}\")\n", + "\n", " time_step = env.reset()\n", " while not time_step.last():\n", " player_id = time_step.observations[\"current_player\"]\n", " agent_output = agents[player_id].step(time_step)\n", " time_step = env.step([agent_output.action])\n", + "\n", " # Episode is over, step all agents with final info state.\n", " for agent in agents:\n", " agent.step(time_step)\n", - "print(\"Done!\")" + "\n", + "print(f\"Episodes: {cur_episode+1}\")" + ] + }, + { + "cell_type": "markdown", + "id": "75cddd36", + "metadata": {}, + "source": [ + "Let's check out the strategies our agents have learned by playing them against eachother again, this time in evaluation mode (setting `is_evaluation=True`):" ] }, { "cell_type": "code", - "execution_count": 34, + "execution_count": null, "id": "d71bc733", "metadata": {}, "outputs": [ @@ -889,34 +878,32 @@ "output_type": "stream", "text": [ "\n", - "p0:d1 p1:d1\n", - "Agent 0 chooses p0a1\n", + "p0:d0 p1:d0\n", + "Agent 0 chooses p0a2\n", "\n", - "p0:d1 p1:d1 p0:a1\n", - "Agent 1 chooses p1a1\n", + "p0:d0 p1:d0 p0:a2\n", + "Agent 1 chooses p1a0\n", "\n", - "p0:d1 p1:d1 p0:a1 p1:a1\n", - "[8.0, 8.0]\n" + "p0:d0 p1:d0 p0:a2 p1:a0\n", + "Rewards: [10.0, 10.0]\n" ] } ], "source": [ - "# Evaluate the Q-learning agent against another\n", - "eval_agents = [agents[0], agents[1]]\n", - "\n", "time_step = env.reset()\n", + "\n", "while not time_step.last():\n", " print(\"\")\n", " print(env.get_state)\n", + "\n", " player_id = time_step.observations[\"current_player\"]\n", - " # Note the evaluation flag. A Q-learner will set epsilon=0 here.\n", - " agent_output = eval_agents[player_id].step(time_step, is_evaluation=True)\n", + " agent_output = agents[player_id].step(time_step, is_evaluation=True)\n", " print(f\"Agent {player_id} chooses {env.get_state.action_to_string(agent_output.action)}\")\n", " time_step = env.step([agent_output.action])\n", "\n", "print(\"\")\n", "print(env.get_state)\n", - "print(time_step.rewards)" + "print(f\"Rewards: {time_step.rewards}\")" ] }, { @@ -924,11 +911,12 @@ "id": "f1e9b174", "metadata": {}, "source": [ - "Is this one of the equilibrium strategies computed by Gambit?\n", - "\n", - "When I ran the above I got the final game state `p0:d0 p1:d0 p0:a2 p1:a0` with payoffs `[10.0, 10.0]`.\n", + "Are the learned strategies chosen by p0 and p1 consistent with an equilibrium computed by Gambit?\n", "\n", - "The node `p0:d0 p1:d0` is part of player 0's information set 0. p0 picks a2 which matches the first equilibrium strategy in `eqm['Pl0']` where action `p0a2` is played with probability 1.0. This put's player 1 in their information set 2, and player 1 picks action 0, which is consistent with `eqm['Pl1']` where action `p1a0` is played with probability 1.0." + "When I ran the above I got the final game state `p0:d0 p1:d0 p0:a2 p1:a0` with payoffs `[10.0, 10.0]`. This is consistent with the equilibrium computed by Gambit:\n", + "- The node `p0:d0 p1:d0` is part of player 0's information set 0.\n", + "- p0 picks a2 which matches the first equilibrium strategy in `eqm['Pl0']` where action `p0a2` is played with probability 1.0.\n", + "- This puts player 1 in their information set 2, and player 1 picks action 0, which is consistent with `eqm['Pl1']` where action `p1a0` is played with probability 1.0." ] }, { From 2fd3c6a70fcf03c200302f4d00ea5a326e6831d8 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 7 Oct 2025 15:42:06 +0100 Subject: [PATCH 167/240] final explaination of poker --- doc/tutorials/06_gambit_with_openspiel.ipynb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index ade87b76b..dc63423c4 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -1136,6 +1136,14 @@ "state.apply_action(3)\n", "state" ] + }, + { + "cell_type": "markdown", + "id": "1bf09576", + "metadata": {}, + "source": [ + "Since Bob passed, Alice takes the small win and we reach a terminal state." + ] } ], "metadata": { From 57c837717b6eebca1bc89935fa93558aee1f9910 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 7 Oct 2025 15:47:17 +0100 Subject: [PATCH 168/240] resave outputs --- doc/tutorials/06_gambit_with_openspiel.ipynb | 110 +++++++++---------- 1 file changed, 55 insertions(+), 55 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index dc63423c4..e7807e1be 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -24,7 +24,7 @@ }, { "cell_type": "code", - "execution_count": 278, + "execution_count": 1, "id": "ebb78322", "metadata": {}, "outputs": [], @@ -56,7 +56,7 @@ }, { "cell_type": "code", - "execution_count": 277, + "execution_count": 2, "id": "b3eb3671", "metadata": {}, "outputs": [ @@ -86,7 +86,7 @@ }, { "cell_type": "code", - "execution_count": 117, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -103,7 +103,7 @@ }, { "cell_type": "code", - "execution_count": 130, + "execution_count": 4, "id": "1bcdb97b", "metadata": {}, "outputs": [ @@ -119,7 +119,7 @@ "-1,1 1,-1 0,0 " ] }, - "execution_count": 130, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -139,7 +139,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "70575dc7", "metadata": {}, "outputs": [ @@ -169,7 +169,7 @@ }, { "cell_type": "code", - "execution_count": 133, + "execution_count": 6, "id": "a532321e", "metadata": {}, "outputs": [ @@ -187,7 +187,7 @@ "-1,1 1,-1 0,0 " ] }, - "execution_count": 133, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -207,7 +207,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 7, "id": "f5fa4e42", "metadata": {}, "outputs": [ @@ -217,7 +217,7 @@ "'NFG 1 R \"OpenSpiel export of matrix_rps()\"\\n{ \"Player 0\" \"Player 1\" } { 3 3 }\\n\\n0 0\\n1 -1\\n-1 1\\n-1 1\\n0 0\\n1 -1\\n1 -1\\n-1 1\\n0 0\\n'" ] }, - "execution_count": 18, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -238,7 +238,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 8, "id": "b684325e", "metadata": {}, "outputs": [ @@ -252,7 +252,7 @@ "Game(title='Rock-Paper-Scissors')" ] }, - "execution_count": 35, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -280,7 +280,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 9, "id": "707c6c30", "metadata": {}, "outputs": [ @@ -293,7 +293,7 @@ "[[Rational(1, 3), Rational(1, 3), Rational(1, 3)], [Rational(1, 3), Rational(1, 3), Rational(1, 3)]]" ] }, - "execution_count": 20, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -314,7 +314,7 @@ }, { "cell_type": "code", - "execution_count": 286, + "execution_count": 10, "id": "cf1acdeb", "metadata": {}, "outputs": [ @@ -324,7 +324,7 @@ "array([ 0.08, -0.08, 0. ])" ] }, - "execution_count": 286, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -349,7 +349,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "b9a352c5", "metadata": {}, "outputs": [ @@ -394,7 +394,7 @@ }, { "cell_type": "code", - "execution_count": 288, + "execution_count": 12, "id": "86c6aa52", "metadata": {}, "outputs": [ @@ -425,7 +425,7 @@ }, { "cell_type": "code", - "execution_count": 147, + "execution_count": 13, "id": "cdd0bfe0", "metadata": {}, "outputs": [ @@ -439,7 +439,7 @@ "Game(title='Prisoner's Dilemma')" ] }, - "execution_count": 147, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -451,7 +451,7 @@ }, { "cell_type": "code", - "execution_count": 155, + "execution_count": 14, "id": "d42e6545", "metadata": {}, "outputs": [ @@ -464,7 +464,7 @@ "[[Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1)]]" ] }, - "execution_count": 155, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -485,7 +485,7 @@ }, { "cell_type": "code", - "execution_count": 289, + "execution_count": 15, "id": "fcd42af0", "metadata": {}, "outputs": [], @@ -511,7 +511,7 @@ }, { "cell_type": "code", - "execution_count": 290, + "execution_count": 16, "id": "7ce6f2e2", "metadata": {}, "outputs": [ @@ -528,7 +528,7 @@ "0,-3 -2,-2 " ] }, - "execution_count": 290, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -550,7 +550,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "d1495c7c", "metadata": {}, "outputs": [ @@ -607,7 +607,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 18, "id": "02a42600", "metadata": {}, "outputs": [ @@ -617,7 +617,7 @@ "'EFG 2 R \"tiny_hanabi()\" { \"Pl0\" \"Pl1\" } \\nc \"\" 1 \"\" { \"d0\" 0.5000000000000000 \"d1\" 0.5000000000000000 } 0\\n c \"p0:d0\" 2 \"\" { \"d0\" 0.5000000000000000 \"d1\" 0.5000000000000000 } 0\\n p \"\" 1 1 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 1 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 1 \"\" { 10.0 10.0 }\\n t \"\" 2 \"\" { 0.0 0.0 }\\n t \"\" 3 \"\" { 0.0 0.0 }\\n p \"\" 2 2 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 4 \"\" { 4.0 4.0 }\\n t \"\" 5 \"\" { 8.0 8.0 }\\n t \"\" 6 \"\" { 4.0 4.0 }\\n p \"\" 2 3 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 7 \"\" { 10.0 10.0 }\\n t \"\" 8 \"\" { 0.0 0.0 }\\n t \"\" 9 \"\" { 0.0 0.0 }\\n p \"\" 1 1 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 4 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 10 \"\" { 0.0 0.0 }\\n t \"\" 11 \"\" { 0.0 0.0 }\\n t \"\" 12 \"\" { 10.0 10.0 }\\n p \"\" 2 5 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 13 \"\" { 4.0 4.0 }\\n t \"\" 14 \"\" { 8.0 8.0 }\\n t \"\" 15 \"\" { 4.0 4.0 }\\n p \"\" 2 6 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 16 \"\" { 0.0 0.0 }\\n t \"\" 17 \"\" { 0.0 0.0 }\\n t \"\" 18 \"\" { 10.0 10.0 }\\n c \"p0:d1\" 3 \"\" { \"d0\" 0.5000000000000000 \"d1\" 0.5000000000000000 } 0\\n p \"\" 1 2 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 1 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 19 \"\" { 0.0 0.0 }\\n t \"\" 20 \"\" { 0.0 0.0 }\\n t \"\" 21 \"\" { 10.0 10.0 }\\n p \"\" 2 2 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 22 \"\" { 4.0 4.0 }\\n t \"\" 23 \"\" { 8.0 8.0 }\\n t \"\" 24 \"\" { 4.0 4.0 }\\n p \"\" 2 3 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 25 \"\" { 0.0 0.0 }\\n t \"\" 26 \"\" { 0.0 0.0 }\\n t \"\" 27 \"\" { 0.0 0.0 }\\n p \"\" 1 2 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 4 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 28 \"\" { 10.0 10.0 }\\n t \"\" 29 \"\" { 0.0 0.0 }\\n t \"\" 30 \"\" { 0.0 0.0 }\\n p \"\" 2 5 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 31 \"\" { 4.0 4.0 }\\n t \"\" 32 \"\" { 8.0 8.0 }\\n t \"\" 33 \"\" { 4.0 4.0 }\\n p \"\" 2 6 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 34 \"\" { 10.0 10.0 }\\n t \"\" 35 \"\" { 0.0 0.0 }\\n t \"\" 36 \"\" { 0.0 0.0 }\\n'" ] }, - "execution_count": 23, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -639,7 +639,7 @@ }, { "cell_type": "code", - "execution_count": 263, + "execution_count": 19, "id": "1a534e25", "metadata": {}, "outputs": [ @@ -669,7 +669,7 @@ }, { "cell_type": "code", - "execution_count": 264, + "execution_count": 20, "id": "1ec19b1c", "metadata": {}, "outputs": [ @@ -682,7 +682,7 @@ "[[Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)]]" ] }, - "execution_count": 264, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -701,7 +701,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 21, "id": "ae9fc7a7", "metadata": {}, "outputs": [ @@ -734,7 +734,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 22, "id": "8528e1bd", "metadata": {}, "outputs": [ @@ -747,7 +747,7 @@ "[[Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)], [Rational(1, 1), Rational(0, 1), Rational(0, 1)], [Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)], [Rational(0, 1), Rational(0, 1), Rational(1, 1)]]" ] }, - "execution_count": 30, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -758,7 +758,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 23, "id": "2965aed0", "metadata": {}, "outputs": [ @@ -799,7 +799,7 @@ }, { "cell_type": "code", - "execution_count": 294, + "execution_count": 24, "id": "4e72c924", "metadata": {}, "outputs": [], @@ -826,7 +826,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "53547263", "metadata": {}, "outputs": [ @@ -869,7 +869,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "d71bc733", "metadata": {}, "outputs": [ @@ -879,12 +879,12 @@ "text": [ "\n", "p0:d0 p1:d0\n", - "Agent 0 chooses p0a2\n", + "Agent 0 chooses p0a0\n", "\n", - "p0:d0 p1:d0 p0:a2\n", + "p0:d0 p1:d0 p0:a0\n", "Agent 1 chooses p1a0\n", "\n", - "p0:d0 p1:d0 p0:a2 p1:a0\n", + "p0:d0 p1:d0 p0:a0 p1:a0\n", "Rewards: [10.0, 10.0]\n" ] } @@ -931,7 +931,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 27, "id": "07340e32", "metadata": {}, "outputs": [ @@ -941,7 +941,7 @@ "efg_game()" ] }, - "execution_count": 68, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -965,7 +965,7 @@ }, { "cell_type": "code", - "execution_count": 96, + "execution_count": 28, "id": "c01c4d6f", "metadata": {}, "outputs": [ @@ -975,7 +975,7 @@ "4" ] }, - "execution_count": 96, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -996,7 +996,7 @@ }, { "cell_type": "code", - "execution_count": 270, + "execution_count": 29, "id": "3b9cc43b", "metadata": {}, "outputs": [ @@ -1006,7 +1006,7 @@ "0: Chance: 1 King 0.5 Queen 0.5" ] }, - "execution_count": 270, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } @@ -1026,7 +1026,7 @@ }, { "cell_type": "code", - "execution_count": 271, + "execution_count": 30, "id": "4dd5d504", "metadata": {}, "outputs": [ @@ -1036,7 +1036,7 @@ "1: Player: 1 1 Raise Fold" ] }, - "execution_count": 271, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -1057,7 +1057,7 @@ }, { "cell_type": "code", - "execution_count": 273, + "execution_count": 31, "id": "bd15369f", "metadata": {}, "outputs": [ @@ -1067,7 +1067,7 @@ "3: Player: 2 1 Meet Pass" ] }, - "execution_count": 273, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -1087,7 +1087,7 @@ }, { "cell_type": "code", - "execution_count": 274, + "execution_count": 32, "id": "8d81ff6b", "metadata": {}, "outputs": [ @@ -1097,7 +1097,7 @@ "[2, 3]" ] }, - "execution_count": 274, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -1117,7 +1117,7 @@ }, { "cell_type": "code", - "execution_count": 275, + "execution_count": 33, "id": "97913fe5", "metadata": {}, "outputs": [ @@ -1127,7 +1127,7 @@ "6: Terminal: Alice wins 1 -1" ] }, - "execution_count": 275, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } From b14a6431a683ba5b1a493d2121cbffc6f114534e Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 7 Oct 2025 15:56:33 +0100 Subject: [PATCH 169/240] add to toctree and give number --- doc/pygambit.rst | 1 + doc/tutorials/06_gambit_with_openspiel.ipynb | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/pygambit.rst b/doc/pygambit.rst index 9b427f7d4..39cc4f4c8 100644 --- a/doc/pygambit.rst +++ b/doc/pygambit.rst @@ -34,6 +34,7 @@ Tutorials **4-5** assume some familiarity with the PyGambit API and Game Theory tutorials/04_starting_points tutorials/05_quantal_response + tutorials/06_gambit_with_openspiel You may also wish to read: diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index e7807e1be..1e1aa1a94 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Using Gambit with OpenSpiel\n", + "# 6) Using Gambit with OpenSpiel\n", "\n", "This tutorial demonstrates the interoperability of the Gambit and OpenSpiel Python packages for game-theoretic analysis.\n", "\n", From a6901dc0ce22d884c98782097a1c099d819f2485 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 20 Oct 2025 11:09:46 +0100 Subject: [PATCH 170/240] plot the convergence of the time average of strategies --- doc/tutorials/06_gambit_with_openspiel.ipynb | 126 ++++++++++++------- 1 file changed, 83 insertions(+), 43 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 1e1aa1a94..2daa447d9 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -24,7 +24,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "id": "ebb78322", "metadata": {}, "outputs": [], @@ -56,7 +56,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "id": "b3eb3671", "metadata": {}, "outputs": [ @@ -86,7 +86,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -103,7 +103,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "id": "1bcdb97b", "metadata": {}, "outputs": [ @@ -119,7 +119,7 @@ "-1,1 1,-1 0,0 " ] }, - "execution_count": 4, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -139,7 +139,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "id": "70575dc7", "metadata": {}, "outputs": [ @@ -169,7 +169,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "id": "a532321e", "metadata": {}, "outputs": [ @@ -187,7 +187,7 @@ "-1,1 1,-1 0,0 " ] }, - "execution_count": 6, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -207,7 +207,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "id": "f5fa4e42", "metadata": {}, "outputs": [ @@ -217,7 +217,7 @@ "'NFG 1 R \"OpenSpiel export of matrix_rps()\"\\n{ \"Player 0\" \"Player 1\" } { 3 3 }\\n\\n0 0\\n1 -1\\n-1 1\\n-1 1\\n0 0\\n1 -1\\n1 -1\\n-1 1\\n0 0\\n'" ] }, - "execution_count": 7, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -238,7 +238,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "id": "b684325e", "metadata": {}, "outputs": [ @@ -252,7 +252,7 @@ "Game(title='Rock-Paper-Scissors')" ] }, - "execution_count": 8, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -280,7 +280,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "id": "707c6c30", "metadata": {}, "outputs": [ @@ -293,7 +293,7 @@ "[[Rational(1, 3), Rational(1, 3), Rational(1, 3)], [Rational(1, 3), Rational(1, 3), Rational(1, 3)]]" ] }, - "execution_count": 9, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -314,7 +314,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "id": "cf1acdeb", "metadata": {}, "outputs": [ @@ -324,7 +324,7 @@ "array([ 0.08, -0.08, 0. ])" ] }, - "execution_count": 10, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -336,6 +336,29 @@ "dyn(x)" ] }, + { + "cell_type": "code", + "execution_count": 15, + "id": "4687c9bc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0.208, 0.192, 0.6 ])" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ex = np.array([0.2, 0.2, 0.6])\n", + "ex += 0.1 * dyn(ex)\n", + "ex" + ] + }, { "cell_type": "markdown", "id": "fa382753", @@ -349,28 +372,44 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 25, "id": "b9a352c5", "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3\n" + ] } ], "source": [ - "def plot_rps_dynamics(proportions, steps=100, alpha=0.1):\n", + "def plot_rps_dynamics(proportions, steps=100, alpha=0.1, plot_average_strategy=False):\n", " x = np.array(proportions)\n", + " rock_proportions = [x[0]]\n", + " paper_proportions = [x[1]]\n", + " scissors_proportions = [x[2]]\n", " y = []\n", " for _ in range(steps):\n", " x += alpha * dyn(x)\n", - " y.append(x.copy())\n", + " rock_proportions.append(x[0])\n", + " paper_proportions.append(x[1])\n", + " scissors_proportions.append(x[2])\n", + " if plot_average_strategy:\n", + " y.append([np.mean(rock_proportions), np.mean(paper_proportions), np.mean(scissors_proportions)])\n", + " else:\n", + " y.append(x.copy())\n", " y = np.array(y)\n", "\n", " plt.plot(y[:, 0], label=\"Rock\")\n", @@ -380,8 +419,9 @@ " plt.ylabel(\"Frequency\")\n", " plt.legend()\n", " plt.show()\n", + " print(len(y[0]))\n", "\n", - "plot_rps_dynamics([0.2, 0.2, 0.6])" + "plot_rps_dynamics([0.2, 0.2, 0.6], plot_average_strategy=True)" ] }, { @@ -394,7 +434,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "86c6aa52", "metadata": {}, "outputs": [ @@ -425,7 +465,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "cdd0bfe0", "metadata": {}, "outputs": [ @@ -451,7 +491,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "d42e6545", "metadata": {}, "outputs": [ @@ -485,7 +525,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "fcd42af0", "metadata": {}, "outputs": [], @@ -511,7 +551,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "7ce6f2e2", "metadata": {}, "outputs": [ @@ -550,7 +590,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "d1495c7c", "metadata": {}, "outputs": [ @@ -607,7 +647,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "id": "02a42600", "metadata": {}, "outputs": [ @@ -639,7 +679,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "id": "1a534e25", "metadata": {}, "outputs": [ @@ -669,7 +709,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "id": "1ec19b1c", "metadata": {}, "outputs": [ @@ -701,7 +741,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "id": "ae9fc7a7", "metadata": {}, "outputs": [ @@ -734,7 +774,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "id": "8528e1bd", "metadata": {}, "outputs": [ @@ -758,7 +798,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "2965aed0", "metadata": {}, "outputs": [ @@ -799,7 +839,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "id": "4e72c924", "metadata": {}, "outputs": [], @@ -826,7 +866,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "id": "53547263", "metadata": {}, "outputs": [ @@ -869,7 +909,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "id": "d71bc733", "metadata": {}, "outputs": [ @@ -931,7 +971,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "id": "07340e32", "metadata": {}, "outputs": [ @@ -965,7 +1005,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, "id": "c01c4d6f", "metadata": {}, "outputs": [ @@ -996,7 +1036,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "id": "3b9cc43b", "metadata": {}, "outputs": [ @@ -1026,7 +1066,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "id": "4dd5d504", "metadata": {}, "outputs": [ @@ -1057,7 +1097,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "id": "bd15369f", "metadata": {}, "outputs": [ @@ -1087,7 +1127,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "id": "8d81ff6b", "metadata": {}, "outputs": [ @@ -1117,7 +1157,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "id": "97913fe5", "metadata": {}, "outputs": [ From d03a125f116f848b787d7efcdd440ea49ce1163d Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 20 Oct 2025 11:12:18 +0100 Subject: [PATCH 171/240] show difference between plotting the current strategy proportions vs. the average strategy proportions over time --- doc/tutorials/06_gambit_with_openspiel.ipynb | 34 ++++++++++++++++++-- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 2daa447d9..81e537835 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -372,13 +372,13 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 31, "id": "b9a352c5", "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "
" ] @@ -395,7 +395,7 @@ } ], "source": [ - "def plot_rps_dynamics(proportions, steps=100, alpha=0.1, plot_average_strategy=False):\n", + "def plot_rps_dynamics(proportions, steps=300, alpha=0.1, plot_average_strategy=False):\n", " x = np.array(proportions)\n", " rock_proportions = [x[0]]\n", " paper_proportions = [x[1]]\n", @@ -421,6 +421,34 @@ " plt.show()\n", " print(len(y[0]))\n", "\n", + "plot_rps_dynamics([0.2, 0.2, 0.6])" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "189f898f", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3\n" + ] + } + ], + "source": [ "plot_rps_dynamics([0.2, 0.2, 0.6], plot_average_strategy=True)" ] }, From 7ba2fde857f9c12b0a5003c56e8dce55314c3b06 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 20 Oct 2025 11:21:36 +0100 Subject: [PATCH 172/240] clearly show average strategy convergence in RPS --- doc/tutorials/06_gambit_with_openspiel.ipynb | 76 +++++++------------- 1 file changed, 24 insertions(+), 52 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 81e537835..c602dce9b 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -336,29 +336,6 @@ "dyn(x)" ] }, - { - "cell_type": "code", - "execution_count": 15, - "id": "4687c9bc", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([0.208, 0.192, 0.6 ])" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "ex = np.array([0.2, 0.2, 0.6])\n", - "ex += 0.1 * dyn(ex)\n", - "ex" - ] - }, { "cell_type": "markdown", "id": "fa382753", @@ -372,30 +349,23 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 40, "id": "b9a352c5", "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "3\n" - ] } ], "source": [ - "def plot_rps_dynamics(proportions, steps=300, alpha=0.1, plot_average_strategy=False):\n", + "def plot_rps_dynamics(proportions, steps=100, alpha=0.1, plot_average_strategy=False):\n", " x = np.array(proportions)\n", " rock_proportions = [x[0]]\n", " paper_proportions = [x[1]]\n", @@ -419,56 +389,58 @@ " plt.ylabel(\"Frequency\")\n", " plt.legend()\n", " plt.show()\n", - " print(len(y[0]))\n", "\n", - "plot_rps_dynamics([0.2, 0.2, 0.6])" + "plot_rps_dynamics([0.3, 0.3, 0.4])" + ] + }, + { + "cell_type": "markdown", + "id": "8569aef4", + "metadata": {}, + "source": [ + "If we start with the initial population already in equilibrium (1/3 each), the frequencies will remain constant over time:" ] }, { "cell_type": "code", - "execution_count": 32, - "id": "189f898f", + "execution_count": 37, + "id": "86c6aa52", "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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LjYASUquXLk8S6ZMmaxFyfs5DUfOLraaNWtKz549pXfv3pIlSxbJmTOnfPjhh3L58mXp2LGjZMiQQSIjI+Xbb7/1Odb27dvl8ccft33qa9q2bSunT5+O9dwOHDggTzzxhB0jPDxcSpUqJQsXLpT9+/db65HSdXrOeo4qOjpaRo4cKQULFpSwsDApV66cfP755z4tT7r9f//7XylbtqykTZtWHn74YTs3AP5DQAKQLEyfPl2yZ88uGzZssLDUrVs3efrpp+X//b//J1u2bJF69epZALpy5Yptf+7cOXnsscfkoYcekk2bNsmiRYvkxIkT0qJFi1iP8eKLL8q1a9dk1apV8ssvv8jo0aMtXOXLl0+++OIL20Zbu7QVTLsBlYajGTNmyJQpU2THjh3Sp08fefbZZ+X777/32Xe/fv3knXfekY0bN8oDDzxgQezGjRv39JoBuA0XACRRU6dOdWXKlOmW59u3b+9q0qSJ5/Gjjz7qql69uufxzZs3XeHh4a62bdt6njt27JgWLbnWrl1rj0eMGOGqV6+ez34PHTpk2+zevTvG8ylTpoxr6NChMa5bsWKFvfbPP//0PHf16lVXunTpXGvWrPHZtlOnTq7WrVv7vG7OnDme9WfOnHGFhYW55s6de5urA+BeogYJQLKg3VNuKVOmlGzZskmZMmU8z2kXmjp58qR9/fnnn2XFihUx1jPt3btXihYtesvzvXr1spap7777TurUqSPNmzf3Oa7Tnj17rMWqbt26Ps9fv37dWq68VatWzfN91qxZpVixYrJz5844/vQAEhsBCUCykCpVKp/HWtfj/Zx7dJzWBKlLly5ZN5Z2kznlzp07xmM8//zzUr9+fasX0pCk3WfaLaZdejHRYyjdPm/evD7r0qRJE++fEcD9Q0ACEJQqVKhgdUMRERESGhr3fwq13qhr1662DBw40IrBNSClTp3a1kdFRXm2LVmypAWhgwcPyqOPPnrb/a5bt07y589v3+tUAb/99puUKFEiwT8fgLtDkTaAoKQF12fPnpXWrVtbYbR2qy1evNhGvXmHHG86Sk632bdvnxV+axedO8QUKFDAWqkWLFggp06dstYjHT33yiuvWGG2FpHrMfR148ePt8fehg8fLsuWLbPRazoCTgvOmQwT8B8CEoCglCdPHvnxxx8tDOkIN61X0gCkkzymSBHzP426rQYrDUUNGjSwOqVJkybZOu1CGzZsmAwYMMDqnXr06GHPjxgxQt544w3rjnO/TrvcdNi/t1GjRslLL70kFStWlOPHj8s333zjaZUCcP+FaKW2H44LAGAGbiDJogUJAADAgYAEAADgQBcbAACAAy1IAAAADgQkAAAABwISAACAAwEJAADAgYAEAADgQEACAABwICABAAA4EJAAAADE1/8HgioQ6rKEiZwAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "3\n" - ] } ], "source": [ - "plot_rps_dynamics([0.2, 0.2, 0.6], plot_average_strategy=True)" + "plot_rps_dynamics([1/3, 1/3, 1/3])" ] }, { "cell_type": "markdown", - "id": "8569aef4", + "id": "a1f6662e", "metadata": {}, "source": [ - "If we start with the initial population already in equilibrium (1/3 each), the frequencies will remain constant over time:" + "Through the dynamics, we can see that the population proportions oscillate around the equilibrium point (1/3, 1/3, 1/3) without converging to it, because the best strategy depends on the likelihood of the opponents' actions, as defined by the current population proportions.\n", + "\n", + "However, if we plot the average strategy proportions over time, we can see that they begin to converge to the equilibrium point:" ] }, { "cell_type": "code", - "execution_count": null, - "id": "86c6aa52", + "execution_count": 41, + "id": "189f898f", "metadata": {}, "outputs": [ { "data": { - "image/png": "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bMWKFbPQc+jQIfnb3/5mNUkabvLnzy/fffed9OnTx7rf3MHmbrRmSVuROnbseNtrWpPkprVH/oCABABAUgQEJLqrK7VpONHh/TFt377dWpPefPNNq0VSH3/88W3v1Valbdu2WWuRioiIsDok7WZTWpyt25zH91cEJAAAMjANNNrlNn36dHn44Yetm2zOnDm37afD8bVeSYu5teVp4MCBct9993kC05gxY6wlqmTJkvLYY49Z2NJutz179lhNk79hFBsAABlYzZo1bZj/5MmTpVq1arJo0SKrR3LSrrYRI0ZY3dL9999vtUxhYWGe13XYv9Y4ff3111arpOHprbfesikF/FGAS0vZkWBaxJYnTx65ePGi5M6d29eXAwBIBVpwfPDgQSldurRXXU1698EHH9hIN+1S8/ffU3w/v2lBAgAAcCAgAQAAOBCQAADAXR90e8FPuteSCwEJAADAgYAEAADgQEACAABwICABAAA4EJAAAAAcCEgAAAAOBCQAAHDXmbTz5s0rGQkBCQCADODs2bPy7LPP2sNks2XLJkWKFLHnp+nDae+mS5cu8vPPP0tGEujrCwAAACmvU6dOEhkZKfPmzZMyZcrI6dOnZc2aNfL777/f9b1BQUG2+IJec9asWVP9vLQgAQCQzuks2Bs2bJDJkydLs2bNpFSpUtKgQQMZNWqUtG/f3rPPM888I4ULF7YHvFarVk2WLVsWaxfbrl277Di5cuWyB77WrVtXtm3bZq8dPnxYHn74YcmXL58EBwdL1apVZfny5Z73fvvtt3ZubcUqWrSojBw5Um7duuV5vWnTpjJw4EB7OG7BggWtlcvlcsm4ceM8rV/FihWTwYMHp+g9owUJAIAk0A/vP2/9mernDQoMkoCAgHjtmzNnTls+//xzue+++yxkxBQdHS0PPfSQXL58WRYuXChly5aVn376STJnzhzr8bp37y61a9eW2bNn2z47d+6ULFmy2GvPPfectfqsX7/eApIeR8+tjh8/Lm3btrVHl8yfP1/2798vffv2tUCmAchNW7m0O9Dd/ffpp5/KW2+9JYsXL7bAderUKQtpKYmABABAEmg4avhhw1Q/75YntkiOLDnitW9gYKC1AmkYmTNnjtSpU0ceeOAB6dq1q9SoUUNWr14t4eHhsm/fPqlQoYK9R7vh4nLkyBF58cUXpVKlSrZevnx5r9e0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l1/KJ598YvvrPFodO3b06XX7s61bt8o777xz29xi3Ofk88cff8j9998vWbJkka+++kp++uknefPNNyVfvnyefV5//XWZNm2azJkzR7Zs2SLBwcH2b4oGVcSfPhBd59ubMWOGPb1B1/XeTp8+3bMP9zpx9N9h/azTxoHYxOe+ajjau3ev/fu+bNkyC10xHymWaDrMH2lDgwYNXM8995xnPSoqylWsWDHXxIkTfXpd6c2ZM2f0zz7Xt99+a+sXLlxwZcmSxfXJJ5949tm3b5/ts2nTJh9eqX+6fPmyq3z58q5Vq1a5HnjgAdeQIUNsO/c5eY0YMcLVuHHjOF+Pjo52FSlSxPXGG294tunvIFu2bK6PPvoola4yfWjXrp3rqaee8trWsWNHV/fu3e177nXy0H8LPvvsM896fO7rTz/9ZO/bunWrZ5+vvvrKFRAQ4Dp+/HiSrocWpDQiMjJStm/fbs2HbjpJpq5v2rTJp9eW3ly8eNG+5s+f377qfddWpZj3XichLVmyJPc+EbS1rl27dl73U3Gfk5dOiqtPFnj88cet67h27dry3nvveV4/ePCgTcAb837r86e06577nTB/+ctf7DFYP//8s63v2rVLvvvuO3nooYdsnXudMuJzX/Wrdqvp/xfcdH/9/NQWJ7+dSRv/de7cOevnds8i7qbr+/fv99l1pTf67D6tidGuiWrVqtk2/T+gzrDufPiw3nt9DfG3ePFi6x7WLjYn7nPy+u2336zbR7vlX375ZbvngwcPtnusj3By39PY/k3hfifMyJEj7UnyGuj1Iev6b/Vrr71mXTuKe50y4nNf9av+gRBTYGCg/QGc1HtPQEKGa93Ys2eP/fWH5HX06FEZMmSI1QHoIAOkfNjXv5r/+c9/2rq2IOl/21qroQEJyefjjz+WRYsW2XM8q1atag841z+0tLCYe51+0cWWRhQsWND+MnGO6NF1fcgukm7gwIFWwLdu3Tq59957Pdv1/moX54ULF7z2594njHah6YCCOnXq2F9wumghthZY6vf6Vx/3OfnoqJ4qVap4batcubI9w1K57yn/piTdiy++aK1I+mxPHSnYs2dPG3DgfpA69zplxOe+6lfnQKZbt27ZyLak3nsCUhqhzeJ169a1fu6YfyHqeqNGjXx6bf5Oa/80HH322Weydu1aG6obk953HQkU897rNAD6QcO9j7/mzZvLjz/+aH9duxdt4dBuCPf33Ofko93EzukqtEamVKlS9r3+d64fEDHvt3YTaV0G9zthrl275vXgdKV/0Oq/0Yp7nTLic1/1q/7RpX+guem/8/q70VqlJElSiTeS1eLFi606/4MPPrDK/H79+rny5s3rOnXqlK8vza89++yzrjx58ri++eYb18mTJz3LtWvXPPv079/fVbJkSdfatWtd27ZtczVq1MgWJE3MUWyK+5x8wsPDXYGBga7XXnvN9csvv7gWLVrkypEjh2vhwoWefSZNmmT/hnzxxReu3bt3ux555BFX6dKlXX/++adPr93f9O7d21W8eHHXsmXLXAcPHnQtWbLEVbBgQddLL73k2Yd7nfhRrz/88IMtGkmmTJli3x8+fDje97VNmzau2rVru7Zs2eL67rvvbBRtt27dXElFQEpjpk+fbh8gWbNmtWH/mzdv9vUl+T39P11sy9y5cz376P/ZBgwY4MqXL599yHTo0MFCFJI3IHGfk9eXX37pqlatmv1hValSJde7777r9boOk37llVdchQsXtn2aN2/uioiI8Nn1+qtLly7Zf8f6b3P27NldZcqUcY0ePdp148YNzz7c68RZt25drP8+ayiN7339/fffLRDlzJnTlTt3bldoaKgFr6QK0P9JWhsUAABA+kINEgAAgAMBCQAAwIGABAAA4EBAAgAAcCAgAQAAOBCQAAAAHAhIAAAADgQkAAAABwISAL/z5JNPyqOPPurrywCQjgX6+gIAIKaAgIA7vj527Fh5++237SHEack333wjzZo1kz/++EPy5s3r68sBkEQEJABpysmTJz3fh4WFyZgxY7yeWp8zZ05bACAl0cUGIE0pUqSIZ8mTJ4+1KMXcpuHI2cXWtGlTGTRokAwdOlTy5csnhQsXlvfee0+uXr0qoaGhkitXLilXrpx89dVXXufas2ePPPTQQ3ZMfU/Pnj3l3LlzcV7b4cOH5eGHH7ZzBAcHS9WqVWX58uVy6NAhaz1S+ppes16jio6OlokTJ0rp0qUlKChIatasKf/+97+9Wp50///85z9So0YNyZ49u9x33312bQB8h4AEIF2YN2+eFCxYUMLDwy0sPfvss/L444/LX/7yF9mxY4e0atXKAtC1a9ds/wsXLsiDDz4otWvXlm3btsmKFSvk9OnT0rlz5zjP8dxzz8mNGzdk/fr18uOPP8rkyZMtXJUoUUI+/fRT20dbu7QVTLsBlYaj+fPny5w5c2Tv3r0ybNgw6dGjh3z77bdex37xxRflzTfflK1bt8o999xjQezmzZspes8A3IELANKouXPnuvLkyXPb9t69e7seeeQRz/oDDzzgaty4sWf91q1bruDgYFfPnj09206ePKlFS65NmzbZ+oQJE1ytWrXyOu7Ro0dtn4iIiFivp3r16q5x48bF+tq6devsvX/88Ydn2/Xr1105cuRwbdy40WvfPn36uLp16+b1vsWLF3te//33311BQUGusLCwO9wdACmJGiQA6YJ2T7llzpxZChQoINWrV/ds0y40debMGfu6a9cuWbduXaz1TAcOHJAKFSrctn3w4MHWMvX1119LixYtpFOnTl7ndfr111+txaply5Ze2yMjI63lKqZGjRp5vs+fP79UrFhR9u3bF8+fHkByIyABSBeyZMnita51PTG3uUfHaU2QunLlinVjaTeZU9GiRWM9x9NPPy2tW7e2eiENSdp9pt1i2qUXGz2H0v2LFy/u9Vq2bNkS/DMCSD0EJAAZUp06daxuKCQkRAID4/9PodYb9e/f35ZRo0ZZMbgGpKxZs9rrUVFRnn2rVKliQejIkSPywAMP3PG4mzdvlpIlS9r3OlXAzz//LJUrV070zwcgaSjSBpAhacH1+fPnpVu3blYYrd1qK1eutFFvMUNOTDpKTvc5ePCgFX5rF507xJQqVcpaqZYtWyZnz5611iMdPffCCy9YYbYWkes59H3Tp0+39ZheffVVWbNmjY1e0xFwWnDOZJiA7xCQAGRIxYoVk++//97CkI5w03olDUA6yWOmTLH/06j7arDSUNSmTRurU5o1a5a9pl1o48ePl5EjR1q908CBA237hAkT5JVXXrHuOPf7tMtNh/3HNGnSJBkyZIjUrVtXTp06JV9++aWnVQpA6gvQSm0fnBcAwAzcQJpFCxIAAIADAQkAAMCBLjYAAAAHWpAAAAAcCEgAAAAOBCQAAAAHAhIAAIADAQkAAMCBgAQAAOBAQAIAAHAgIAEAAIi3/wMOAstj/GePlgAAAABJRU5ErkJggg==", + "image/png": "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R8Bf//ycjQtQsBTgVgJwe/TVxQdw9gZsNJgBlEDu/jXgwTXdV8l5kppIEvhkzN/JONNVsAxQpBrgW09Xn8e5SN6Pm4jIgGheCVq2sE+ZMkUFM5UrV8a0adPU9njRsGFDFejMnz9fncv3N27ceOIxxo8fj08++UR9L48jOT1S/+f+/fsqCJKk6Pfffx/5svgpn0tgRio+GrhzErhzWrdMJIfMEmVaLnqMNPd09tHNEtkX1M2kyFe7AroEYnXYAVb2gLk1YGauC0jUkU+3rT85QdcxXb4mxABx4UBchK41yMMHut1uUvtIkpVlV5bc9iyS9F2gBOBeBvCqoquTVKgiywIQEcGA6gDpKwZAJiTxIRB2Gbh3EQi9qPsq5xFBuuBEKxJgSUK3q5/uq8xQSdBToDiTlomIDDkHiEgvWNoChSrojqfNGEXc1AVD0goiJlTX2V6O2DDdbE5C9D9fZYZHZpMk3yz10SEFHKX1h8wOyRZzmSmSJTeZWbJ99FW2+zsW1s0yqa+FtVl6IyIyIQyAiJ5FlpXcS+sOIiIyKtwLS0RERCaHARARERGZHAZAREREZHIYABEREZHJYQBEREREJocBEBEREZkcBkBERERkchgAERERkclhAEREREQmhwEQERERmRwGQERERGRyGAARERGRyWEARERERCaHARARERGZHAutB6CPUlNT1dfIyEith0JERERZlPa+nfY+/m8YAD1FVFSU+urt7a31UIiIiOgF3sednZ3/9T75UrMSJpmYlJQU3L59G46OjsiXL1+OR6cSWAUFBcHJySlHH5sy43Odd/hc5x0+13mHz7XhPdcS0kjw4+npCTOzf8/y4QzQU8iTVqRIkVz9HfIHzH9QeYPPdd7hc513+FznHT7XhvVc/9fMTxomQRMREZHJYQBEREREJocBUB6ztrbG+PHj1VfKXXyu8w6f67zD5zrv8Lk27ueaSdBERERkcjgDRERERCaHARARERGZHAZAREREZHIYABEREZHJYQCUh2bOnAlfX1/Y2NigZs2aOHz4sNZDMngTJ05E9erVVdVud3d3dOjQAQEBAZnuExcXh3feeQcFChSAg4MDXnvtNdy9e1ezMRuLr776SlVKf++999Kv8bnOObdu3cJbb72lnktbW1tUqFABR48eTb9d9q+MGzcOhQsXVrc3bdoUly5d0nTMhig5ORlj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", "text/plain": [ "
" ] @@ -478,7 +450,7 @@ } ], "source": [ - "plot_rps_dynamics([1/3, 1/3, 1/3])" + "plot_rps_dynamics([0.3, 0.3, 0.4], plot_average_strategy=True)" ] }, { From 50946523029d6620dd53fbe2cfd51603dfcc24ae Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 20 Oct 2025 13:35:30 +0100 Subject: [PATCH 173/240] cite OpenSpiel nb --- doc/tutorials/06_gambit_with_openspiel.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index c602dce9b..926e4e21c 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -19,7 +19,7 @@ "\n", "Note:\n", "- The version of OpenSpiel used in this tutorial is `1.6.1`. If you are running this tutorial locally, this will be the version installed via the included `requirements.txt` file.\n", - "- You can find an introductory tutorial for the OpenSpiel API on colab [here](https://colab.research.google.com/github/deepmind/open_spiel/blob/master/open_spiel/colabs/OpenSpielTutorial.ipynb)." + "- The OpenSpiel code was adapted from the introductory tutorial for the OpenSpiel API on colab [here](https://colab.research.google.com/github/deepmind/open_spiel/blob/master/open_spiel/colabs/OpenSpielTutorial.ipynb)." ] }, { From 73fb5332b1704739989ca83e56a82a6cd510284f Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 20 Oct 2025 13:43:58 +0100 Subject: [PATCH 174/240] better explanations --- doc/tutorials/06_gambit_with_openspiel.ipynb | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 926e4e21c..6bb302c7d 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -309,22 +309,22 @@ "source": [ "We can use OpenSpiel's dynamics module to demonstrate evolutionary game theory dynamics, or \"replicator dynamics\", which models how strategy population frequencies change over time based on relative fitness/payoffs.\n", "\n", - "Let's start with an initial population that is not at equilibrium, but weighted quite heavily towards scissors with proportions: 20% Rock, 20% Paper, 60% Scissors:" + "Let's start with an initial population that is not at equilibrium, but weighted towards scissors with proportions: 30% Rock, 30% Paper, 40% Scissors:" ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 42, "id": "cf1acdeb", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([ 0.08, -0.08, 0. ])" + "array([ 0.03, -0.03, 0. ])" ] }, - "execution_count": 11, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" } @@ -332,7 +332,7 @@ "source": [ "matrix_rps_payoffs = game_payoffs_array(ops_matrix_rps_game)\n", "dyn = dynamics.SinglePopulationDynamics(matrix_rps_payoffs, dynamics.replicator)\n", - "x = np.array([0.2, 0.2, 0.6])\n", + "x = np.array([0.3, 0.3, 0.4])\n", "dyn(x)" ] }, @@ -344,7 +344,7 @@ "`dyn(x)` calculates the rate of change (derivative) for each strategy in the current population state and returns how fast each strategy's frequency is changing.\n", "\n", "In replicator dynamics, strategies that perform better than average will increase in frequency, while strategies performing worse will decrease.\n", - "In our rock-paper-scissors example, the performance of each strategy depends on the distribution of strategies in the population. For example, if there are many players using scissors, then rock will perform well and increase in frequency, while paper will perform poorly and decrease." + "In our rock-paper-scissors example, the performance of each strategy depends on the distribution of strategies in the population. For example, if there are many players using scissors, then rock will perform well and increase in frequency, while paper will perform poorly and decrease. Over time, as the population proportions change, the performance of each strategy will also change." ] }, { @@ -398,7 +398,9 @@ "id": "8569aef4", "metadata": {}, "source": [ - "If we start with the initial population already in equilibrium (1/3 each), the frequencies will remain constant over time:" + "Through the dynamics, we can see that the population proportions oscillate around the equilibrium point (1/3, 1/3, 1/3) without converging to it, because the best strategy depends on the likelihood of the opponents' actions, as defined by the current population proportions.\n", + "\n", + "However, if we start with the initial population already in equilibrium computed by Gambit (1/3 each), the frequencies will remain constant over time:" ] }, { @@ -427,9 +429,7 @@ "id": "a1f6662e", "metadata": {}, "source": [ - "Through the dynamics, we can see that the population proportions oscillate around the equilibrium point (1/3, 1/3, 1/3) without converging to it, because the best strategy depends on the likelihood of the opponents' actions, as defined by the current population proportions.\n", - "\n", - "However, if we plot the average strategy proportions over time, we can see that they begin to converge to the equilibrium point:" + "Though the strategies themeselves never reach equilibrium when stating from an unbalacned initial population, we can plot the average strategy proportions across steps (over time), where we can see that they begin to converge to the equilibrium point:" ] }, { From 4fdad5be58d74436024297b0486cbede557dab12 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 20 Oct 2025 13:46:24 +0100 Subject: [PATCH 175/240] better y axis label --- doc/tutorials/06_gambit_with_openspiel.ipynb | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 6bb302c7d..cb4dde92e 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -349,13 +349,13 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 44, "id": "b9a352c5", "metadata": {}, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "
" ] @@ -386,7 +386,10 @@ " plt.plot(y[:, 1], label=\"Paper\")\n", " plt.plot(y[:, 2], label=\"Scissors\")\n", " plt.xlabel(\"Time step\")\n", - " plt.ylabel(\"Frequency\")\n", + " if plot_average_strategy:\n", + " plt.ylabel(\"Strategy frequency average up to time step\")\n", + " else:\n", + " plt.ylabel(\"Strategy frequency\")\n", " plt.legend()\n", " plt.show()\n", "\n", @@ -434,13 +437,13 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 45, "id": "189f898f", "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAGwCAYAAABB4NqyAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjUsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvWftoOwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAhWRJREFUeJzt3QdYlWUbB/C/7A0igoIgiHvnXrm3uRqOTM090izT0i9H2TC1rBxpWW7LlaaWe+89c+AWHAiibNl81/0cIXAUynjP+P+u6w3e9xwOT0c95z7Pcz/3nS81NTUVRERERCbETOsBEBEREeU1BkBERERkchgAERERkclhAEREREQmhwEQERERmRwGQERERGRyGAARERGRybHQegD6KCUlBbdv34ajoyPy5cun9XCIiIgoC6S0YVRUFDw9PWFm9u9zPAyAnkKCH29vb62HQURERC8gKCgIRYoU+df7MAB6Cpn5SXsCnZyctB4OERERZUFkZKSawEh7H/83DICeIm3ZS4IfBkBERESGJSvpK0yCJiIiIpPDAIiIiIhMDgMgIiIiMjnMASIiInpMcnIyEhMTtR4GPcbS0hLm5ubICQyAiIiIMtSRCQ4ORnh4uNZDoWdwcXFBoUKFsl2njwEQERHRI2nBj7u7O+zs7FgMV8+C09jYWISEhKjzwoULZ+vxGAARERE9WvZKC34KFCig9XDoKWxtbdVXCYLkzyk7y2FMgiYiIgLSc35k5of0V9qfT3ZztBgAERERZcBlL9P482EARERERCZHLwKgmTNnwtfXFzY2NqhZsyYOHz6cpZ9bunSpigQ7dOjwRKLUuHHjVIKUrBc2bdoUly5dyqXRExERkaHRPABatmwZhg8fjvHjx+P48eOoVKkSWrRokZ7l/SzXr1/HiBEj8PLLLz9x2+TJkzFt2jTMnj0bhw4dgr29vXrMuLi4XPw/ISIiMk5vv/32E5MNhk7zAGjq1Kno168fevXqhbJly6qgRRKc5s6d+6+Z+t26dcOnn36KYsWKPTH7891332HMmDFo3749KlasiIULF+L27dv4448/oKWI+Ajcir6FB3EPEJ8cr8ZKRESUEwGKrIjIIcUC/fz88OGHH/KDv75ug09ISMCxY8cwevTo9GtmZmZqyerAgQPP/LkJEyao7W99+vTBnj17Mt127do1VcdBHiONs7OzWlqTx+zSpcsTjxcfH6+ONJGRkcgNqy+txjfHvkk/t8hnAVtLWzhZOaGAbQEUtC0IN1s39dXL0QtFHYvCx8kHztbOuTIeIiIyHi1btsS8efPU7ih5b+3Zs6cKiCZNmqT10PSSpgHQvXv31GyOh4dHputyfuHChaf+zN69e/HLL7/g5MmTT71dgp+0x3j8MdNue9zEiRPVbFJuS0EKbMxtEJesi8iTUpMQlRClDpkZehYXaxcUdSqK0q6lUca1DEoXKI0SLiVgZW6V62MmIjJlMlP/MDFZk99ta2n+XDuerK2tVYVk4e3trSYCtmzZogIg+ZA/cuRIlTsrH/KrVauGb7/9FtWrV0//+bNnz+Kjjz7C7t271f935cqVMX/+fPj7+z/xu44cOYLWrVurVBT5GUNkUIUQo6Ki0L17d8yZMwdubm459rgyAyV5SGnkL4f85clpvcv3VkdySjIeJj1ETGIMYpNi1dJY2MMwhD4M1R2xoQiKCkJgZCBCHoYgPD4c4aHhOBV6KtPsUSnXUqjiUQVV3aviJY+X4GrjmuNjJiIyZRL8lB23SZPffW5CC9hZvdjb9N9//439+/ejaNGi6lyWw37//XcsWLBAXZs8ebLKjb18+TJcXV1x69Yt1K9fHw0bNsT27dvh5OSEffv2ISkp6YnHlttfffVV9Rj9+/eHodI0AJIgRqo43r17N9N1OU+LYjO6cuWKSn5u27Zt+rWUlBT11cLCAgEBAek/J4+RsUy2nEs0+6yoWY68Ym5mDgcrB3X8l9jEWBUMXQm/ggv3L+D8/fPqqwRFZ8POqmPRuUXqvsWci6GuV13U86qHah7VOENERGRC/vzzTzg4OKigRWZ8JKVkxowZiImJwaxZs9RsTqtWrdR958yZo2aHZEVFZoZkN7aki8gMkeQQiZIlSz7xO1avXo0ePXrg559/RufOnWHINA2ArKysULVqVWzbti09u1wCGjkfMmTIE/cvXbo0zpw5k+maJDvLzND333+vZm3kD06CIHmMtIBHZnRkN9igQYNgaOws7dRMjxyti7VW12Rq8k7MHZwIOYHjd4/jeMhxXA6/jKsRV9UhAZGthS1qFKqBBt4N0MSnCWeHiIhecBlKZmK0+t3Po1GjRirQkYBHlrdkYuC1117D6dOnVV5Q3bp10+9raWmJGjVq4Pz58+pc0kpkV3Va8PM08j4qQdbKlSuNYkeY5ktgsvQkiVqyHil/GLKDS/7wZFeYkEjTy8tL5elInaDy5cs/0RVWZLz+3nvv4fPPP0eJEiVUJvzYsWPh6elpFH9gQtaEPR081dGmWBt1LTwuHIeDD2Pvrb3qkKW0XTd3qeOLg1+gWqFqaF60uQqGJOGaiIiy9nr7ostQeU1KvhQvXlx9LzuppayMzPBkzPP5rx5b/0ZygaRHmjx2mzZt/jVYMgSa/6nKFFpoaKgqXChJyjJrs3HjxvQk5sDAQDWN9zxkrVOCKFmblMZ29erVU48pAZSxcrFxQXPf5uqQGaKLDy5iz6092HJjC86FncOhO4fU8cWhL1DHsw46FO+ARt6NuExGRGSE5H3zf//7n5pkkDwfWXGRnJ60nKDExESVyCwTBkJKxkh+kFx/VmAjaSurVq1SeUKdOnXC8uXLDToIypfKYjRPkCUzWQuNiIhQiWCGTnKIJBDafH2zyhlKI9vrW/u1RsfiHVGmQBlNx0hEpDWpmSOlVGTlwNA+MEsdIPnAn7HeneQCSZcFCXJu3ryJFStWqBkhHx8flcC8du1alVubP39+hIWFoVSpUmjQoIHaGCTvgQcPHlQrM3I94+PLZIUst5UrV07lDMlSm778OT3P+7fmM0CU+7wdvdN3oF2PuI61V9ZizZU1CIkNwW8XflNHpYKV0LV0V7VMZmluuBE9ERHpSGAi+bQS7EjAIDm2spNa8marVauGTZs2qeBHyNKW7O6ShGgJgmSDkqzIZMwbSiN5tnJfmQmSosS//vqrur+h4QyQCcwAPY1sxZclsdWXV2Nr4FYkpei2OhawKYDXS76OzqU6o6BdQa2HSUSUZwx5BsiUxHEGiLK7Fb+OVx113Ht4DysvrsSKgBWq7tCPp3/E3L/nop1/O/Qq30sVYSQiIjImmvcCI+1J+42BlQZi4+sb8XWDr9VyWGJKIn6/9Dvarm6L4TuH4+y9f3KHiIiIDB0DIEpnaWaJFr4tsLj1YixouQD1i9RHKlJVAnWXv7pgyLYhakcZERGRoeMSGD2VtNiQ49KDS5j39zz8de2v9LpCjb0bY3Dlwao4IxERkSHiDBD9qxL5S+DLl7/EmvZrVNHFfMiH7UHb8fq61zFy10i1xZ6IiMjQMACiLPF19sVXL3+FP9r/gVa+rVQgtPH6RrT7ox0mHZ6kKlETEREZCgZA9FyKuRTD5AaTsbztclVRWrbPLz6/GK1XtVY7xxKSE7QeIhER0X9iAEQvpLRrafzY7Ef82PRHlMpfClGJUfj22LfosKYDdgXt0np4RERE/4oBEGWL1BFa9soyfF73cxS0LahygoZsH4LBWwerqtNERET6iAEQ5UhRxfbF22Ndx3WqcKKFmYVqxNpxbUd8f/x7xCXFaT1EIiKjJr26pHO9HNL4VLrCT5gwQfUDo6djAEQ5xt7SHsOrDseqdqtQ16uuyg/6+czP6LimI/bf2q/18IiIjFrLli1x584dXLp0CR988AE++eQTTJkyRbPxJCYmQp8xAKIc5+fsh1lNZuG7Rt/B3c4dN6NvYsDWAfho90eq7QYREeU8a2tr1ai0aNGiGDRoEJo2bao6vk+dOhUVKlSAvb09vL29MXjwYERHR6f/3Pz58+Hi4qI6vZcoUUL112rRogWCgjKXOVmzZg2qVKmibi9WrBg+/fTTTDNMMvs0a9YstGvXTv2uL774AvqMARDlCvmH0MSnCdZ2WIu3yrwFs3xmWH9tvdo2v+byGrAHLxEZBHmtSojR5sjm66StrS0SEhJgZmaGadOm4ezZs1iwYIHq5P7hhx9mum9sbKwKWBYuXIh9+/YhPDwcXbp0Sb99z5496NGjB4YNG4Zz587hxx9/VIHT40GOzDp17NgRZ86cQe/evaHP2A3eRLvB5zXpJfbpgU9x/v55df6y18sYX3s8POw9tB4aEdGzu4xLIPKlpzYD+t9twMo+yzlAErTILI68rW/btg2vvPIKhg4d+sQy2MqVKzFw4EDcu6ebkZdAplevXjh48CBq1qyprl24cAFlypTBoUOHUKNGDTWb1KRJE4wePTr9cRYvXqwCqdu3b6d/8H3vvffw7bffwhC6wXMGiPJEObdy+LXNrxhWZZjqOaaSpNd0xOpLqzkbRESUA/788084ODiooKBVq1bo3LmzmpHZunWrCl68vLzg6OiI7t27IywsTM36pLGwsED16tXTz0uXLq2Wxc6f131oPXXqlEqqlsdPO/r166dyjjI+TrVq1WAo2AuM8ozsDutboS8aeTfC2H1jcebeGYzbPw6bb2zGhDoTUNCuoNZDJCLKzNJONxOj1e9+Do0aNVI5OLILzNPTUwU1169fVzNBkhMky1Wurq7Yu3cv+vTpo5bH7Oyy9jskZ0hyfl599dUnbss4CyO5P4aCARDlOX8XfyxstRALzy3EzBMzsffWXry69lW1JNa0aFOth0dE9I98+bK8DKU1CT5k+3tGx44dQ0pKCr755huVCySWL1/+xM9KMvPRo0fVcpcICAhQS2qyDCYk+VmuPf74hoxLYKTZbFDv8r1VSw2pKh0eH473d76PMXvHIDrhn90JRET04iRgke3o06dPx9WrV7Fo0SLMnj37iftZWlqqfCHJ+ZGgSXKKatWqlR4QjRs3TiVIyyyQJFPL0tjSpUsxZswYGCoGQKT5bNCvrX9Fn/J9VIPVNVfWqE7zJ0NOaj00IiKDV6lSJbUNftKkSShfvjyWLFmCiRMnPnE/WQr76KOP8Oabb6Ju3boqx2fZsmXpt8u2eMkx2rx5s8oVkuBIkp1ly72h4i6wp+AuMG0cu3sMH+/9GLeib8E8nzneqfyOmiWSStNERLnt33YXGbP58+er3Vuy5GUIuAuMjE5Vj6pY2XYlWvu1RnJqMqadmKYKKIbGhmo9NCIiMjIMgEivOFg54KuXv8JndT+DrYUtDt05pJbEJFGaiIgopzAAIr0jxbQ6FO+Apa8sRan8pXA/7j4GbR2EacenITklWevhEREZlbcfFVE0NQyASG8Vcy6GJW2WoHOpzup8zpk5GLBlAPuJERFRtjEAIr1mbW6NMbXGYHL9ybolseBD6LSuE44GH9V6aEREZMAYAJFBaOXXCkvbLIW/sz9CH4ai7+a+WHB2AdtoEBHRC2EARAajmEsx1U/slWKvqF1iXx/9Gh/t/gixif/0oSEiIsoKBkBkUOws7fBlvS/xcc2PYZHPAhuub8BbG95CUGSQ1kMjIiIDwgCIDHKXWJfSXfBLi19QwKYALj24hM5/deZWeSIiyjIGQGSwqnhUwbJXlqFiwYqISojC4K2DMe/vecwLIiJ6gWrQLi4uMCUMgMigedh7YF6LeXi95OtIRSqmHpuq2mnEJ8drPTQiojwVGhqKQYMGwcfHB9bW1ihUqJDq4bVv377//NnOnTvj4sWLMCUWWg+AKLuszK0wrtY4lMxfEpMOT8K6q+twI/IGvmv0HQraFdR6eEREeeK1115DQkICFixYgGLFiuHu3bvYtm0bwsLC/vNnbW1t1aEFGbOVlVWe/17OAJHR5AV1Ld0Vs5vNhpOVE07fO40uf3bB2XtntR4aEVGuk0rOe/bsUV3fGzVqpLq016hRA6NHj0a7du3S7zNgwAB4eHioJqLSHV46vD9tCezUqVPqcRwdHVVT0apVq+LoUV39tRs3bqBt27bInz8/7O3tUa5cOaxfvz79Z3ft2qV+t8xCFS5cGKNGjUJSUlL67Q0bNsSQIUNUA1Y3Nzc1SyWpC5988kn67JWnpyfefffdXH3OOANERqVW4Vr4rc1vGLp9KK5GXMXbG9/GxJcnomnRploPjYgMkLwxP0x6qMnvluKv8uEuKxwcHNTxxx9/oFatWiqIyCglJQWtWrVCVFQUFi9eDH9/f5w7dw7m5uZPfbxu3brhpZdewqxZs9R9Tp48CUtLS3XbO++8o2Ztdu/erQIgeRz53eLWrVto3bq1aq+xcOFCXLhwAf369VMBlwQ4aWSWSpbr0pbnfv/9d3z77bdYunSpCqiCg4NVEJabGACR0fFx8sHi1osxcvdI7Lu1D+/vfB/vVXkPvcv3zvKLCRGRkOCn5q81Nfndh948pEp/ZIWFhYWaxZFgY/bs2ahSpQoaNGiALl26oGLFiti6dSsOHz6M8+fPo2TJkupnZJnsWQIDAzFy5EiULl1anZcoUSLTbbLcVqFChSce54cffoC3tzdmzJihXm/l52/fvo2PPvoI48aNg5mZWfrjTZ48Of3n/vrrL5Wz1LRpUxVoyUyQzCLlJi6BkVFytHLEjMYz1LKY+O74dxi/fzwSkxO1HhoRUa6QoESCjbVr16Jly5bYuXOnCoQkMJIZnCJFiqQHP/9l+PDh6Nu3rwpIvvrqK1y5ciX9Nlma+vzzz1G3bl2MHz8ep0+fTr9NAqzatWtn+rAp94uOjsbNmzfTr8mSWkZvvPEGHj58qIIpCeJWr16dadksN3AGiIyWhZkF/lfzfyjqVBSTj0zG6surcSv6FqY2nApna2eth0dEBkD1IHzzkGa/+3nJUlOzZs3UMXbsWBXESJAyYsSI53qcTz75BG+++aaamdmwYYN6DFme6tixo3pMyduR2zZv3oyJEyfim2++wdChQ7P8+LJ0lpHMGgUEBKiZqi1btmDw4MGYMmWKyidKW3rLaZwBIqPXrUw3TG88HXYWdjgcfBg9NvRQgRAR0X+RmQxZhtLiyIkl+7JlyyImJkYtg8kMzPNsdS9ZsiTef/99FeS8+uqrmDdvXqaAZeDAgVi1ahU++OADzJkzR10vU6YMDhw4kKkem+T5SDK1zED9G9mFJsnV06ZNU7NX8jhnzpxBbmEARCahfpH6WNhqIdzt3FVydLe/uuFsGHeIEZFxkK3ujRs3VgnOsiR17do1rFixQuXZtG/fXuUD1a9fXy2TyQzLtWvX1MzOxo0bn3gsWYqSXVoShMiOLwlgjhw5ooIbIbu3Nm3apB7j+PHj2LFjR/ptMnMTFBSkZoMkAXrNmjVq9kiW1NLyf55Glul++eUX/P3337h69ar6/5CASHaz5RYugZHJKOVaCktaL8E7297BxQcX0WtjL3zd4GsVHBERGTLZhVWzZk21k0rydRITE9UsjeTT/O9//0vfaSVLYV27dlWzQsWLF1f5PY+TXV8SUPXo0UPVEpKt6jID9Omnn6rbk5OT1U4wmVGSLfKSbyS/V3h5eakt8ZJAXalSJbi6uqJPnz4YM2bMv45ftuDLWCRQkseXBOt169ahQIECyC35Utk34AmRkZFwdnZGRESE+sMl4xKdEI3hO4fjwJ0DMMtnphqrdirVSethEZHG4uLi1KyGn5+fyqUhw/tzep73by6BkclxsHLAzKYz0bF4R6SkpuCzg59hxokZ7CFGRGRCNA+AZs6cCV9fXxXFyfSd1Cl4Fkm2qlatmpoqkwzyypUrY9GiRZnuI1vtZO1Skq1k/VASwKQmAlFGlmaW+LTOpxhUaZA6//H0j/jkwCdISsndbZdERKQfNA2Ali1bptb7JEFKEqlkvVC21oWEhDz1/rKW+PHHH6vMcEny6tWrlzokGSuNPJ4kdUkCldQjkGQtCYikLgJRRrLDYnDlwRhXe5xaClt1aRXe2/GeZlVfiYjIRAKgqVOnqgQtCWLSZmrs7Owwd+7cp95f+odIDQLJNpcy3sOGDVNb+/bu3Zt+n/3796Nnz57qvjKz1L9/fxVY/dvMEpm2N0q+gW8bfgtrc2vsurkLfTf1RXhcuNbDIiIiYwyApI/IsWPHVJXJ9MGYmalzmeH5L5KvIV1upXCSbO1LU6dOHTXbI/1I5D6yPU/qHjRv3vyZjxUfH68SpzIeZFoa+zTGnOZz0hup9tzYE8ExwVoPi4g0wHxA0/jz0SwAunfvntrqJl1pM5JzaYL2LJLZLdv9rKys0KZNG0yfPl1VvEwj5zKbJDlAch/Znid5RhmDpMdJFUvJGk87ZOsgmZ6X3F9StYI87DxUraDuG7qrr0RkGtIqDsfGxmo9FPoXaX8+2a0QbXB1gKSapPQ0kWRnmQGSnB/pHSJLXmkB0MGDB9UskBRQkm61Uq/A09Mz02xTRqNHj1aPk0ZmgBgEmSZ/F38sarUI/bf0x/XI6+i5oSd+aPIDKhTUNf0jIuMl9W9kk01aHqqkZLCBsn7N/EjwI38+8uf0rE72el8HSJbA5C/XypUr0aFDh/Trkr8THh6uqkdmhfQkkaqTkggt1StlBkeaqMnsUMb7SMGmp1W8fBrWAaIHcQ8weOtg/B32t+rH812j71DHs47WwyKiXCZvibIKIe9DpJ8k+JHO8U8LTp/n/VuzGSBZnpJusDKLkxYApaSkqHPZtZVV8jOSwyOk8qUcj5fblihR7keUVflt8uPnFj+rXWEH7xxU1aMn15+MZkX/WW4lIuMjb6qFCxeGu7u7ej8h/SLLXtmd+dGLJTBZdpIZH6ntU6NGDXz33XeqPLfsChNShlvKakuOjpCvcl/ZASZBj5TbljpAs2bNUrdLtCf9TqQEd1oPEekku3DhQrXjjOh52FvaY2aTmRi1ZxS23NiCEbtG4JPan6BjiY5aD42Icpm8yebUGy3pJ00DoM6dOyM0NBTjxo1TU45S2FCWqdISowMDAzPN5khwJI3WZDlLApzSpUurej/yOGmWLl2qcnq6deuG+/fvqyDoiy++UF1riZ6XlbkVptSfggkHJ6g6QeP2j0N0YjS6l+2u9dCIiCgb2AvsKZgDRI+TfyZfH/0aC88tVOcDKw3E4EqDmSBJRKRH2AuMKIdJoDOi2ggMqazLT5t9ajYmH5nMeiFERAaKARDRcwRBAyoNwKgao9T54vOL8emBT5Gckqz10IiI6DkxACJ6Tt3KdMOEOhNU/7DfL/2O/+39H5uoEhEZGAZARC9AdoJNqj8JFvkssP7aenyw8wMkJCdoPSwiIsoiBkBEL6ilb0tVINHKzArbg7bj3e3vspM8EZGBYABElA0NvBtgZtOZqlr0vtv7MGTbEMQmso8QEZG+YwBElE21CtfC7KazVeHEw8GHMXDrQEQlRGk9LCIi+hcMgIhyQBWPKpjTbA4crRxxIuQE+m/uj4j4CK2HRUREz8AAiCiHSMf4X5r/AhdrF9VEte/mvrgfd1/rYRER0VMwACLKQWUKlMHcFnPhauOKC/cvoM+mPrj38J7WwyIioscwACLKYSXyl8D8lvPhbuuOy+GX0XtTb4TGhmo9LCIiyoABEFEu8HP2w7yW8+Bh54FrEddUEHQ35q7WwyIiokcYABHlEh8nHxUEFbYvjOuR19FrUy/cib6j9bCIiIgBEFHu8nb0VsthXg5eCIoKUkHQrehbWg+LiMjkMQAiymWeDp4qCPJx9FHBT++NvXEz6qbWwyIiMmkMgIjyQCH7Qmp3WFGnorgdc1vlBMmMEBERaYMBEFEe8bD3UEGQr5Mv7sTc0QVBkQyCiIi0kC81NTVVk9+sxyIjI+Hs7IyIiAg4OTlpPRwyMrIlvs/mPmp3mLude/rMEOW9uMRkhMUk4EFMQvrXqPgkxCUk42Gi7ohPTHni5yzN88HG0hy2VuawffQ1v50V8ttZIr+9FVztrOBsawkzs3ya/H8RmarI53j/ZgD0FAyAKLdJcUQpkng14qoKgua1mKd2jVHOkpe3kKh4XLobjUshUQi6/xC3wmNx84F8fYjw2MRc+90SJHk42cDTxRZeLrbwdLFBUVd7FCsohwNc7a1y7XcTmapIBkDZwwCI8ioI6rupL65EXGEQlAOSklNwKSQaZ25G4NTNcJy/E6nOo+KS/jNQkdkbCUjkcLSxeDSro/tqbWmGx+dxklJS8TAhGbEJyWoWKSYhSQVTD2ITcF9mkf7jdwoXO0v4F3RA2cJOKOvppL6WKuSoZpaI6MUwAMomBkCUVxgEvbiY+CQcu/EAB6+G4fC1+/j7dgTinrJcZW6WD0UL2KF4QQf4utmr2Rg5irjaorCzLZxsLJAvX84uVSUkpeBedDxuhz/E7Yg49fXmg1hcvxeLq6HR6trTyIpZSQ9HVCmaHy95u6ivfgXsuZRGlEUMgLKJARDlJQZBWZOckoqTQeHYGRCCfZfv4fTNCDUTk5GDtQUqeDmjYhFnlPdyVsGEr5sdrC30a1ZFZo+u3YvBxbtRaqbq3J1InL0dqWaPnjZTVNPPFbWLFUBtfzeU9HDI8YCNyFgwAMomBkCU1xgEPV1UXCJ2BIRix4UQ7LoY+kSAIDM5tYoVQM1irqjikx/F3Ax3tkReioMj43AqKBzHA8NxIvCBCvLikzLPahWwt0Kd4m5oWLIg6pcsiIKO1pqNmUjfMADKJgZApHUQJD3EJAjydvKGKQY9286H4M/Td7D7UqhaTkoj+Tnypt+gZEE1I+LtagdjlpicgjO3InDgSpha6jty/f4Ty3zlvZzQsKQ7mpX1UDNfnB0iUxbJACh7GACRPuwOSyueKO00jJ280e8MCMXKY0Fqxidj0CO7puTNvXEpd5UTY2luuuXL5HmRZcDdF0Ox82II/r4Vmen2ws42aF7WAy3KFUJ1P1eTfq7INEUyAMoeBkCkdRAkRRKlTpA0UpUgqIhjERijC8GRWHn0Jv44eQv3ov9Z3vIvaI82FQqjdcXCKOXhyFmNZwiJisPui/ew/cJdFUDKrrQ0sqOtZflCaFvREzX8XFUyOJGxi2QAlD0MgEgfiiVKECRd5D3tPTG35VzVUNUYxCclY/2ZO1h44AZOBIanX3dzsMarVbzQ8SUvlC7EoOd5yXZ8SQ7ffPYutp6/qwo7pnF3tEbrCoXVc8tlMjJmkQyAsocBEOljEDSv5TzVWNVQyVbwJYduYOnhoPQ3Z6nB06S0B96oVkTl9nDJJudqIh28eh/rTt3GxrPBiHj4T8HH4u4OeK1KERUMFXK20XScRDmNAVA2MQAifRESG6KCoBuRN9QMkHSVl9wgQ3LudiR+2n0F607fUVvZRSEnG3Sr6YMuNXy4iykP8ob2Xg7FHyduY9PZ4PRdZbIiVq9EQXSt7o2mZT0YfJJRYACUTQyASJ/cjbmLXpt6qe7xkhAtOUH6HgTJy4rsXJq9+6pK2E1Tq5gretb2VUnNFnzDzXORcYlYf/oOVh2/hcPX76dfd3OwwmtVi6BLdR/4udlrOkai7GAAlE0MgEjfBMcE4+2Nb+NW9C3VOFWCIKkXpG/k5WT3pXv4buvF9PwemWloU9ETA+oXU8UJST/cCIvB8qNBWH70JkKj4tOv1yvuhu61i6JJaXcGqWRwGABlEwMg0ke3o2+r5TAJgnydfFUQVNCuIPSBvIzseRT4SBE/YW1hhs7VvdG3XjH4FDDuej2GXoJg+4UQ/HY4UBWbTHtHkCKTb8oyZXVvFHDgMiUZBgZA2cQAiPSVBD+9NvbCnZg78HP2U0GQm62bpmOS4nyTNlzA0RsP0gOft2oVxYAGxeDuyCRbQxJ0PxZLDgVi2ZFAPIjVJU5bWZihQ2VP9KlXTDVrJdJnDICyiQEQ6TPJBZIg6G7sXfg7++OXFr+ggG2BPB/H5ZAoTNoYgC3n7qa/UUpi86AG/nB3YuBj6FvqpRL3wgPXVTuONC+XcEPven5oUKKgwbYcIeMWyQAoexgAkb4LjAxUQVDIwxCUyF8CvzT/Bflt8ufJ7w6JjMO3Wy9i2ZEgyKYuKbDXqZo33mtaAh4MfIyKvD0cD3yAX/Zew8a/g9Wftyjh7oABDfzRrpKnCnyJ9AUDoGxiAESG4HrEdbU7TCpHl8pfSs0EOVs752oBw7l7r2PG9kuIeVRxWNoufNiytKotQ8a/PDZ//3UV+EbHJ6W33uhTz0+VM3CwttB6iERgAJRNDIDIUEjPsN4beyMsLgxlXMtgTvM5uRIESauFCevO4XpYrDqv7O2CMW3KoJqva47/LtL/rfRLDgZi7r5r6bvHnGws8HZdP/Sq44v89lZaD5FMWCQDoOxhAESG5Er4FbU77H7cfZQrUA4/Nf8JTlZOObZV+pO1Z1WDUiFFC0e3Ko0Olb2YA2LiZEZw9fFb+Gn3VVy9F6Ou2VmZo3utoujzsh8T4EkTDICyiQEQGZqLDy6qLvLh8eGo6FYRPzb7EQ5WDtmqHjxnz1VM23ZJVQ6WlhWS/Dq0cQkudVAmKSmpqt3GjO2Xce5OZPpOwK41fDCwgT/bbVCeYgCUTQyAyBAF3A9An819EBEfgcoFK2N2s9mwt7R/oW3t/1t1BpdCotV53eIF8Fn78ihWkHk+9GzyVrIjIATTt19OL4IpCdJvMhCiPMQAKJsYAJGhOhd2Dn0390VUQhSquFfBrKazYGdpl+XcjonrL6iCeKKAvRXGvlIW7St7sns4ZZm8pey7HIbvt13EkesPMgVCgxuyRALlLgZA2cQAiAzZ2Xtn0W9zP0QlRqF6oeqY2WQmbC1s//VndgaEYPSqM7gTEafOpfrvqFal4WLHhFZ6MfLWsv9KmKoOnhYIydJYzzq+akbIlcnSlAsYAGUTAyAydKdDT6P/lv6ISYxBzcI1MaPxDNhYPPnJO+JhIj7/8xxWHLupzosWsMOk1yqiVrG8L6xIxh0ITd1yEcceVQu3tzJXOWV9Xy4GZ1tLrYdIRoQBUDYxACJjcDLkJAZsGYDYpFjU8ayDaY2nwdr8n55O0qX9w5WnERwZB1nheruOL0a2KAU7KyY5U86Tt5qdF0PxzeYA/H0rMn37/KCGxdXfPVsrc62HSCb2/q15Cc+ZM2fC19cXNjY2qFmzJg4fPvzM+65atQrVqlWDi4sL7O3tUblyZSxatOiJ+50/fx7t2rVTT4Lcr3r16ggM1OU1EJmKyu6VVQ6QLH/tv70f7+14DwnJCarNgWxt7zH3sAp+/NzssXxAbYxvW47BD+UaySNrVMod64bUw+y3qqKkhwMi45IwaeMFNJiyA4sP3lCNWYnyiqYzQMuWLUOPHj0we/ZsFfx89913WLFiBQICAuDu7v7E/Xfu3IkHDx6gdOnSsLKywp9//okPPvgAf/31F1q0aKHuc+XKFdSoUQN9+vRB165dVQR49uxZ1KpV66mP+TScASJjciT4CAZvHYy45DhUcauDmwGdcCVEl+vTs3ZRjGpVhp++Kc8lp6Rizclbamns5oOH6UuwI5qXwisVCzPxnox7CUyCHpmdmTFjhjpPSUmBt7c3hg4dilGjRmXpMapUqYI2bdrgs88+U+ddunSBpaXlU2eGsooBEBmbA7cOYNC2IUhOTUBiVFk4RPTGN29UQYOSBbUeGpk4Kai49HAQpm+/hHvRCepaxSLOKgm/jr+b1sMjA2MQS2AJCQk4duwYmjZt+s9gzMzU+YEDB/7z5yVu27Ztm5otql+/fnoAJbNBJUuWVDNCMuMjQdYff/zxr48VHx+vnrSMB5GxkHYFP2w0Q9SNt5CaYgFLx3OoWXM96hR30XpoRLC2MFc7w3aNbIT3m5ZUCdLSgf7NOYfw9rzDuBDM12PKHZoFQPfu3UNycjI8PDwyXZfz4ODgZ/6cRHUODg5qCUxmfqZPn45mzZqp20JCQhAdHY2vvvoKLVu2xObNm9GxY0e8+uqr2LVr1zMfc+LEiSpiTDtkForIGOy5FIpW3+/Bnkv3YJVQBm/6joWlmSV239qOUbtHISlF19SSSGv21hYY1rQEdo5shB61i8LCLB92BoSi9fd78NHK07gbqVu2JcopBpfx6OjoiJMnT6pAR2aAhg8fjmLFiqFhw4ZqBki0b98e77//vvpeEqX379+v8owaNGjw1MccPXq0epw0MgPEIIgMmSSTfrvlImbtugJZ5C7l4YiZ3V5CcXdH1LvphmE7hmHzjc0w32OOL1/+EhZmBvdSQEZK+s1NaF8ever6YcqmC1h/JhjLjgZh7anb6F+/mDokWCIy2BkgNzc3mJub4+7du5muy3mhQoWe+XOyTFa8eHEV2EgC9Ouvv65mcNIe08LCAmXLls30M2XKlPnXXWDW1tZqrTDjQWSoQiLj0G3OIfywUxf8dKvpgzVD6qrgR9QvUh/fNvxWBT0brm/Ax3s/RnJKstbDJspEdif+0K0qfh9UG1V8XPAwMRnfb7uEhl/vxLIjgSqJmsggAyBZwqpataqaxUkjMzhyXrt27Sw/jvyM5PCkPaYkVUteUEYXL15E0aJFc3D0RPrp4NUwtJ62F4ev31dNS2e+WQVfdKwAG8vMu7waejfE1w2+hkU+C6y/th5j941lEER6qWpRV/w+qA5+6FYFPq52Kqfto9/PoM20Pdh3+Z7WwyMDpuk8oiw79ezZU9X2ka3rsg0+JiYGvXr1UrfLFnkvL6/0GR75Kvf19/dXQc/69evVbq9Zs2alP+bIkSPRuXNnlRjdqFEjbNy4EevWrVNb6ImMlWwK+Gn3VUzeFKA+GZcu5KjeMP6tgWkTnyaY0mAKRuwagXVX16ltxxPqTIC5GbfEk36Rv5utKxRG0zIeWHjgOqZtu4QLwVHo9vMhNCntjtGty6C4O5v1kgEFQBKohIaGYty4cSrxWZa1JGBJS4yWZStZ8kojwdHgwYNx8+ZN2NraqnpAixcvVo+TRpKeJd9HgqV3330XpUqVwu+//4569epp8v9IlNui4hIxYsUpbDqrW05+9SUvNeuTldo+TYs2xeT6k/Hh7g+x9spa5EM+TKg7AWb5NK+RSvQEaaoq7TNeq1JELYctOngD2y6EYNfFUHSvXRTvNSkJZzu21qCsYSuMp2AdIDIUV0Oj0X/RMVwOiYaVuRnGtyurum4/bxG5jdc3ql1hyanJeLXEqxhfezyDINJ78vd+4vrzKggSLnaWGN6spPo3YGHOv7+mKNJQCiHqKwZAZAh2XAjBu0tPICouCYWcbDC7e1VU9n7x2j4brm3AqD2jkJKagtdKvIZxtccxCCKDKffw2Z/ncPFutDov4e6AcW3L4uUSLPRpaiIZAGUPAyDSZ/JPVra3T9kUoHZ5VS2aH7PeqgJ3xye7vT+vv67+hf/t/R+DIDI4Sckp+O1woGqt8SA2UV2TnKExbcrA181e6+FRHmEAlE0MgEhfSSPTkStPY92p2+q8aw0ffNqunMqNyCl/Xv1TbY2XIOj1kq9jbK2xDILIYETEJuK7bRex6MANJKWkqqXh3vX8MKRxcbUzkoxbJAOg7GEARPpa36ffomM4FRSuquR+2r4cutXMnfIO666sw5h9Y1QQ9EbJNzCm1hgGQWRQLodEYcKf57H7Yqg6d3OwVv3FZJOAmRkbrRorBkDZxACI9M3Z2xHou+Ao7kTEqUTPWd2qorZ/gVz9nRIEyUxQKlLRqWQnfFzrYwZBZFDk7W37hRCVH3Q9LFZdq+TtomZNs5MvR/qLAVA2MQAifbL5bDDeW3YSsQnJ8C9oj196Vs+znIaMQRBngshQJSSlYN6+a6p+UEyCruDn61WL4MOWpXIkd470BwOgbGIARPpA/mn+svcavlh/XiU7v1zCDTPerAJn27ytc8IgiIxpGXnSxgD8fvymOpecoPeallDd6C25bd4oMADKJgZApDWp5jxh3VksOHBDnb9VyweftC2nWW2TjEEQE6PJ0B0PfIBP1p7F6ZsR6lxmVj9pV47b5o0AA6BsYgBEWopNSMK7v53E1vO6ys4fty6Dvi/7PXdxw9wMgrhFngxdSkoqVhwLwuSNAQiLSVDXWpSTbfNl4e1qp/Xw6AUxAMomBkCklZCoOJXsLJ9MrS3M8G3nyqoHkr5gEETGJuJhIr7behELD9xQM6/y725gA38Mauj/RBNh0n8MgLKJARBp1dai57zDCLr/EK72VpjTo5oqcqhvMtYJ6lC8Az6p/QkbqJLBCwiOUstiB66GqXMvF1uMfaUMWpQrpPnsK2UdA6BsYgBEee1kUDh6zz+C+zEJ8C1gh/m9auh19dr1V9dj9N7RKghq59+OXeTJKMjb4fozwfjir3O4HRGnrsnmg/Fty6K4u6PWw6MsYACUTQyAKC/tCAjB4MXH8TAxGRWLOGPu29VV0TZ9l7GB6ivFXsHndT9nEERGk4c3a+cV/Lj7qtpCL4VHe9X1xbtNSsDRht3m9RkDoGxiAER5ZeWxm/jo99Mq96B+yYKY1a0K7A2oXP/m65vx0e6PkJSahFZ+rfBlvS9hYWY44yf6N4FhsZjw57n0DQkFHa0xqmVpvFrFi8tieooBUDYxAKK88NPuK/hy/QX1vZTnn/R6RYOsRbLtxjaM2DVCBUHNizbHV/W/gqUZPyWTcc3STlh3Dtfuxahzyc2TatLlvZy1Hho9hgFQNjEAotwk/+QmbwpQU+xiQP1i+KhlaYPuT7QjcAeG7xqOpJQkNPZujK8bfA1LcwZBZDzik5Ixd+91TN9+SVVllwkgaUY8snkp5Le30np49AgDoGxiAES5RZa6xvzxN347HKjOpTmjbLk1Brtv7sb7O95HQkoC6hepj6kNp8LaXP9zmYieR3BEHL5cfx5rT91W59Kb74PmpfBmDR+YG/CHGGPBACibGABRbpBkyveXncRfZ+5AXie/7FgBXWr4wJjsv7Uf7+54F/HJ8ajrWRffNfoONhbstUTG59DVMIxfexYXgqPUeZnCTmpZrIafq9ZDM2mRDICyhwEQ5bSHCckYsPgYdl8MhaV5Pnzf5SW9KnCYkw7dOYSh24fiYdJD1CxUE9MaT4OdJSvrkvFJSk7Br4cD8fWmAETGJalr7St7YnSrMijkzMBf39+/Xyjj8urVqy86NiKTExWXiJ5zD6vgx9bSXG1zN9bgR9QsXBOzms6CnYUdDgUfwsCtAxGdEK31sIhynPTm61HbFztHNlL5QJIXtObkbTT+Zid+2HlZ5Q2R/nqhAKh48eJo1KgRFi9ejLg4XbEoInpSeGwC3vr5EA5fvw9HGwss7lvDJBouVvWoijnN58DRyhEnQk6g/5b+iIjXNZ4kMjZSuX3iqxWwbkg9tUNMkqSlx1iLb3dj+wXdFnoykgDo+PHjqFixIoYPH45ChQphwIABOHz4cM6PjsiAhUbFo8tPB3HqZgTy21nit361ULWo6eQHVCxYEb80/wUu1i44c+8M+m7ui/tx97UeFlGukW3xKwfWxtROleDuaI3rYbHoPf8o3p53WLW6If2SrRygpKQkrF27FvPnz8fGjRtRsmRJ9O7dG927d0fBgob7KZc5QJRddyIeotucQ7h6L0a9EC7uWxMlPUyzlP6lB5fQb3M/hMWFwd/ZX80MFbQz3NcHoqyIjk9SW+bn7r2GxORUlfvXq64fhjYuzmrSxpQEHR8fjx9++AGjR49GQkICrKys0KlTJ0yaNAmFCxtergMDIMqOoPuxePPng6qpqTRUXNK3pl739coL1yKuqRmgkNgQeDt64+fmP8PTwVPrYRHlOpn5kWrSOwNC1bm0ufmoZSm8VqWIQdf+Mtkk6DRHjx7F4MGDVZAzdepUjBgxAleuXMGWLVtw+/ZttG/fPjsPT2SQpfNl2UuCn6IF7LB8YG2TD36En7MfFrRcAC8HLwRFBaHnxp64EXlD62ER5bpiBR1Uc+O5b1eDn5s97kXHY+TK0+j4wz4cD3yg9fBM2gvNAEmwM2/ePAQEBKB169bo27ev+mpm9k88dfPmTfj6+qplMkPDGSB6EVImv+tPBxEcGYdibvb4tV8tboV9zN2Yu+i3pZ+aESpgU0Ath5XIX0LrYRHlWS2wefuuYfr2y2qJTHR8yUtVgudrhYEsgZUoUULl+rz99tvPXOKSpbDffvsNPXv2hKFhAETP63JIFN6ccwghUfEo4e6AJf1qwt2RL2hPE/YwDAO2DEDAgwA4Wzvjx6Y/opxbOa2HRZRnQqLiMGVjAFYevwl5B5byGIMa+qN//WKwsTTXengGjYUQs4kBED2Pi3cl+DmIe9EJKF3IUSU8yzo/PZtsiR+8dTBO3zsNe0t7TG88HdULVdd6WER56vTNcHy67hyO3dAthUnOoLTHeaViYXab19ccIFn+WrFixRPX5dqCBQte5CGJDD74KVvYSW11Z/Dz32Tm56fmP6FGoRqISYzBoK2DVC8xIlNSsYiL2jY/retLKOxsg1vhDzH0txN4Y/YBnAoK13p4Ru+FAqCJEyfCzc3tievu7u748ssvc2JcRAYV/JTzdMKv/WqyK/RzkJmfH5r+gIZFGqreYcO2D8OGaxu0HhZRnpKZnnaVPLH9g4YY3qykWg47euMB2s/ch+HLT6rmq6RHAVBgYCD8/PyeuF60aFF1G5GpBT+y1d3FjsHP85Ju8VMbTUVrv9ZISk3CR7s/woqLT84uExk7WytzvNukBHaMaIhXq3ipa6uO30Kjr3fi2y0XEZtgeBuKjDIAkpme06dPP3H91KlTKFCgQE6Mi0hvMfjJWZZmlpj48kR0KtkJqUjFhAMT8POZn8H0RDJFshtsaqfK+OOduqqtxsPEZHy/7ZIKhFYcDUJKCv9daBoAde3aFe+++y527NiB5ORkdWzfvh3Dhg1Dly5dcmxwRPrmcki02u3F4CdnmeUzw5haY9C3Ql91/v3x7/HN0W8YBJHJquytyw/6oVsVeLva4m6krn5Q2xl7sf/yPa2HZxReaBeYbHGXdheS9GxhYaGupaSkoEePHpg9e7aqBG3IuAuMnlXnp/OPB9RWd0l4lpwfBj85b8HZBfj66Nfq+/b+7fFJnU9gYaZ7nSEyRdJVfsH+65i+7TKiHtUPalSqIEa3LmOyLXY03wZ/8eJFtexla2uLChUqqBwgY8AAiB53I0yCH12RQ9nqLkUOpQM05Y4/Lv+BT/Z/guTUZDT0bogp9afAxoJ1lci0hUXHqyKKiw/eQFJKKqSTRufq3ni/aUm4O/Hfh2AdoGxiAESP9/aS9hayRVWKHP7Wn1vd88L2wO0YuWskElISUNWjKqY1ngYnK/57JJL+YpM3BmDj2WB1LjvH+r3sh/4N/OFgbdqzpZG5HQBJzo90gN+2bRtCQkLU8ldGkg9kyBgAUZrb4Q/R6ccDuPngIYoVtMfS/rVY4TkPHQk+gne3v4voxGjVMmN209lwt3PXelhEeuHo9fv4Yv15nAjU1QwqYG+ldpJ1reEDK4tstfo0WLkeAA0ZMkQFQG3atFGtMB6vWPntt9/CkDEAIhESGYfOPx1UuT++BeywbEBteHCaOc9duH9BFUq89/AePO098WOzH+Hr7Kv1sIj0gryFb/w7GJM3BajXKiGNmEc0L4U2FQqbXMf5yNwOgKQI4sKFC1UDVGPEAIhkrV2WvS6FRKvy9NLVXb6SNm5G3VT9wwKjApHfOj9mNpmJCgUraD0sIr2RmJyCpUeC8P3WS6rjvJCdqh+2LI36JdxMprVGZG63wpBdXsWLF3/R8RHptYjYRHT/5bAKfjycrFV7CwY/2iriWAQLWy1E2QJl8SD+Afps7sPWGUQZWJqboXutotg1UldRWnKBzt6ORM+5h9F1zkEcD9T1G6NszgB98803uHr1KmbMmGGUUSVngExXdHwS3vr5EE4GhcPNwQpL+9dGcXcHrYdFj0jfsPd3vI8Ddw7APJ85xtcej44lOmo9LCK9cz8mATN3XMaiAzeQkKzL021axh3Dm5VCWU/jfV/L9SWwjh07qiKIrq6uKFeuHCwtLTPdvmrVKhgyBkCm6WFCMnrOO4zD1+7Dxc5SJTyXLsQ/f32TmJyITw58grVX1qrzwZUGY2ClgUb5YYwou2T36ndbLuL34zeRVkRaus2/36wk/Asa34e7XA+AevXq9Z/d4g0ZAyDTLDTWf+Ex7LoYCkdrC1Xnp0IRZ62HRc8gL1vTT0zHnDNz1PlrJV5TlaRZMJHo6a6ERqueYn+evqPOzfIBr1Ypgncbl4BPATsYC9YByiYGQKYlKTkFQ349oWpqSD2NRX1qoJqvq9bDoixYdmEZvjz8JVJSU1DPqx6+bvC16jJPRE937nYkpm4JwNbzIerc3CwfXq9SBEMaF4e3q+EHQrmeBC2SkpKwdetW/Pjjj4iKilLXbt++jejo6Od+rJkzZ8LX1xc2NjaoWbMmDh8+/Mz7yvJatWrV4OLiAnt7e1SuXBmLFi165v0HDtRNjX/33XfPPS4yftJY8MOVp1XwY2Vuhjk9qjH4MSCdS3fGtw2/hY25Dfbe2ou3N76NuzF3tR4Wkd6S/J+fe1ZXzVYblCyI5JRULDsapJqtjl51RhV+NRUvFADduHFDtb5o37493nnnHYSGhqrrkyZNwogRI57rsZYtW4bhw4dj/PjxOH78OCpVqoQWLVqoAotPI3lHH3/8MQ4cOKA60stynBybNm164r6rV6/GwYMH4enp+SL/m2TkZPJz/NqzWHXilvoUNOPNl1CvhJvWw6Ln1NinMea2mAtXG1dVM6jb+m4IuB+g9bCI9L7Z6oLeNfD7oNqoV9xNtdb47XCgCoQ+WnkagWHGHwi9UAAkXd9lFubBgweqD1jG5GipDv08pk6din79+qkgpmzZsqqZqp2dHebOnfvU+zds2FD9njJlysDf31+NpWLFiti7d2+m+926dQtDhw7FkiVLnkjSflx8fLyaNst4kPGbsikAiw7egOTOTu1UCc3LFdJ6SPSCpCbQktZL4Ofsh7uxd9FzY0/sv7Vf62ER6b2qRV2xuG9NLB/wTyCkZoS+2YkRK06lF1c0Ri8UAO3Zswdjxox5ouu7LGNJ4PE8XeWPHTuGpk2b/jMgMzN1LjM8WfkELwFXQEAA6tevn35dWnNIt/qRI0eqXWr/ZeLEiWrNMO3w9vbO8v8DGabZu67gh51X1PdfdKiA9pW9tB4S5UCtoEWtFqGaRzW1XX7wtsFYcXGF1sMiMgg1/HSBkMwI1X+0NLby2E00+WYnhvx6XOUOGZsXCoAkwJB+YI+7efMmHB0ds/w49+7dU4/j4eGR6bqcBwfrmrw9jSQ3OTg4qABM2nFMnz4dzZo1S79dluIsLCzw7rvvZmkco0ePVo+ZdgQFBWX5/4EMz6+HAvHVhgvq+1GtSuPNmj5aD4lyiLO1s2qV8UqxV1Qn+QkHJmDKkSlITnny9YqInj4jtLB3DaweXAdNSrurrfOyc6z1tD3oM/8Ijt0wnoKKL7RntHnz5iqp+KefflLnkmQsyc+Sx5MX7TEkyDp58qT6nTIDJDlExYoVU8tjMqP0/fffq3yirNYFsba2VgcZv7WnbuPjP86o7wc39MfABv5aD4lymJW5Fb6s9yWKOhXFzJMzsfDcQtVCY9LLk2Bnafi7XIjywks++fHL29XVzM8POy/jrzN3sO1CiDpq+LpiYMNiaFjS3aB7jb3QNniZ6ZFEZfnRS5cuqXwg+So9wnbv3g13d/csL4FJvs/KlSvRoUOH9Os9e/ZEeHg41qxZk6XH6du3r5q1kURoCcwkIJKltDQyyyTnsrR1/fr1/3w8boM3TjsuhKDfwqNqjfutWj74rH15Fs8zchuubcCYvWOQkJKA0q6lMb3xdBSyZ64X0fO6GhqtUgdWn7iFxGRd2FDSwwED6vujbSVPvek+nyd1gGQb/NKlS9VOLJmJqVKlCrp165YpKTorZNt7jRo11DJW2vKaj4+P6jg/atSoLD1G7969VWuOnTt3IiwsDHfu6Ao9pZFgTXKCJNG6VKlS//l4DICMj1R37v7LIcQnpaB9ZU9826myQX9yoaw7FXoK725/F/fj7sPN1g3fN/oeFQtW1HpYRAbpTsRDzNt3XaUSSOsgUcjJBj3r+OLNGj5wtvv3TUe5zaAKIco2eJnxkXpCEgjJDM7y5ctx4cIFlQvUo0cPeHl5qURlIV9lxkl2gMnurfXr16tAadasWWom6GkkOfu9995TR1YwADIuMoXb+acDiIpLQuPS7vixe1XVOJBMx63oWxiybQguh1+GlZkVPqnzCdr6t9V6WEQGK+JhIpYcuqGCodAoXfd5OytzdKrmjV51fVG0gDYFSZ/n/fuFcoAWLlz4r7dL0JJVnTt3VnWExo0bpxKfpbDhxo0b0xOjAwMDMy1nxcTEYPDgwWoZTmabSpcujcWLF6vHIXrc9Xsx6DH3sAp+qvvmx8w3qzD4MUFeDl5Y3HoxRu0ZhZ1BO/G/vf/DpfBLGPbSMJibmWs9PCKD42xricENi6NPPT+sPXkbv+y9hgvBUZi//zoWHLiOpmU80KuOL2r7F9DbVIMXmgHKnz9/pvPExETExsaqXVmS03P//n0YMs4AGYfgiDi8Pns/bj54iDKFnVRzU/lHS6ZLWmbMODEjvYdYgyIN8NXLX8HByviaQhLlqNRUIC4CiA0D4iOBuEjd1/goIDEWqYlxuHH3AU5cu4vb9yNgBl1o4WpnifJezihZ2BmWljaAueWjwwrwrAL41DSsGSApgPg4SYIeNGiQqr1DpLXw2AT0mHtIBT++BezUtk4GP2SWzwzvVnkX/i7+GL9/PHbd3IU317+p8oKkiCKRSUpJBiKCgAc3gMhbQMRN3SHfR4cAMfeAmFAgJfGZDyFzPL6PjkyRRQKAa4+Ox9UbnuMB0PPI0Rygo0eP4q233lL5O4aMM0CGLTYhCW/9fAjHA8Ph4WSNlQPrGEWTP8pZf9/7G8N2DENIbAgcLB3UTFAD7wZaD4so9yTEAvcCgLvngNDzQNgV3fHgGpAskUoWyGyptRNg46T7au0IWNkBFjaAhTVgLocVkM8M8ckpuHg3GmdvRyImLgGWSFKHl6M5/AtYwaPGa7Co+LphzQA988EsLFRDVCKtJCanYPCS4yr4kRmfhb1rMvihpyrvVh7LXlmGD3Z+gOMhxzF0+1C8U/kd9KvYT80UERk0Wa66fRK4fUJ3BJ8B7l+Vtayn39/cCnApCjgXAZy9AGdvwMkLcCwE2LsB9gUBOzdAlrGySKrrVQBQLiUVuy+FYvHBQGy/cBcpsoj0AGhjVxgzNdyQ+UIB0Nq1azOdyySSbD2fMWMG6tatm1NjI3qhzu47A0JhY2mGuW9XQ6lCWa9MTqZHtsX/3PxnTDoyCcsClmHGyRk4f/88Pq/7OfOCyHDIQo7M5AQeAAIPAkEHgbDLT7+vXQHAvazucCsBFPAHXP11gU8ubQiQkiMNS7mr41b4Q/x2KBBLjwShbcXC0NILLYFl3JWlHiRfPhQsWBCNGzfGN998g8KFtf2fyi4ugRke+Wv82Z/nMXffNViY5cOcntXQqFTWCnISiVWXVuHzg58jMSURvk6++Lbhtyiev7jWwyJ6krxty7LV1Z2648Z+XY7O41x8AM+XdMnGhSsC7uUAB3d504bWEpJSIKXYLHJ4V65B1QHSRwyADM/MHZdVd3fxXefK6PASm5vS8zsdehrDdw5XHeVtLWwxoc4EtPRrqfWwiHS7ra7sAC5v0QU94YGZb5fcG6+qgE8t3SHfy9KViYlkAJQ9DIAMy9LDgRi1Stffa9wrZdG7Hnfz0IuTitEf7v4Qh+4cUudvlXkLw6sNh6UZdxFSHntwHQjYCFzcCFzfm3kXlvx99K4BFGsI+NXXzfRIErKJi8ztAEh6bWXV1KlTYWgYABmOzWeDMXDxMdWx+J1G/hjZorTWQyIjIN3jJR/o5zM/q/PKBStjSoMp7CNGue/eZeDcH8C5NUDw6cy35fcDSrYE/BsDResA1sxTy/NdYCdOnFCHFEBM66118eJFmJubq55gafS1+iMZT3+vob+dUMFP52reGNH8v/u8EWWFVIceVmUYKrhVUM1UT4aexBvr3lBd5l8u8rLWwyNjnOk5swL4ezUQcvaf67Ib0acOUKqlLvApUFwv8neMxQsFQG3btoWjoyMWLFiQXhVaiiNKs9GXX34ZH3zwQU6PkyiT83ci0WfBEdXctFlZD3zRkZ3dKec19mmMZW2XYcSuETgXdg6Dtw1G3wp91XZ5C7McrSJCpib2vm6m5/Ry3e6tNPL3yq8BULY9ULqNSebx5JUXWgKT5qSbN29GuXLlMl3/+++/0bx5c4OvBcQlMP0WdD8Wr83aj5CoeNTwdcXCPjVgY8l+TpR7EpITMOXIFCwNWKrOq7hXwaT6k7gkRs8nJQW4ugM4sQi48FeG4oP5dHk8Fd7QBT12rhoP1HDl+hKY/AJpYPo4uRYVFfUiD0mUJWHR8eg597AKfkoXclTb3Rn8UG6zMrfCx7U+RtVCVfHJ/k9U4cTX172udonJLBHRv4q4BZxYrDsiMuze8qgAVOwEVHgdcPLUcoQm6YUCoI4dO6rlLqn5U6NGDXXt0KFDqg/Yq6++mtNjJFJi4pPQe/4RXL0XAy8XW8zvxf5elLda+rZEWdeyGLl7pFoSk1YaXUt3xQfVPoC1bEMmSiOLK9d2A0fmABfWA6nJuus2zkDFzsBL3XW1eciwlsCk8/uIESMwd+5clQid1gajT58+mDJlCuzt7WHIuASmny0u+iw4it0XQ5HfzhIrB9WBf0HugCBtJCYn4vvj32PBuQXqvGT+kphcf7JqskomLj4aOPUbcHiOru9WmqJ1gapvA2XaApa2Wo7QqEXmVR2gmJgYXLlyRX3v7+9v8IFPGgZA+tfi4oMVp7D6xC3YWprj13418ZKPLvmeSEt7bu7BmH1jVO0gmQEaXnW4mhFiQr4JirwNHPoRODZP14dLWNoDlboA1fsCHmW1HqFJiMyrAOjy5csqAKpfvz5sbW1VOwJj+IfPAEi/fLn+PH7afVW1uPi5ZzXVT4ZIX4TGhmLsvrHYd3ufOq/rVVf1EpM+Y2QCgv8G9k8H/v79n0KF0lur5gBd8CNLXmQ8AVBYWBg6deqEHTt2qIDn0qVLKFasGHr37q22xUtukCFjAKQ/ft5zFZ//dV59P7VTJbxapYjWQyJ6QkpqCn678BumHp2KhJQE5LfOj0/qfMIEaWMWdBjY842uSnMaqdlTZwhQspU0zdRydCYr8jnev1/oT+j999+HpaUlAgMDYWdnl369c+fO2Lgxw18Gomz448St9OBndKvSDH5Ib5nlM0O3Mt2w7JVlKJW/FB7EP1AJ0lJEMSqBO2ONhswXSB+u+a8AvzR7FPzkA8p1BPptB3pv0G1jZ/BjvLvApAbQpk2bUKRI5jekEiVK4MaNGzk1NjJhkuw8YsUp9X2fen7oX7+Y1kMi+k/SPf7XNr9ixokZmH92PtZcWYODdw6q7fJ1vOpoPTzK1o6uXcCOL4GgQ/8ULJQlrrrvA27FtR4h5VUAJMnPGWd+0ty/fx/W1twKStlz+ma46u+VlJKKdpU88XHrMkaRW0amUzNImqc28mmEj/d+jKCoIAzYOgCdSnZS2+XtLJ987SQ9Jk1IJfC5ocvxgoUNUKUnUGco4OKt9egoG15onk7aXSxcuDD9XN6cUlJSMHnyZDRq1Cg74yETd/1eDHrNO4LYhGTUK+6Gr9+oBDMzBj9keF5yfwkr265Uu8LE8ovL0XFNR+y/vV/roVFW3DwGLGgLzG+jC36kzlPNgcCwU0DryQx+jMALJUFLy4smTZqoxqfbt29Hu3btcPbsWTUDtG/fPrUl3pAxCVobIVFxqsVF0P2HKOfphKX9a8HRhoUOyfDJMtj4feNxO0bXJqhD8Q4YUW0EnK25Q0jvhF4Etn8GnF+rOzezBKr2BOoNB5y9tB4d6cM2eHnwGTNm4NSpU4iOjlbB0DvvvIPChQvD0DEAynvR8Uno/OMBnL0dCW9XW/w+qA7cHW20HhZRjolNjFXFE2W3WCpS1Tb5MTXHoEnRJloPjUTkHWDnl8CJJY+qNucDKnUFGo0GXHy0Hh3pQwAklZ9btmyJ2bNnq6RnY8QAKG8lJKWoFhd7L99DAXsrVeXZz804imoSPe5EyAmM2zcO1yOvq/NG3o3wv5r/Y2NVrSTE6Or47PseSIzVXSvVGmg8lsULDVCuboOX7e+nT5/OzviIMlV5HrnylAp+7KzMMfft6gx+yPhzg9qtRL8K/WCRzwI7gnag3R/tsPDsQiSlJGk9PNPqzH7yV2B6VWDnRF3wU6QG0HsT0PU3Bj8m4IWSoN966y388ssvOT8aMjkTN5zHmpO3VZXnH7pVQSVvF62HRJTrpG3Gu1XexfK2y1VA9DDpIaYcnYI3/3oTZ0LPaD084xd4EJjTEPhjEBB1R7fE9fo8oM9mwKeW1qOjPPJCOUBDhw5Vu8BkCaxq1apP9ACbOnUqDBmXwPLGnN1X8cV6Vnkm0yZVpFddWoVvj32LyIRIde3VEq9iWJVhcLVx1Xp4xpfns3U8cHqZ7tzaCag/AqgxALBkzqExyLUcoKtXr8LX11ftAHvmA+bLp3aGGTIGQHlT5fm9ZSfV96NalcbABoa9c5Aou8IehmHqsalYe0W3+8jRyhFDXxqKN0q+AQspukcvLikBOPgDsHsKkBCtS3Cu0h1oMh6wZ8+2vHYr+hZ+O/8bXi/5OnydfQ0jADI3N8edO3fg7u6e3vpi2rRp8PDwgDFhAJT7VZ4l6VkKHfau64exr7DQIVHGJOkvD32JC/cvqHNprfFRjY9QvVB1rYdmmK7uAv76AAi7pDsvUh1oNRnwqqL1yExKamoqjt49iiXnl6i8N5n5lBpZsgFAq/fv5/pY8XistGHDBlUVmiirztyMwKBHVZ5fqVgYY9ow+CHKSHKClrZZipUXV2LaiWkIeBCA3pt6o7F3Y1VhuqhTUa2HaBiiQ4BNHwNnluvO7QsCzSYAFbuwV1ceik+Ox4ZrG1TgkxbUi9qFa6NhkYaaji1b86ovWEKITNSNsBj0mn8YMQnJqONfAN90YpVnoqcxNzNH59Kd0dy3OX44+QNWXFyB7UHbsfvWbvWpeUDFASyi+CwpycCxecDWCUB8hG65q3pfoPEYwJabLPJKcEwwlgUsw+8Xf1fNgYWNuQ3a+rdVjYP9XbRPe3juJbDg4GAULFhQnTs6Oqot8X5+fjAmXALLefei41WV5xthsShT2AnLB7DKM1FWXQm/gq+Pfo29t/aqcycrJ/Sp0Advln4TNtKbinRCzgNrhwI3j+jOC1cGXpkKeFXVemQmtcz124XfsD1wO5JVQUmgsH1hdC7VWeX85Hbgnms5QGZmZmjVqlV6w9N169ahcePGT+wCW7VqFQwZA6Ccr/Lc9aeDOHMrAkXy22KVVHl24os20fPad2ufCoQuh19W5+527hhcaTDaF29v2onSSfHA7q+Bvd8CKYmAlSPQZKxu5sfMXOvRGb3ohGisu7oOyy4sw5WIK+nXJW+tW+luaODdIM/+fuZaANSrV68s3W/evHkwZAyAcrbKc58FR7Dn0j24SpXngbVRrKCD1sMiMljJKcn48+qfmHlyJu7E3FHX/Jz9MLjyYDQv2hxm+Uwsv+XGAWDdu8C9i/9UcW79Nft25YGA+wFqeXbdlXWITdJV0ba1sEWbYm3UUm3J/CWNsxeYMWMAlHNVnocvP4k/Tt6GraU5futfC5VZ6JAox5JL5RP3nDNzEB4frq4VdymuAqEmPk2MPxCSFhbbJgCHfpTFF8DBQ7e7q2x7qcei9eiMVlxSHDbf2IzlActxKvRU+nUJwmWZq51/O1XCQSsMgLKJAVDOmLj+PH7cfVVVef65ZzU0LKUrn0BEOScqIQqLzy/GorOLEJUYlb51flClQWjk08g4A6Fru4E1Q4DwG7rzl94Cmn8O2ObXemRG69KDS6pgp9SpSivYKa1c5O9Yp1KdULNQTb3Y0csAKJsYAGXfz3uu4vO/dFWev3mjEl6ryirPRLlJ3pQWnVukjphEXXkSf2d/lSzd0q8lLM2MYNNBfBSwZRxwdK7u3NkbaPs9UPzZxXnpxcUmxmLj9Y34/dLvOB36Tw9QT3tPldDcsURHuNnqVyFJBkDZxAAo56o8f9SyNAY11H67I5GpiIiPwIKzC7D0wtL0GSF5w+pVvpdKlpYcDYN0fZ+ud1farE+13kDTTwEbvkbnpNTUVFWM84/Lf2DT9U3puT0y29PQu6Fq01LHs44q1aCPGABlEwOgF7frYij6sMozkV4sjUkdFpkRuh93X11zsXZRyxWSoKpvn9yfKfEhsO0zXSsLyfVx9gHazwCKNdB6ZEblTvQdtZNrzeU1CIwKTL/u6+Srgh6p32MIf2cYAGUTA6AXcyooHF3nHERsQjLaVfLEd50rs9AhkR4kra6+vFrNCkkPJiFbklv7tUb3st1R2rU09Nat48DqgcC9AN35S92BFl9y1icHg+StN7aqwOdI8KPaSQDsLOzQwrcFOhTvoCqTG9KHWAZA2cQA6PldDY3G67MP4H5MAl4u4YZfelaHlYURJl8SGaiklCTVg2nh2YU4GapbohaVC1bWVZ0u2hxW5lbQC8lJupo+u74CUpJ0O7zaTQdKttB6ZAYvITlBFdRcf209dgbtVLsJM9btae/fHs2KNoOdpR0MEQOgbGIA9HzuRsapKs83HzxEBS9ntd3dwdqEi7IR6TlJaJWlMfn0n5SapK652riiY/GOeK3Ea/B28tZucPevAasHAEGHdOdlOwCvfAvYuWo3JiMIfg/fOayCHqnQnJYbJoo5F1PLW2382qCwQ2EYOgZA2cQAKOsiHiai848HcCE4Cr4F7LByUB24OegqhRORfguNDVU7fKSYXUhsSPr1ah7V1A6fpj5N824mQN6KTv4KbPgQSIgGrJ10BQ0rdmJdnxeQmJyIQ8GHVJArQU9aP660CuItfFvglWKvoIyrceVpMgDKJgZAWROXmIwecw/j8LX7KOhorVpceLsa5rQpkanPEOwK2oXlF5fjwO0DSJVkY2mgbmmPlr4tVWXfqh5Vc6+m0MMHwLr3gHN/6M596gAdZwP52fn+ebety5+fNM6V5U7J8UkjM3yytNXKr5XK6zEzxvpQhhgAzZw5E1OmTFGNVitVqoTp06ejRo0aT72v9Bn78ssvcfnyZSQmJqJEiRL44IMP0L17d3W7XBszZgzWr1+Pq1evqieiadOm+Oqrr+Dp6Zml8TAA+m/JKakYtPgYNp+7C0drCywbUBtlPflcERnDbiApdifboG9G38w0ayDBUOtirVHWtWzOzRpIK4vf+wKRNwHpF9VwNFDvffbwyqJ7D++pXB45Dt45mCmnp4BNATQt2lQFPhLAmkK/uEhDCoCWLVuGHj16YPbs2ahZsya+++47rFixAgEBAXB3f7Jy8M6dO/HgwQOULl0aVlZW+PPPP1UA9Ndff6FFixbqf/r1119Hv379VDAl9x02bBiSk5Nx9OjRLI2JAdC/k78y/1t9Br8dDlKJzgt710CtYgW0HhYR5aCU1BQcu3tM9R3bcmNLptmEIg5FVLsNeXOtWLDii80mSKLz7inA7slAagqQ3w94/Rd2bs9CL7gz985g983dKpn5/H1dwdk0Xg5eaOTdSP3ZSIK7vtbryS0GFQBJ0FO9enXMmDFDnaekpMDb2xtDhw7FqFGjsvQYVapUQZs2bfDZZ5899fYjR46oGaUbN27Ax8fnidvj4+PVkfEJlDEwAHq6bzYHYPr2y2pZfla3KmhZ3vAT54goazuHZKksLjku/TapDSNvuPWL1EeNQjWyljMUHqSb9Qk6qDuv1BVoPQWw1q6HlL6St+ibUTdx4M4BNcNz6M6h9FYUacoXKK9aUkihwhIuJYwqpyc3AyBN58MSEhJw7NgxjB49Ov2amZmZWrI6cOBAlv5ibN++Xc0WTZo06Zn3kydC/kK4uDy9EefEiRPx6aefvuD/hWmZt++aCn7E5x3KM/ghMgGyPb6xT2N1SJ7Jvtv7VHKtzELIEowkUcsh7TYkgfrlIi+rasGyw+iJN+MLfwF/DAbiwnWJzm2mAhXf0Op/Te/I+5rUazoechxHg4+qgOd2zO1M93GyckJdz7qoV6Seep4NoUChPtJ0Buj27dvw8vLC/v37Ubt27fTrH374IXbt2oVDhx5tg3xKQCM/J7M25ubm+OGHH9C7d++n3jcuLg5169ZVS2ZLlix56n04A5Q1a07ewrCluvohHzQriaFNSmg9JCLSg51Gkn8iM0RphRYz5qDIrFD1wtVRw60yfA7OQb7D0r1d+nNUAV6fC7j6wZQlpiTi4oOLqjTByZCTatnxbuzdTPeR3J1KBSuhVuFa6ijvVt4k8nmMegboRTk6OuLkyZOIjo7Gtm3bMHz4cBQrVgwNGzbMdD9JiO7UqZOKqGfNmvXMx7O2tlYHPdvOgBB8sPyU+v7tOr4Y0ri41kMiIo1Zmluinlc9dcjr7LWIa9hza4865M08LC4MG65vUIdwTU5GRXc3VPKoikq13kM5Rw/YmVj+zvXI6ypv53zYeZXLcy7sXKbE5bS+W+XcyqGKRxVU96iuEpgNtTChPtM0AHJzc1MzOHfvZo525bxQoULP/DlZJiteXPcGXLlyZZw/f14tY2UMgNKCH8n7kWUyzuS8uOOBDzBo8XHV30taXIx7JQd3gBCRUZDXhGIuxdTRs1xPlTd0KvQUjpxehMPXN+O0lQXum5tjp70ddkafB7YOQD7kQ1GnoqoWTekCpVVbDulgLzvODPk1RoJBWRq8EnEFV8J1h8zyyPEw6eET93e0ckRFt4oqoVyCnQpuFRjwGHsAJLu4qlatqmZxOnTokJ4ELedDhgzJ8uPIz2RcwkoLfi5duoQdO3agQAHuUHpRF+9Goff8I3iYmIz6JQvi6zcqsb8XEf0nq9RUVD++HNUPL8Bgyfn0qY1zjT7AqdjbKjCSQ4ovyoyIHGmzRMLB0gF+zn7qkABJdjbJUcSxiFpW04fgSJb/ZKkqOCZY5egERgaqJqJBkUHq6+OJymlsLWxRKn8pFezJUpYEPfL/aKx1efSZ5ktgsnzVs2dPVKtWTe3Ukm3wMTEx6NWrl7pdtshLvo/M8Aj5Kvf19/dXQY/U+1m0aFH6EpcEP7IN/vjx42qLvGx/l/pCwtXVVQVdlDVB92PR/ZdDCI9NRGVvF7Xji/29iOg/PbgOrHgbuH1Cd17vfVg1GoPK5haonOFuMkty4f6F9CPgfgCCooIQnRitlofkeJy1uTUK2hZEQbuCKvlXDgmKnKyd1EyKJAjLIYGG3NfGwkZ9lURumXESEmxIECVLUjJTlZCSoHJxZCkqJiFG/f6YRN3XiPgItZR3/+F9VU057GGYCnrk2r+R3+Ht6K1mtPxd/FHcpbia5SrqWNTktqbrK80DoM6dOyM0NBTjxo1TgYosaW3cuBEeHh7q9sDAQLXklUaCo8GDB+PmzZuwtbVVyc2LFy9WjyNu3bqFtWvXqu/lsTKS2aDH84To6e5Fx6sqz3cj41HC3QHz3q4Oe/b3IqL/ErBB18srLgKwzQ90/Ako2fypd5XgJS2HKI0EJDKbci3yGq6GX1WzKZJcfTv6tppxkSBFCjRmLNKoFSszK3jYe8DT3hM+Tj4q4PFx9FEzVb7OvirwIv2leR0gfWTqhRAj4xLR9aeDOHs7El4utvh9UB0UcrbRelhEpM+ksOGOz3Vd3EWR6sDr8wAX7xxddgqODVY9zEIfhqoZJDnux91XhRoj4yPV0pMccUlxKliSmkXS6uPfmOczV1v4ZZZIlt/srex1Xy3t1WyStJEoYFtAfc1vnV8FPYXsC6nv9WE5jkxoFxjlbn+vfguOquCngL0VFvetyeCHiP5d1F3g9z7A9T2685qDgGYTAAurHN91JrMscjwPCYBkiSvt8770OpPvZSlKZnG4JGWaGABRusTkFAz59TgOXbuv+nst6F0Dfm72Wg+LiPTZjf3Ail5AdDBg5QC0nwGU6wh9IjVzWDeHHse/EaSkpKTiw5WnsfV8CKwtzDCnZzWU93LWelhEpK9kNuXgLGDzGCA1GShYBui8CHBjgVQyDAyASE0Ff7ruLFafuAULs3z4oVsVNjclomeLjwbWDgXOrtKdl38daDcNsOKMMRkOBkCEb7dcxIIDN1Rz0286VUKTMrodeERET7h3CVj2FhB6AZBlpRZfAjX6SyVErUdG9FwYAJm4n/dcxbRHzU0ntCuH9pW9tB4SEemr838CqwcCCVGAQyGg0wLAp5bWoyJ6IQyATNiyI4H4/K/z6vsRzUuie21frYdERPooJRnYORHYPUV37lMHeGM+4MjZYjJcDIBM1J+nb2PUKl2V1f71i+GdRmxuSkRP8fAB8Hs/4PIW3XnNgUDzzwFzS61HRpQtDIBM0I4LIXhv6Um1iaNrDR+MblWaxbyI6El3zwJLuwEPrgEWNkDbaUAlXdV9IkPHAMjEHLwahoGLj6V3dv+8Q3kGP0T0pLOrgT8GA4mxgIsP0HkxULiS1qMiyjEMgEzIqaBw9Jl/BPFJKWhaxl3t+DJnZ3ciejzfZ/tn/7S0KNYIeH0uYOeq9ciIchQDIBNx/k6kam4ak5CMOv4FMOPNKrA0Z2d3Ino836cvcHmr7rzOu0CT8YA53yrI+PBvtQm4HBKNt34+hIiHiXjJxwVzelSDjSV73xBRBiHngd+6Psr3sdW1tKjwutajIso1DICMXND9WBX8hMUkoJynE+b3qgF7a/6xE1EG59cBqwYAiTGP8n2WAIUraj0qolzFd0IjdifiIbrOOYjgyDiUcHfAoj414WzLratE9EhKCrBrErDrK925X33g9fmAPVvhkPFjAGSkQqPi0e3nQ7j54CF8C9hhSd+acLW30npYRKQv4qN0VZ0v/Kk7rznoUX0fvi2QaeDfdCMUFi3Bz0FcDY2Bl4stlvSrBXcnG62HRUT6IuwKsPRNXT8vc2ug7XdA5Te1HhVRnmIAZGTCYxPw1i+HcfFuNDycrPFrv5oqCCIiUq5sB1b0AuLCAcfCuvo+RappPSqiPMcAyIhExiWqre6y5d3NQYKfWihawF7rYRGRPpDS7wd/ADaPAVJTgCLVdcGPYyGtR0akCQZARiI6Pgk95x7G6ZsRKtdHZn78CzpoPSwi0geJccCf7wOnftWdV+4GtJkKWHJpnEwXAyAjEBOfhN7zjuBEYLja5bW4T02U9HDUelhEpA8i7wDL3gJuHQXymQHNvwBqDQLYAodMHAMgAxebkIRe84/g8PX7cLS2wKI+NVDW00nrYRGRPrh1TNfMNOoOYOMCvDEP8G+s9aiI9AIDIAP2MCEZfeYfxeFruuBnYZ8aqFjERethEZE+OL0cWDMESI4HCpYGuvwKFPDXelREeoMBkIGKS0xG34VHcOBqGBysLTC/dw285JNf62ERkT40M932KbDve915yVbAqz8BNpwZJsqIAZCBBj/9Fh7FvsthsLcyx4Le1VG1KIMfIpMXF6FrZnpps+785Q+ARmMAMzY+JnocAyADDX72XLoHOytzNfNTtair1sMiIn0obvhbF+DeRcDCBmg/k81Mif4FAyADy/mR4GfvZV3wM+/t6qjuy+CHyOSp4oZv62aAHD2Brr8Cni9pPSoivcYAyJASnhccwf4rumUvmflh8ENk4qS44aEfgU3/A1KTHxU3XAI4emg9MiK9xwDIQLa6y24vSXjW5fzUQDUGP0SmLSke+OsD4MQi3XmlN3U9vSystR4ZkUFgAGQIRQ7nH8Gha/fVbi9dwjODHyKTFh0CLOsOBB18VNzwc6DWYBY3JHoODID0vLdXr3lHcOzGg0fBjyQ8c7cXkUm7fVJX3DDyJmDtDLw+FyjRVOtRERkcBkB6KiJWGpsewqmbEXCykQrPNVHJm0UOiUza36uAPwYDSQ+BAsWBrksBtxJaj4rIIDEA0kP3YxLw1s+HcO5OJPLbWWJx35oo5+ms9bCISCspKcCOL4A9X+vO/ZvoZn5s+aGI6EUxANIzoVHxKvgJuBsFNwcrLOlbC6UKsbEpkcmKjwJWDQAC/tKd1x4CNJsAmJlrPTIig8YASI/cDn+Ibj8fwrV7MfBwslbBT3F3B62HRURauX8V+O1NIPQ8YG4NtP0eqNxV61ERGQUGQHri+r0YFfzcCn8ILxdb/NqvJooWsNd6WESklas7dcUNHz4AHAoBXZYARappPSoio8EASA8EBEfhrV8OqeWvYm72KufH08VW62ERkT4UN/Ssogt+nDy1HhmRUWEApLEzNyPUbq8HsYkoXchR7fYq6MhCZkSmW9xwOHBise68YhfdspeljdYjIzI6DIA0dPBqGPouOIro+CS1xX1Br+pwsbPSelhEpIWoYF1xw5uHdcUNm30G1H6HxQ2JcgkDII1sOXcX7/x6HAlJKajp54pf3q6uih0SkQm6eQxY1g2IugPYPCpuWJzFDYlyE99xNbDq+E2MXHkaySmpaFrGAzPefAk2ltzSSmSSTv4GrBsGJMcDbqWArr8BBfy1HhWR0WMAlMfm7r2GCX+eU9+/VqUIJr1WARbmZloPi4jyWnISsGUscPAH3Xmp1kDHHwEbJ61HRmQSGADloenbLuGbLRfV973r+mFMmzIwM+P6PpHJib0PrOyl2+ouGnwENBgFmPHDEFFe0Yt/bTNnzoSvry9sbGxQs2ZNHD58+Jn3XbVqFapVqwYXFxfY29ujcuXKWLRoUab7pKamYty4cShcuDBsbW3RtGlTXLp0CVorVtABEu980Kwkxr7C4IfIJAWfAX5qoAt+LO2BTouARv9j8EOUxzT/F7ds2TIMHz4c48ePx/Hjx1GpUiW0aNECISEhT72/q6srPv74Yxw4cACnT59Gr1691LFp06b0+0yePBnTpk3D7NmzcejQIRUoyWPGxcVBS20qFsbm9+tjaJMSyMedHUSm5+/fgZ+bAeGBQH4/oO9WoGw7rUdFZJLypcp0iYZkxqd69eqYMWOGOk9JSYG3tzeGDh2KUaNGZekxqlSpgjZt2uCzzz5Tsz+enp744IMPMGLECHV7REQEPDw8MH/+fHTp0uU/Hy8yMhLOzs7q55ycuB5PRNmUkgxs+xTY932GZqa/ALb5tR4ZkVF5nvdvTWeAEhIScOzYMbVElT4gMzN1LjM8/0WCnW3btiEgIAD169dX165du4bg4OBMjylPhgRaz3rM+Ph49aRlPIiIcizfZ/Fr/wQ/9d4Huq1g8ENkyknQ9+7dQ3JyspqdyUjOL1y48Myfk8jOy8tLBS7m5ub44Ycf0KxZM3WbBD9pj/H4Y6bd9riJEyfi008/zYH/IyKiDO6cApa9pVvysrQD2s8Eyr+q9aiISOsA6EU5Ojri5MmTiI6OVjNAkkNUrFgxNGzY8IUeb/To0eox0sgMkCzDERG9sFPLgHXvAklxunyfLr8CHmW1HhUR6UMA5ObmpmZw7t69m+m6nBcqVOiZPyfLZMWLF1ffyy6w8+fPq1kcCYDSfk4eQ3aBZXxMue/TWFtbqyNPRN5mU0MiY5acCGweAxyarTsv0Rx4dQ5g66L1yIhIX3KArKysULVqVTWLk0aSoOW8du3aWX4c+RlZDhN+fn4qCMr4mDKjI7vBnucxc8WV7cD3lYFDP2k7DiLKvX5e81/5J/iR+j5dlzH4IdJDmi+BydJTz549VW2fGjVq4LvvvkNMTIza2i569Oih8n1khkfIV7mvv7+/CnrWr1+v6gDNmjVL3S7by9977z18/vnnKFGihAqIxo4dq3aGdejQQdP/V1zepit3v2EkEBEINJ3A2h9ExuLGfmDF20D0XcDaSVfVuXRrrUdFRPoaAHXu3BmhoaGqcKEkKcsy1caNG9OTmAMDA9WSVxoJjgYPHoybN2+qIoelS5fG4sWL1eOk+fDDD9X9+vfvj/DwcNSrV089phRa1FTzz3U7P7Z/BuyfDkTcAjrMAiw1HhcRvTipJCIzPrLslZIEuJcFOi9mPy8iPad5HSB9lOt1gCQ5cs07QEoiULSu7sXSzjXnfw8R5a74aF2isxQ4FOVfB9pNA6zstR4ZkUmKNJQ6QCarUmfgrd910+Q39gFzWwAPrms9KiJ6HiEXgDmNdMGPmQXQ8ivgtZ8Z/BAZCAZAWinWAOi9EXDyAu5dBOY0AYKe3QONiPTImZXAnMa6f7uOhYG31wO1BkkSotYjI6IsYgCkJY9yQN9tQOFKQOw93e6RtKl0ItI/SfHAXyOA3/sAiTGAXwNgwB7Ap6bWIyOi58QASGtOhYFeG4BSrXU7xFb2BnZN0SVWEpH+kGXqX5oDR+bozuuPBLqvBhwKaj0yInoBDID0geQMSCJ07SG68x2fA6sHAonadq8nokfO/wnMrg/cOanbyfnmCqDxGMDMXOuREdELYgCkL+SFtMUXQJupQD5z4PRSYMErQFTmKtlElMdVnTd9DCzrBsRHAEVq6Ja8SjbXemRElE0MgPRN9T66HWI2zsDNI7pdJtJQkYjy1oMbwNyWwIEZunOZoe21HnBhn0AiY8AASB/5NwL67QAKlAAibwG/tADO/qH1qIhMx7k1wOyXgVtHdR9GOi/RzdCaW2o9MiLKIQyA9JVUke27FfBvAiQ9BFb0BLZ9Jo3PtB4ZkfGSvLu/PgCW93i05FVdt+RV5hWtR0ZEOYwBkD6TBopvLgdqvaM73/M18Ftn4GG41iMjMj6hF4GfmwJHftad1x2m26GZv6jWIyOiXMAASN+ZS4XZL3WNFS1sgEubdQXYpAotEWWflJw4tgD4qQFw9wxgVwDo9jvQbAKXvIiMGAMgQ1GpC9B7E+DsDdy/AvzcBDi3VutRERm2hw90y8vSzysxFijWEBi4DyjRVOuREVEuYwBkSDwrA/13Ar4vAwnRwPLuwOaxQHKS1iMjMjw39gOz6ukSnqWXV9NPgbdW64qTEpHRYwBkaOzdgO5//FM0cf80YGE7ICpY65ERGYakBGDrp8C81kDkTcC1GNBnM1DvPcCML4lEpoL/2g01L0i25L6xALBy1HWU/7E+cH2f1iMj0v9E51+aAXunSvIPULkbMGA34FVV65ERUR5jAGTIynXQLYm5lwWi7wIL2gJ7pnKrPNHTEp1ld9ePGdpZyAeIDj8A1o5aj46INMAAyNC5FdfVC6rYGUhNBrZ9Cix5HYgO1XpkRPoh8rbu34TU95GaWsUaAYP26z5AEJHJYgBkLM1UZZt8u+mAhS1wZRswux5wbY/WIyPSdtbn9Argh1rA5a2AuTXQYiLw1irAyVPr0RGRxhgAGYt8+YAqPYB+2wG3UkB0sC45esdE7hIj0xMTptvevqovEBcBeFYBBu4Bag9mojMRKXwlMDYeZYH+O4DKbwGpKcCur4D5bXSNHYlMgfTN+6HmP9vbG30M9NkCFCyl9ciISI8wADLWJbEOM4FX5+h2iQUd1C2JnV6u9ciIco/kvS3vqZv5iQkFCpYB+m4DGnyo2zlJRJQBAyBjVrETMGgv4F0TiI8EVvUDfu+nWxIgMqZcn79/fzTr8weQzxyoPxIYsEtXPJSI6CkYABm7/L7A2+uBhqOBfGbAmeXAD3WAqzu1HhlR9kXcApa+CazsDcSGAR4VdEvAjccAFtZaj46I9BgDIFMg0/8NRwG9NgL5/XTVbxe2B/4aASTEaD06oucnta4OzwFm1gQC1gNmlrogXzYBFK6k9eiIyAAwADIlPjWBgXuBan1050fm6HKDAg9pPTKirAu5AMxrCayXAD4KKFJDt8NLgnwLK61HR0QGggGQqbF2AF6ZqquF4ugJ3L8KzG0BbBzN2SDSbwmxwNZPgNl1gaBDgJUD0PproPcmwL2M1qMjIgPDAMhUFW8CDD4AVOqq64l08AdgluQG7dJ6ZERPCtioW+7a+y2QkgSUbAW8cwio0Y91fYjohfCVw5TZugAdZwPdVgJORYAH13XFE9cOBR6Gaz06IiA8EFjaDfitMxARCDh7A11+Bd5cCjgX0Xp0RGTAGAARUKIZ8M5BoHpf3fnxhcDMGsCZlbotxkR5LfEhsPMrYEZ14MKfuoKGdYfpZn1Kt9F6dERkBPKlpvId7nGRkZFwdnZGREQEnJycYFKu7wPWDQPCLunOpXFkm2+AAv5aj4xMgbwcScCz6X+62R9RtB7QeoquyjkRUQ69fzMAegqTDoBEUjyw73tg99dAcryuieTLH+g+gVvaaD06MlZ3z+oCn7QaVU5eQPPPgXIddb3uiIj+AwOgbDL5AChN2BXgrw+Aqzt05y5FgRZf6pYg+IZEOSXqLrDjC+DEIl3/Ogm4674L1Htf19aFiCiLGABlEwOgp7QZ2DwWiLr9z7JYq0lsLknZ39Z+cCaw9zsgIVp3rWwHoOkngKuf1qMjIgPEACibGAA9RXy0bgvy/mlAcoIuKVWSput/CNgX0Hp0ZEiSk3SzPbsmAVF3dNe8qupmF31qaT06IjJgDICyiQHQv5DCiZvGAAF/6c6tnYH6HwA1BjA/iP6dvNScWwNs/wwIu6y75uwDNB0PlHuV9XyIKNsYAGUTA6AsuLID2DIWCD7zzxtZk7FA+df5RkaZyUvMpS3Azi+B2yd01+wK6Dq2V+vNpqVElGMYAGUTA6DnaEh5epnuE33kLd0193JA44+BUq2ZKG3q5KXl8jZg50Tg1lHdNWlfUXsIUGcIYO2o9QiJyMgwAMomBkAvULROWmns/R6Ij9Bd86wCNB4D+DdmIGRq5CXligQ+k4Cbh3XXLGyBGn2BOsMAh4Jaj5CIjBQDoGxiAPSCHj4A9k8HDs4GEh81VvWuBTQYCfg3YSBk7FKSgfPrgD3fAMGnddcsbIBqfXQ1pBw9tB4hERm5SAZA2cMAKJuiQ3U7xo78rCukKDxf0uV8SBNL5ggZX+HM08uBfd/9k9xsaQdU7aWr5+NYSOsREpGJiGQAlD0MgHJI5B3gwAzg6FwgMVZ3zb0sUGeoLlnawkrrEVJ2xITp/mwP/wTEhOiu2TgDNQfqdgWyPAIR5TEGQNnEACiHxdzT5QgdngPER+quORQCavbXzRLYuWo9QnoeIReAQ7OAU0uBpDjdNUdPoNZA3a4uJjcTkUYYAGUTA6Bc8jAcODYPOPTjPwXwZKmk8pu6PBE2u9RfSQm6JqVHfgFu7P3neuHKul1d5ToA5pZajpCICAyAsokBUB68mZ5dBeyfAdx9VEdIFK0LVO8DlG7L5TF98eA6cGIxcHwhEH1Xdy2fma7MQe13AJ/aTG4nIoN8/9Y8G3XmzJnw9fWFjY0NatasicOHH22bfYo5c+bg5ZdfRv78+dXRtGnTJ+4fHR2NIUOGoEiRIrC1tUXZsmUxe/bsPPg/oSyT4KZSF2DgHqDHWqBMWyCfOXBjH7CyN/BtOV3vsdAArUdquj26ZHlr/ivA95WA3VN0wY+Dh671yXtngC5LgKJ1GPwQkcHSdAZo2bJl6NGjhwpQJPj57rvvsGLFCgQEBMDd3f2J+3fr1g1169ZFnTp1VMA0adIkrF69GmfPnoWXl5e6T//+/bF9+3b8/PPPKrDavHkzBg8ejFWrVqFdu3ZZGhdngDQQeRs4tgA4Nh+IDv7nuvSIqtwNKP8aYOui5QiNfwv7td3A3yuBs2uAhKhHN+QDijUEqvYESr/CZS4i0msGswQmQU/16tUxY8YMdZ6SkgJvb28MHToUo0aN+s+fT05OVjNB8vMSSIny5cujc+fOGDt2bPr9qlatilatWuHzzz/P0rgYAGkoORG4uAk4uUT3NTVZd93cCijeVBcIlWwJWDtoPVLjqOQtFZrPSNCz+p+dXCK/L1D5Ld1MnYu3lqMkIsqy53n/toBGEhIScOzYMYwePTr9mpmZmVrWOnDgQJYeIzY2FomJiXB1/WcXkcwOrV27Fr1794anpyd27tyJixcv4ttvv33m48THx6sj4xNIGpEZhjKv6I7oEF19GQmGQs4BAet1h1QVLtkcKNNOFxRxZuj58q+u7wEu/KV7LtOS0YVtfqBsB6DCG7rcHtZrIiIjplkAdO/ePTWD4+GRuTqsnF+4cCFLj/HRRx+pIEeCpjTTp09Xy2CSA2RhYaGCKskdql+//jMfZ+LEifj000+z8X9DucLBXdczSo6753SJ03//rutIL13F5TCz0CVPS1JuqZa6mQvKLCpY15NL2lNc2vpPu5K03lzy3EnQ49+IS1xEZDI0C4Cy66uvvsLSpUvVDI/kA2UMgA4ePKhmgYoWLYrdu3fjnXfeeSJQykhmoYYPH55pBkiW4kiPyBZ5ORp9DNw5pVuyubgRCL0AXNulOzZ+BOT3072RF2sE+L2sm9UwNXGRQNBh3XNyZTtw9+/Mt9u7A6Vb63J6/OqzGzsRmSTNcoBkCczOzg4rV65Ehw4d0q/37NkT4eHhWLNmzTN/9uuvv1b5PFu3bkW1atXSrz98+FCt/UlidJs2bdKv9+3bFzdv3sTGjRuzNDbmABmQsCu6QOjCeiDoIJCS9M9tsl3bozzgUwvwrqlb1nHWJcsbXcXtW8eAwAO6nXQSIKamZLhDPl0rkuJNgBLNAa9qXN4iIqNkEDlAVlZWKjl527Zt6QGQJEHLuWxjf5bJkyfjiy++wKZNmzIFP0LygeSQZa+MzM3N1WOTESrgr6tHI0d8FHB9H3B1B3BlB3AvQNeUUw5p1yCcigCFK2U+pFeVIWznls8qkbeAkPO6/6dbx3VH1O0n7ytLgbI06N9YNxvGthRERPqzBCbLTjLjI4FMjRo11Db4mJgY9OrVS90uO7tke7vk6AjZ9j5u3Dj8+uuvaot7cLBuu7SDg4M6JNpr0KABRo4cqWoAyRLYrl27sHDhQkydOlXL/1XKC9KCQfKA5EibGZFZocBHhwQNkTd1R8Bf//ycjQtQsBTgVgJwe/TVxQdw9gZsNJgBlEDu/jXgwTXdV8l5kppIEvhkzN/JONNVsAxQpBrgW09Xn8e5SN6Pm4jIgGheCVq2sE+ZMkUFM5UrV8a0adPU9njRsGFDFejMnz9fncv3N27ceOIxxo8fj08++UR9L48jOT1S/+f+/fsqCJKk6Pfffx/5svgpn0tgRio+GrhzErhzWrdMJIfMEmVaLnqMNPd09tHNEtkX1M2kyFe7AroEYnXYAVb2gLk1YGauC0jUkU+3rT85QdcxXb4mxABx4UBchK41yMMHut1uUvtIkpVlV5bc9iyS9F2gBOBeBvCqoquTVKgiywIQEcGA6gDpKwZAJiTxIRB2Gbh3EQi9qPsq5xFBuuBEKxJgSUK3q5/uq8xQSdBToDiTlomIDDkHiEgvWNoChSrojqfNGEXc1AVD0goiJlTX2V6O2DDdbE5C9D9fZYZHZpMk3yz10SEFHKX1h8wOyRZzmSmSJTeZWbJ99FW2+zsW1s0yqa+FtVl6IyIyIQyAiJ5FlpXcS+sOIiIyKtwLS0RERCaHARARERGZHAZAREREZHIYABEREZHJYQBEREREJocBEBEREZkcBkBERERkchgAERERkclhAEREREQmhwEQERERmRwGQERERGRyGAARERGRyWEARERERCaHARARERGZHAutB6CPUlNT1dfIyEith0JERERZlPa+nfY+/m8YAD1FVFSU+urt7a31UIiIiOgF3sednZ3/9T75UrMSJpmYlJQU3L59G46OjsiXL1+OR6cSWAUFBcHJySlHH5sy43Odd/hc5x0+13mHz7XhPdcS0kjw4+npCTOzf8/y4QzQU8iTVqRIkVz9HfIHzH9QeYPPdd7hc513+FznHT7XhvVc/9fMTxomQRMREZHJYQBEREREJocBUB6ztrbG+PHj1VfKXXyu8w6f67zD5zrv8Lk27ueaSdBERERkcjgDRERERCaHARARERGZHAZAREREZHIYABEREZHJYQCUh2bOnAlfX1/Y2NigZs2aOHz4sNZDMngTJ05E9erVVdVud3d3dOjQAQEBAZnuExcXh3feeQcFChSAg4MDXnvtNdy9e1ezMRuLr776SlVKf++999Kv8bnOObdu3cJbb72lnktbW1tUqFABR48eTb9d9q+MGzcOhQsXVrc3bdoUly5d0nTMhig5ORlj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", + "image/png": "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", "text/plain": [ "
" ] From 23484bd2edeedc7a25a84ddf62c6557e7e672a7b Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 20 Oct 2025 14:06:55 +0100 Subject: [PATCH 176/240] better explanation of replicator dynamics with msp terminology --- doc/tutorials/06_gambit_with_openspiel.ipynb | 22 ++++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index cb4dde92e..d24d8e88c 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -275,7 +275,7 @@ "id": "6d7da6f3", "metadata": {}, "source": [ - "The equilibrium strategy for both players is to choose rock, paper, and scissors with equal probability:" + "The equilibrium mixed strategy profile for both players is to choose rock, paper, and scissors with equal probability:" ] }, { @@ -307,9 +307,9 @@ "id": "966e7e3f", "metadata": {}, "source": [ - "We can use OpenSpiel's dynamics module to demonstrate evolutionary game theory dynamics, or \"replicator dynamics\", which models how strategy population frequencies change over time based on relative fitness/payoffs.\n", + "We can use OpenSpiel's dynamics module to demonstrate evolutionary game theory dynamics, or \"replicator dynamics\", which models how a mixed strategy profile evolves over time based on how the strategies (e.g., choice of actions A, B, C with probabilities X, Y, Z) perform against one another.\n", "\n", - "Let's start with an initial population that is not at equilibrium, but weighted towards scissors with proportions: 30% Rock, 30% Paper, 40% Scissors:" + "Let's start with an initial profile that is not at equilibrium, but weighted towards scissors with proportions: 30% Rock, 30% Paper, 40% Scissors:" ] }, { @@ -341,10 +341,10 @@ "id": "fa382753", "metadata": {}, "source": [ - "`dyn(x)` calculates the rate of change (derivative) for each strategy in the current population state and returns how fast each strategy's frequency is changing.\n", + "`dyn(x)` calculates the rate of change (derivative) for each strategy in the current profile and returns how fast each strategy's frequency is changing.\n", "\n", - "In replicator dynamics, strategies that perform better than average will increase in frequency, while strategies performing worse will decrease.\n", - "In our rock-paper-scissors example, the performance of each strategy depends on the distribution of strategies in the population. For example, if there are many players using scissors, then rock will perform well and increase in frequency, while paper will perform poorly and decrease. Over time, as the population proportions change, the performance of each strategy will also change." + "In replicator dynamics, a strategy that performs well against others will increase in frequency, while strategies performing worse will decrease.\n", + "In our rock-paper-scissors example, the performance of each strategy depends on the probability it is assigned in the mixed strategy profile. At the start, whilst there are more players choosing scissors as their action, then rock will perform well and increase in frequency (be more likely to get played in subsequent rounds), while paper will perform poorly and decrease in frequency. We can plot how the frequency of each strategy changes over time:" ] }, { @@ -401,20 +401,20 @@ "id": "8569aef4", "metadata": {}, "source": [ - "Through the dynamics, we can see that the population proportions oscillate around the equilibrium point (1/3, 1/3, 1/3) without converging to it, because the best strategy depends on the likelihood of the opponents' actions, as defined by the current population proportions.\n", + "Through the dynamics, we can see that the population proportions oscillate around the equilibrium point (1/3, 1/3, 1/3) without converging to it, because the best strategy depends on the likelihood of the opponents' actions, as defined by the current action probabilities.\n", "\n", - "However, if we start with the initial population already in equilibrium computed by Gambit (1/3 each), the frequencies will remain constant over time:" + "However, if we start with the initial population already at the equilibrium mixed strategy profile computed by Gambit (each action is chosen exactly 1/3 of the time), the strategy frequencies will remain constant over time (at the equilibrium point):" ] }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 46, "id": "86c6aa52", "metadata": {}, "outputs": [ { "data": { - "image/png": "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LjYASUquXLk8S6ZMmaxFyfs5DUfOLraaNWtKz549pXfv3pIlSxbJmTOnfPjhh3L58mXp2LGjZMiQQSIjI+Xbb7/1Odb27dvl8ccft33qa9q2bSunT5+O9dwOHDggTzzxhB0jPDxcSpUqJQsXLpT9+/db65HSdXrOeo4qOjpaRo4cKQULFpSwsDApV66cfP755z4tT7r9f//7XylbtqykTZtWHn74YTs3AP5DQAKQLEyfPl2yZ88uGzZssLDUrVs3efrpp+X//b//J1u2bJF69epZALpy5Yptf+7cOXnsscfkoYcekk2bNsmiRYvkxIkT0qJFi1iP8eKLL8q1a9dk1apV8ssvv8jo0aMtXOXLl0+++OIL20Zbu7QVTLsBlYajGTNmyJQpU2THjh3Sp08fefbZZ+X777/32Xe/fv3knXfekY0bN8oDDzxgQezGjRv39JoBuA0XACRRU6dOdWXKlOmW59u3b+9q0qSJ5/Gjjz7qql69uufxzZs3XeHh4a62bdt6njt27JgWLbnWrl1rj0eMGOGqV6+ez34PHTpk2+zevTvG8ylTpoxr6NChMa5bsWKFvfbPP//0PHf16lVXunTpXGvWrPHZtlOnTq7WrVv7vG7OnDme9WfOnHGFhYW55s6de5urA+BeogYJQLKg3VNuKVOmlGzZskmZMmU8z2kXmjp58qR9/fnnn2XFihUx1jPt3btXihYtesvzvXr1spap7777TurUqSPNmzf3Oa7Tnj17rMWqbt26Ps9fv37dWq68VatWzfN91qxZpVixYrJz5844/vQAEhsBCUCykCpVKp/HWtfj/Zx7dJzWBKlLly5ZN5Z2kznlzp07xmM8//zzUr9+fasX0pCk3WfaLaZdejHRYyjdPm/evD7r0qRJE++fEcD9Q0ACEJQqVKhgdUMRERESGhr3fwq13qhr1662DBw40IrBNSClTp3a1kdFRXm2LVmypAWhgwcPyqOPPnrb/a5bt07y589v3+tUAb/99puUKFEiwT8fgLtDkTaAoKQF12fPnpXWrVtbYbR2qy1evNhGvXmHHG86Sk632bdvnxV+axedO8QUKFDAWqkWLFggp06dstYjHT33yiuvWGG2FpHrMfR148ePt8fehg8fLsuWLbPRazoCTgvOmQwT8B8CEoCglCdPHvnxxx8tDOkIN61X0gCkkzymSBHzP426rQYrDUUNGjSwOqVJkybZOu1CGzZsmAwYMMDqnXr06GHPjxgxQt544w3rjnO/TrvcdNi/t1GjRslLL70kFStWlOPHj8s333zjaZUCcP+FaKW2H44LAGAGbiDJogUJAADAgYAEAADgQBcbAACAAy1IAAAADgQkAAAABwISAACAAwEJAADAgYAEAADgQEACAABwICABAAA4EJAAAADE1/8HgioQ6rKEiZwAAAAASUVORK5CYII=", + "image/png": "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BKT333/faz1VqlT2iJEOHTrIgAEDEvLaAAAAAiMg6Yg1AACA5CzBapAAAABSbAuSDuXXB9TGxbx58+JzTQAAAIHVgqTTcy9fvlw2b97s2bZlyxZZsWKFDffX/e4FAAAgRQSk3Llzy9NPP221SNpCpMv+/fulTZs2Vqz96aefepa4mjRpkoSGhkr69OmlevXqsnHjxliP1ferUqWKZM2aVUJCQqRChQo2gi66oUOHSokSJWx/tmzZ7EG6GzZs8DpG309bwqIvo0aN8vV2AACAZMjnh9VqCFq7dq0UL17ca/vevXvlH//4h5w7d86nC5g7d660b99epk6dauFo3Lhx8uWXX9r5cuXKdcvxP/74o/z1118WgNKmTSsLFy6UV199Vb777jtp1KiRHfP555/ba4sUKSJ///23jbzTc+7bt8+u3x2QOnXqJJ07d/acO3PmzBaq4oKH1QIAEHji+vntcwvSzZs3Zc+ePbds121RUVE+X+jYsWMtpHTs2FFKlSplQSljxozyySefxHh8nTp1rA6qZMmS9uy33r17S7ly5Sy0uT377LPWaqQBqXTp0vYeekN27NjhdS4NRHny5PEstwtHN27csHNEXwAAQPLkc0DSIKMtLxo6NJToMmbMGHnxxRdtny/Cw8OtfknDjOeCUqWy9XXr1t3x9dr4pfVQ2tpUq1atWN/jo48+srRYvnx5r33apZYjRw6pWLGivPvuuxb+YhMWFuZVX1WgQAGfflYAAJCMR7G999571tqioUhn0FZ58+aV119/3bq6fHH27FmJjIy0uqbodD2mVio3bRbLnz+/teqkTp1aJk+eLA0aNPA6Rrve2rZtK9euXbPrW7p0qeTMmdOzv1evXlKpUiXJnj27/PzzzzbJpf48Gvxiovv79u3rWdcWJEISAADJk88BSVt43njjDVvc3Uz3ugZHu8a2bdsmV65csRYkDS7anabdb25169a1YzSETZs2zQrLtVDbXdcUPexoF53WM7300kvWUpQuXbpb3lO3xbQdAAAkP/GaKFK7opYtWyZffPGFZ06k48ePW2DxhbboaAvQqVOnvLbrurZSxXrRqVJJsWLFbASbtlo99dRTFmyi03oiPebhhx+Wjz/+WIKDg+1rbLRAXH+ugwcP+vQzAACA5MfngHTo0CEpW7asPPHEE9K9e3c5c+aMbR89erS89tprPp1L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", "text/plain": [ "
" ] @@ -432,7 +432,7 @@ "id": "a1f6662e", "metadata": {}, "source": [ - "Though the strategies themeselves never reach equilibrium when stating from an unbalacned initial population, we can plot the average strategy proportions across steps (over time), where we can see that they begin to converge to the equilibrium point:" + "When starting from an unbalanced initial mixed strategy profile, the strategy frequencies will oscillate around the equilibrium point without converging to it. However, if we plot the average strategy frequencies over time, we can see that this begins to converge to the equilibrium point:" ] }, { From fd26b150f76136959e6942286c776af954ed02f2 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 20 Oct 2025 14:13:23 +0100 Subject: [PATCH 177/240] rerun nb --- doc/tutorials/06_gambit_with_openspiel.ipynb | 116 +++++++++---------- 1 file changed, 58 insertions(+), 58 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index d24d8e88c..20f6ff4ef 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -24,7 +24,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "id": "ebb78322", "metadata": {}, "outputs": [], @@ -56,7 +56,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "id": "b3eb3671", "metadata": {}, "outputs": [ @@ -86,7 +86,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -103,7 +103,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "id": "1bcdb97b", "metadata": {}, "outputs": [ @@ -119,7 +119,7 @@ "-1,1 1,-1 0,0 " ] }, - "execution_count": 5, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -139,7 +139,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "id": "70575dc7", "metadata": {}, "outputs": [ @@ -169,7 +169,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "id": "a532321e", "metadata": {}, "outputs": [ @@ -187,7 +187,7 @@ "-1,1 1,-1 0,0 " ] }, - "execution_count": 7, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -207,7 +207,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "id": "f5fa4e42", "metadata": {}, "outputs": [ @@ -217,7 +217,7 @@ "'NFG 1 R \"OpenSpiel export of matrix_rps()\"\\n{ \"Player 0\" \"Player 1\" } { 3 3 }\\n\\n0 0\\n1 -1\\n-1 1\\n-1 1\\n0 0\\n1 -1\\n1 -1\\n-1 1\\n0 0\\n'" ] }, - "execution_count": 8, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -238,7 +238,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "id": "b684325e", "metadata": {}, "outputs": [ @@ -252,7 +252,7 @@ "Game(title='Rock-Paper-Scissors')" ] }, - "execution_count": 9, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -280,7 +280,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "id": "707c6c30", "metadata": {}, "outputs": [ @@ -293,7 +293,7 @@ "[[Rational(1, 3), Rational(1, 3), Rational(1, 3)], [Rational(1, 3), Rational(1, 3), Rational(1, 3)]]" ] }, - "execution_count": 10, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -314,7 +314,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 10, "id": "cf1acdeb", "metadata": {}, "outputs": [ @@ -324,7 +324,7 @@ "array([ 0.03, -0.03, 0. ])" ] }, - "execution_count": 42, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -349,7 +349,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 11, "id": "b9a352c5", "metadata": {}, "outputs": [ @@ -408,7 +408,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 12, "id": "86c6aa52", "metadata": {}, "outputs": [ @@ -437,7 +437,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 13, "id": "189f898f", "metadata": {}, "outputs": [ @@ -468,7 +468,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "cdd0bfe0", "metadata": {}, "outputs": [ @@ -482,7 +482,7 @@ "Game(title='Prisoner's Dilemma')" ] }, - "execution_count": 13, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -494,7 +494,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "d42e6545", "metadata": {}, "outputs": [ @@ -507,7 +507,7 @@ "[[Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1)]]" ] }, - "execution_count": 14, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -528,7 +528,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "fcd42af0", "metadata": {}, "outputs": [], @@ -554,7 +554,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "7ce6f2e2", "metadata": {}, "outputs": [ @@ -571,7 +571,7 @@ "0,-3 -2,-2 " ] }, - "execution_count": 16, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -593,7 +593,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "d1495c7c", "metadata": {}, "outputs": [ @@ -650,7 +650,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "02a42600", "metadata": {}, "outputs": [ @@ -660,7 +660,7 @@ "'EFG 2 R \"tiny_hanabi()\" { \"Pl0\" \"Pl1\" } \\nc \"\" 1 \"\" { \"d0\" 0.5000000000000000 \"d1\" 0.5000000000000000 } 0\\n c \"p0:d0\" 2 \"\" { \"d0\" 0.5000000000000000 \"d1\" 0.5000000000000000 } 0\\n p \"\" 1 1 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 1 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 1 \"\" { 10.0 10.0 }\\n t \"\" 2 \"\" { 0.0 0.0 }\\n t \"\" 3 \"\" { 0.0 0.0 }\\n p \"\" 2 2 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 4 \"\" { 4.0 4.0 }\\n t \"\" 5 \"\" { 8.0 8.0 }\\n t \"\" 6 \"\" { 4.0 4.0 }\\n p \"\" 2 3 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 7 \"\" { 10.0 10.0 }\\n t \"\" 8 \"\" { 0.0 0.0 }\\n t \"\" 9 \"\" { 0.0 0.0 }\\n p \"\" 1 1 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 4 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 10 \"\" { 0.0 0.0 }\\n t \"\" 11 \"\" { 0.0 0.0 }\\n t \"\" 12 \"\" { 10.0 10.0 }\\n p \"\" 2 5 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 13 \"\" { 4.0 4.0 }\\n t \"\" 14 \"\" { 8.0 8.0 }\\n t \"\" 15 \"\" { 4.0 4.0 }\\n p \"\" 2 6 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 16 \"\" { 0.0 0.0 }\\n t \"\" 17 \"\" { 0.0 0.0 }\\n t \"\" 18 \"\" { 10.0 10.0 }\\n c \"p0:d1\" 3 \"\" { \"d0\" 0.5000000000000000 \"d1\" 0.5000000000000000 } 0\\n p \"\" 1 2 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 1 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 19 \"\" { 0.0 0.0 }\\n t \"\" 20 \"\" { 0.0 0.0 }\\n t \"\" 21 \"\" { 10.0 10.0 }\\n p \"\" 2 2 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 22 \"\" { 4.0 4.0 }\\n t \"\" 23 \"\" { 8.0 8.0 }\\n t \"\" 24 \"\" { 4.0 4.0 }\\n p \"\" 2 3 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 25 \"\" { 0.0 0.0 }\\n t \"\" 26 \"\" { 0.0 0.0 }\\n t \"\" 27 \"\" { 0.0 0.0 }\\n p \"\" 1 2 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 4 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 28 \"\" { 10.0 10.0 }\\n t \"\" 29 \"\" { 0.0 0.0 }\\n t \"\" 30 \"\" { 0.0 0.0 }\\n p \"\" 2 5 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 31 \"\" { 4.0 4.0 }\\n t \"\" 32 \"\" { 8.0 8.0 }\\n t \"\" 33 \"\" { 4.0 4.0 }\\n p \"\" 2 6 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 34 \"\" { 10.0 10.0 }\\n t \"\" 35 \"\" { 0.0 0.0 }\\n t \"\" 36 \"\" { 0.0 0.0 }\\n'" ] }, - "execution_count": 18, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -682,7 +682,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "1a534e25", "metadata": {}, "outputs": [ @@ -712,7 +712,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "1ec19b1c", "metadata": {}, "outputs": [ @@ -725,7 +725,7 @@ "[[Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)]]" ] }, - "execution_count": 20, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -744,7 +744,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "ae9fc7a7", "metadata": {}, "outputs": [ @@ -777,7 +777,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "id": "8528e1bd", "metadata": {}, "outputs": [ @@ -790,7 +790,7 @@ "[[Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)], [Rational(1, 1), Rational(0, 1), Rational(0, 1)], [Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)], [Rational(0, 1), Rational(0, 1), Rational(1, 1)]]" ] }, - "execution_count": 22, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -801,7 +801,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "2965aed0", "metadata": {}, "outputs": [ @@ -842,7 +842,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "4e72c924", "metadata": {}, "outputs": [], @@ -869,7 +869,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "53547263", "metadata": {}, "outputs": [ @@ -912,7 +912,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "id": "d71bc733", "metadata": {}, "outputs": [ @@ -921,13 +921,13 @@ "output_type": "stream", "text": [ "\n", - "p0:d0 p1:d0\n", - "Agent 0 chooses p0a0\n", + "p0:d0 p1:d1\n", + "Agent 0 chooses p0a2\n", "\n", - "p0:d0 p1:d0 p0:a0\n", - "Agent 1 chooses p1a0\n", + "p0:d0 p1:d1 p0:a2\n", + "Agent 1 chooses p1a2\n", "\n", - "p0:d0 p1:d0 p0:a0 p1:a0\n", + "p0:d0 p1:d1 p0:a2 p1:a2\n", "Rewards: [10.0, 10.0]\n" ] } @@ -974,7 +974,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "id": "07340e32", "metadata": {}, "outputs": [ @@ -984,7 +984,7 @@ "efg_game()" ] }, - "execution_count": 27, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -1008,7 +1008,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "id": "c01c4d6f", "metadata": {}, "outputs": [ @@ -1018,7 +1018,7 @@ "4" ] }, - "execution_count": 28, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } @@ -1039,7 +1039,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "id": "3b9cc43b", "metadata": {}, "outputs": [ @@ -1049,7 +1049,7 @@ "0: Chance: 1 King 0.5 Queen 0.5" ] }, - "execution_count": 29, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -1069,7 +1069,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "id": "4dd5d504", "metadata": {}, "outputs": [ @@ -1079,7 +1079,7 @@ "1: Player: 1 1 Raise Fold" ] }, - "execution_count": 30, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -1100,7 +1100,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "id": "bd15369f", "metadata": {}, "outputs": [ @@ -1110,7 +1110,7 @@ "3: Player: 2 1 Meet Pass" ] }, - "execution_count": 31, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -1130,7 +1130,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 33, "id": "8d81ff6b", "metadata": {}, "outputs": [ @@ -1140,7 +1140,7 @@ "[2, 3]" ] }, - "execution_count": 32, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -1160,7 +1160,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 34, "id": "97913fe5", "metadata": {}, "outputs": [ @@ -1170,7 +1170,7 @@ "6: Terminal: Alice wins 1 -1" ] }, - "execution_count": 33, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } From ed7efed9f60cfa16837eb15fa4c99a50904e1ff5 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 23 Oct 2025 13:18:45 +0100 Subject: [PATCH 178/240] install draw_tree from GitHub --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 1206c9a1b..39ca5e00a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,6 +28,7 @@ classifiers=[ dependencies = [ "numpy", "scipy", + "draw-tree @ git+https://github.com/gambitproject/draw_tree.git@main", ] [project.urls] From fac319c6f9a53410cf35bc25f187b4200db9f376 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 27 Oct 2025 11:42:01 +0000 Subject: [PATCH 179/240] attempt to include draw_tree in Cython --- src/pygambit/game.pxi | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/pygambit/game.pxi b/src/pygambit/game.pxi index 082b08b62..10eb21557 100644 --- a/src/pygambit/game.pxi +++ b/src/pygambit/game.pxi @@ -22,12 +22,15 @@ import io import itertools import pathlib +import tempfile import numpy as np import scipy.stats import pygambit.gameiter +from draw_tree import draw_tree + ctypedef string (*GameWriter)(const c_Game &) except +IOError ctypedef c_Game (*GameParser)(const string &) except +IOError @@ -495,6 +498,25 @@ class Game: Player.wrap(g.game.deref().NewPlayer()).label = str(player) return g + @classmethod + def draw(cls): + """ + Draw the extensive form game tree. + Calls to_efg and saves the result to a temporary file, then uses the + draw_tree package to visualize the game tree. + + Returns + ------- + The result of the Jupyter cell magic execution, or the TikZ code string + if cell magic fails. + """ + cls.to_efg("test.efg") + draw_tree("test.efg") + + @classmethod + def hello(cls): + print("Hello, world!2") + @classmethod def new_table(cls, dim, title: str = "Untitled strategic game") -> Game: """Create a new ``Game`` with a strategic representation. From 6de0eebf9aa6845787c60588998d3f4833352a51 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 27 Oct 2025 11:42:42 +0000 Subject: [PATCH 180/240] remove draw_tree function --- src/pygambit/game.pxi | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/src/pygambit/game.pxi b/src/pygambit/game.pxi index 10eb21557..082b08b62 100644 --- a/src/pygambit/game.pxi +++ b/src/pygambit/game.pxi @@ -22,15 +22,12 @@ import io import itertools import pathlib -import tempfile import numpy as np import scipy.stats import pygambit.gameiter -from draw_tree import draw_tree - ctypedef string (*GameWriter)(const c_Game &) except +IOError ctypedef c_Game (*GameParser)(const string &) except +IOError @@ -498,25 +495,6 @@ class Game: Player.wrap(g.game.deref().NewPlayer()).label = str(player) return g - @classmethod - def draw(cls): - """ - Draw the extensive form game tree. - Calls to_efg and saves the result to a temporary file, then uses the - draw_tree package to visualize the game tree. - - Returns - ------- - The result of the Jupyter cell magic execution, or the TikZ code string - if cell magic fails. - """ - cls.to_efg("test.efg") - draw_tree("test.efg") - - @classmethod - def hello(cls): - print("Hello, world!2") - @classmethod def new_table(cls, dim, title: str = "Untitled strategic game") -> Game: """Create a new ``Game`` with a strategic representation. From f42a82880857fdeb2d41f833cb61317826e813d8 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 27 Oct 2025 11:57:42 +0000 Subject: [PATCH 181/240] move draw_tree to doc requirements only --- doc/requirements.txt | 3 ++- pyproject.toml | 1 - 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/requirements.txt b/doc/requirements.txt index 61d16db80..5d6604959 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -9,4 +9,5 @@ ipython==9.4.0 matplotlib==3.10.5 pickleshare==0.7.5 jupyter==1.1.1 -open_spiel==1.6.1 \ No newline at end of file +# open_spiel==1.6.1 +draw-tree @ git+https://github.com/gambitproject/draw_tree.git@main \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 39ca5e00a..1206c9a1b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,7 +28,6 @@ classifiers=[ dependencies = [ "numpy", "scipy", - "draw-tree @ git+https://github.com/gambitproject/draw_tree.git@main", ] [project.urls] From 4bd9f3f98effe608b62fd28c5b75fa02238af2cc Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 27 Oct 2025 11:58:45 +0000 Subject: [PATCH 182/240] use draw_tree in tutorial 2 --- doc/tutorials/02_extensive_form.ipynb | 187 +++++++++++++++++++++++++- 1 file changed, 185 insertions(+), 2 deletions(-) diff --git a/doc/tutorials/02_extensive_form.ipynb b/doc/tutorials/02_extensive_form.ipynb index 60279286d..84a261ddb 100644 --- a/doc/tutorials/02_extensive_form.ipynb +++ b/doc/tutorials/02_extensive_form.ipynb @@ -34,7 +34,8 @@ "metadata": {}, "outputs": [], "source": [ - "import pygambit as gbt" + "import pygambit as gbt\n", + "from draw_tree import draw_tree" ] }, { @@ -110,6 +111,7 @@ "g.append_move(\n", " g.root, # This is the node to append the move to\n", " player=\"Buyer\",\n", + " \n", " actions=[\"Trust\", \"Not trust\"]\n", ")\n", "len(g.root.children)" @@ -301,6 +303,187 @@ "type(restored_game)" ] }, + { + "cell_type": "code", + "execution_count": 12, + "id": "00fce76d", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "draw_tree(\"games/trust_game.efg\")" + ] + }, { "cell_type": "markdown", "id": "be034836", @@ -314,7 +497,7 @@ ], "metadata": { "kernelspec": { - "display_name": "gambitvenv313", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, From 7f555f0eb5c7d2c275ff5a7fb54761e138c8d5d5 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 27 Oct 2025 12:05:50 +0000 Subject: [PATCH 183/240] add texlive-full to apt_packages in Read the Docs configuration --- .readthedocs.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.readthedocs.yml b/.readthedocs.yml index af921b438..8fbb940b9 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -12,6 +12,7 @@ build: apt_packages: - libgmp-dev - pandoc + - texlive-full python: install: From 2d2706c1f5593ba99089778f3c9ab9e68d809e55 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 27 Oct 2025 13:47:07 +0000 Subject: [PATCH 184/240] uncomment open_spiel installation --- doc/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/requirements.txt b/doc/requirements.txt index 5d6604959..b3fdac565 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -9,5 +9,5 @@ ipython==9.4.0 matplotlib==3.10.5 pickleshare==0.7.5 jupyter==1.1.1 -# open_spiel==1.6.1 +open_spiel==1.6.1 draw-tree @ git+https://github.com/gambitproject/draw_tree.git@main \ No newline at end of file From 1281367f47a9bbffac4f811c829479c318c9ac18 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 27 Oct 2025 13:52:25 +0000 Subject: [PATCH 185/240] add draw_tree to installation instructions --- doc/tutorials/running_locally.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/tutorials/running_locally.rst b/doc/tutorials/running_locally.rst index f17eae6e2..badd208f3 100644 --- a/doc/tutorials/running_locally.rst +++ b/doc/tutorials/running_locally.rst @@ -17,6 +17,8 @@ You will need a working installation of Python 3 (tested with 3.9 and later) on source pygambit-env/bin/activate pip install pygambit jupyterlab -3. Open `JupyterLab` and click on any of the tutorial notebooks (files ending in `.ipynb`) :: +3. *[Optional]* For the extensive form visualizations, you'll also need to install the `draw_tree` package, which requires a LaTeX installation. Follow the `installation instructions `_ for draw_tree on your OS. + +4. Open `JupyterLab` and click on any of the tutorial notebooks (files ending in `.ipynb`) :: jupyter lab From 0562ece441f89f1491d68dcc95200213d589d5fd Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 27 Oct 2025 13:54:25 +0000 Subject: [PATCH 186/240] update tutorial 2 with draw_tree --- doc/tutorials/02_extensive_form.ipynb | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/doc/tutorials/02_extensive_form.ipynb b/doc/tutorials/02_extensive_form.ipynb index 84a261ddb..4fe6c4b46 100644 --- a/doc/tutorials/02_extensive_form.ipynb +++ b/doc/tutorials/02_extensive_form.ipynb @@ -34,8 +34,7 @@ "metadata": {}, "outputs": [], "source": [ - "import pygambit as gbt\n", - "from draw_tree import draw_tree" + "import pygambit as gbt" ] }, { @@ -303,9 +302,30 @@ "type(restored_game)" ] }, + { + "cell_type": "markdown", + "id": "d803cdaf", + "metadata": {}, + "source": [ + "Viewing the game with *draw_tree*\n", + "---------------------------------\n", + "\n", + "The Gambit project has developed `draw_tree`, which is packaged separately from PyGambit and can be used to visualize extensive form games saved to `.efg` files." + ] + }, { "cell_type": "code", "execution_count": 12, + "id": "22bd965b", + "metadata": {}, + "outputs": [], + "source": [ + "from draw_tree import draw_tree" + ] + }, + { + "cell_type": "code", + "execution_count": 13, "id": "00fce76d", "metadata": {}, "outputs": [ @@ -475,7 +495,7 @@ "" ] }, - "execution_count": 12, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } From abb04fc98b86c7f7c73bc157c9b7b1b4942900b4 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 27 Oct 2025 13:55:38 +0000 Subject: [PATCH 187/240] ignore .ef files --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 9acfeeb47..2ee3ed222 100644 --- a/.gitignore +++ b/.gitignore @@ -39,4 +39,5 @@ gambit dist .venv *.dmg -Gambit.app/* \ No newline at end of file +Gambit.app/* +*.ef \ No newline at end of file From b1147b921b09c2d4523f7ee69c401f4685b10804 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 27 Oct 2025 14:30:31 +0000 Subject: [PATCH 188/240] add draw_tree to one card poker --- doc/tutorials/03_poker.ipynb | 1681 ++++++++++++++++++++++++++++++++-- 1 file changed, 1599 insertions(+), 82 deletions(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 5bc30f462..c2aefe1bb 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -40,7 +40,8 @@ "metadata": {}, "outputs": [], "source": [ - "import pygambit as gbt" + "import pygambit as gbt\n", + "from draw_tree import draw_tree" ] }, { @@ -126,6 +127,172 @@ " node.label = node.prior_action.label" ] }, + { + "cell_type": "code", + "execution_count": 5, + "id": "987d992e", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "g.to_efg(\"games/one_card_poker.efg\")\n", + "draw_tree(\"games/one_card_poker.efg\")" + ] + }, { "cell_type": "markdown", "id": "5cf73f0a", @@ -142,7 +309,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "id": "0e3bb5ef", "metadata": {}, "outputs": [], @@ -157,6 +324,310 @@ " child_node.label = child_node.prior_action.label" ] }, + { + "cell_type": "code", + "execution_count": 7, + "id": "1a3cfb8b", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "g.to_efg(\"games/one_card_poker.efg\")\n", + "draw_tree(\"games/one_card_poker.efg\")" + ] + }, { "cell_type": "markdown", "id": "4c8d0343", @@ -178,7 +649,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 8, "id": "dbfa7035", "metadata": {}, "outputs": [], @@ -192,6 +663,322 @@ " node.label = node.prior_action.label" ] }, + { + "cell_type": "code", + "execution_count": 9, + "id": "4727ea04", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "g.to_efg(\"games/one_card_poker.efg\")\n", + "draw_tree(\"games/one_card_poker.efg\")" + ] + }, { "cell_type": "markdown", "id": "689ce12c", @@ -202,7 +989,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 10, "id": "655cdae3", "metadata": {}, "outputs": [], @@ -215,6 +1002,380 @@ " node.label = node.prior_action.label" ] }, + { + "cell_type": "code", + "execution_count": 11, + "id": "6057d01d", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "g.to_efg(\"games/one_card_poker.efg\")\n", + "draw_tree(\"games/one_card_poker.efg\")" + ] + }, { "cell_type": "markdown", "id": "c4eeb65f", @@ -230,7 +1391,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 12, "id": "87c988be", "metadata": {}, "outputs": [], @@ -251,7 +1412,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 13, "id": "29aa60a0", "metadata": {}, "outputs": [], @@ -271,6 +1432,362 @@ "g.set_outcome(g.root.children[\"Queen\"].children[\"Raise\"].children[\"Pass\"], alice_wins)" ] }, + { + "cell_type": "code", + "execution_count": 14, + "id": "e6085ce1", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "g.to_efg(\"games/one_card_poker.efg\")\n", + "draw_tree(\"games/one_card_poker.efg\")" + ] + }, { "cell_type": "markdown", "id": "17eb6af5", @@ -284,7 +1801,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 15, "id": "4d92c8d9", "metadata": {}, "outputs": [ @@ -294,7 +1811,7 @@ "NashComputationResult(method='lcp', rational=True, use_strategic=False, equilibria=[[[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]], [[Rational(2, 3), Rational(1, 3)]]]], parameters={'stop_after': 0, 'max_depth': 0})" ] }, - "execution_count": 10, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -318,7 +1835,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 16, "id": "9967d6f7", "metadata": {}, "outputs": [ @@ -337,7 +1854,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 17, "id": "3293e818", "metadata": {}, "outputs": [ @@ -347,7 +1864,7 @@ "pygambit.gambit.MixedBehaviorProfileRational" ] }, - "execution_count": 12, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -369,7 +1886,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 18, "id": "4cf38264", "metadata": {}, "outputs": [ @@ -379,7 +1896,7 @@ "pygambit.gambit.MixedBehavior" ] }, - "execution_count": 13, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -390,7 +1907,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 19, "id": "85e7fdda", "metadata": {}, "outputs": [ @@ -403,7 +1920,7 @@ "[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]]" ] }, - "execution_count": 14, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -428,7 +1945,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 20, "id": "f45a82b6", "metadata": {}, "outputs": [ @@ -460,7 +1977,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 21, "id": "83bbd3e5", "metadata": {}, "outputs": [ @@ -493,7 +2010,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 22, "id": "6bf51b38", "metadata": {}, "outputs": [ @@ -506,7 +2023,7 @@ "[[Rational(2, 3), Rational(1, 3)]]" ] }, - "execution_count": 17, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -529,7 +2046,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 23, "id": "2966e700", "metadata": {}, "outputs": [ @@ -542,7 +2059,7 @@ "Rational(2, 3)" ] }, - "execution_count": 18, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -561,7 +2078,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 24, "id": "f5a7f110", "metadata": {}, "outputs": [ @@ -574,7 +2091,7 @@ "Rational(2, 3)" ] }, - "execution_count": 19, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -595,7 +2112,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 25, "id": "a7d3816d", "metadata": {}, "outputs": [ @@ -630,7 +2147,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 26, "id": "4a54b20c", "metadata": {}, "outputs": [ @@ -662,7 +2179,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 27, "id": "b250c1cd", "metadata": {}, "outputs": [ @@ -675,7 +2192,7 @@ "Rational(2, 3)" ] }, - "execution_count": 22, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -694,7 +2211,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 28, "id": "6f01846b", "metadata": {}, "outputs": [ @@ -725,7 +2242,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 29, "id": "5079d231", "metadata": {}, "outputs": [ @@ -738,7 +2255,7 @@ "Rational(1, 3)" ] }, - "execution_count": 24, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } @@ -749,7 +2266,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 30, "id": "c55f2c7a", "metadata": {}, "outputs": [ @@ -762,7 +2279,7 @@ "Rational(-1, 3)" ] }, - "execution_count": 25, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -789,7 +2306,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 31, "id": "d4ecff88", "metadata": {}, "outputs": [ @@ -799,7 +2316,7 @@ "['11', '12', '21', '22']" ] }, - "execution_count": 26, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -823,7 +2340,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 32, "id": "24e4b6e8", "metadata": {}, "outputs": [ @@ -833,7 +2350,7 @@ "NashComputationResult(method='gnm', rational=False, use_strategic=True, equilibria=[[[0.33333333333866677, 0.6666666666613335, 0.0, 0.0], [0.6666666666559997, 0.3333333333440004]]], parameters={'perturbation': [[1.0, 0.0, 0.0, 0.0], [1.0, 0.0]], 'end_lambda': -10.0, 'steps': 100, 'local_newton_interval': 3, 'local_newton_maxits': 10})" ] }, - "execution_count": 27, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -855,7 +2372,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 33, "id": "d9ffb4b8", "metadata": {}, "outputs": [ @@ -865,7 +2382,7 @@ "pygambit.gambit.MixedStrategyProfileDouble" ] }, - "execution_count": 28, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -887,7 +2404,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 34, "id": "56e2f847", "metadata": {}, "outputs": [ @@ -940,7 +2457,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 35, "id": "d18a91f0", "metadata": {}, "outputs": [ @@ -1006,7 +2523,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 36, "id": "0c55f745", "metadata": {}, "outputs": [ @@ -1016,7 +2533,7 @@ "(Rational(2, 1), Rational(-2, 1))" ] }, - "execution_count": 31, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } @@ -1038,7 +2555,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 37, "id": "101598c6", "metadata": {}, "outputs": [ @@ -1048,7 +2565,7 @@ "1" ] }, - "execution_count": 32, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } @@ -1060,7 +2577,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 38, "id": "9b142728", "metadata": {}, "outputs": [ @@ -1070,7 +2587,7 @@ "3.987411578698641e-08" ] }, - "execution_count": 33, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } @@ -1091,7 +2608,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 39, "id": "ff405409", "metadata": {}, "outputs": [ @@ -1101,7 +2618,7 @@ "9.968528946746602e-09" ] }, - "execution_count": 34, + "execution_count": 39, "metadata": {}, "output_type": "execute_result" } @@ -1122,7 +2639,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 40, "id": "31b0143c", "metadata": {}, "outputs": [ @@ -1132,7 +2649,7 @@ "9.395259956013202e-05" ] }, - "execution_count": 35, + "execution_count": 40, "metadata": {}, "output_type": "execute_result" } @@ -1151,7 +2668,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 41, "id": "7cfba34a", "metadata": {}, "outputs": [ @@ -1159,8 +2676,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 10.5 ms, sys: 269 μs, total: 10.7 ms\n", - "Wall time: 10.7 ms\n" + "CPU times: user 8.88 ms, sys: 102 μs, total: 8.98 ms\n", + "Wall time: 9.03 ms\n" ] }, { @@ -1169,7 +2686,7 @@ "NashComputationResult(method='logit', rational=False, use_strategic=False, equilibria=[[[[1.0, 0.0], [0.3338351656285655, 0.666164834417892]], [[0.6670407651644307, 0.3329592348608147]]]], parameters={'first_step': 0.03, 'max_accel': 1.1})" ] }, - "execution_count": 36, + "execution_count": 41, "metadata": {}, "output_type": "execute_result" } @@ -1181,7 +2698,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 42, "id": "6f1809a7", "metadata": {}, "outputs": [ @@ -1189,8 +2706,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 20.1 ms, sys: 610 μs, total: 20.7 ms\n", - "Wall time: 21.5 ms\n" + "CPU times: user 16.9 ms, sys: 233 μs, total: 17.1 ms\n", + "Wall time: 17.2 ms\n" ] }, { @@ -1199,7 +2716,7 @@ "NashComputationResult(method='logit', rational=False, use_strategic=False, equilibria=[[[[1.0, 0.0], [0.33333338649882943, 0.6666666135011706]], [[0.6666667065407631, 0.3333332934592369]]]], parameters={'first_step': 0.03, 'max_accel': 1.1})" ] }, - "execution_count": 37, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" } @@ -1221,7 +2738,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 43, "id": "414b6f65", "metadata": {}, "outputs": [ @@ -1231,7 +2748,7 @@ "5.509533871672634e-05" ] }, - "execution_count": 38, + "execution_count": 43, "metadata": {}, "output_type": "execute_result" } @@ -1250,7 +2767,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 44, "id": "a892dc2b", "metadata": {}, "outputs": [ @@ -1260,7 +2777,7 @@ "5.509533871672634e-05" ] }, - "execution_count": 39, + "execution_count": 44, "metadata": {}, "output_type": "execute_result" } @@ -1288,7 +2805,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 45, "id": "2f79695a", "metadata": {}, "outputs": [ @@ -1298,7 +2815,7 @@ "[Rational(1, 3), Rational(1, 3), Rational(1, 3)]" ] }, - "execution_count": 40, + "execution_count": 45, "metadata": {}, "output_type": "execute_result" } @@ -1322,7 +2839,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 46, "id": "5de6acb2", "metadata": {}, "outputs": [ @@ -1332,7 +2849,7 @@ "[Rational(1, 4), Rational(1, 2), Rational(1, 4)]" ] }, - "execution_count": 41, + "execution_count": 46, "metadata": {}, "output_type": "execute_result" } @@ -1355,7 +2872,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 47, "id": "c47d2ab6", "metadata": {}, "outputs": [ @@ -1365,7 +2882,7 @@ "[Decimal('0.25'), Decimal('0.50'), Decimal('0.25')]" ] }, - "execution_count": 42, + "execution_count": 47, "metadata": {}, "output_type": "execute_result" } @@ -1392,7 +2909,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 48, "id": "04329084", "metadata": {}, "outputs": [ @@ -1402,7 +2919,7 @@ "[Rational(1, 4), Rational(1, 2), Rational(1, 4)]" ] }, - "execution_count": 43, + "execution_count": 48, "metadata": {}, "output_type": "execute_result" } @@ -1414,7 +2931,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 49, "id": "9015e129", "metadata": {}, "outputs": [ @@ -1424,7 +2941,7 @@ "[Decimal('0.25'), Decimal('0.50'), Decimal('0.25')]" ] }, - "execution_count": 44, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } @@ -1449,7 +2966,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 50, "id": "0a019aa5", "metadata": {}, "outputs": [ @@ -1459,7 +2976,7 @@ "[Decimal('0.25'), Decimal('0.5'), Decimal('0.25')]" ] }, - "execution_count": 45, + "execution_count": 50, "metadata": {}, "output_type": "execute_result" } @@ -1479,7 +2996,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 51, "id": "1991d288", "metadata": {}, "outputs": [ @@ -1509,7 +3026,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 52, "id": "b1dc37fd", "metadata": {}, "outputs": [ @@ -1519,7 +3036,7 @@ "1.0" ] }, - "execution_count": 47, + "execution_count": 52, "metadata": {}, "output_type": "execute_result" } @@ -1538,7 +3055,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 53, "id": "dc1edea2", "metadata": {}, "outputs": [ @@ -1548,7 +3065,7 @@ "Decimal('0.3333333333333333')" ] }, - "execution_count": 48, + "execution_count": 53, "metadata": {}, "output_type": "execute_result" } @@ -1567,7 +3084,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 54, "id": "1edd90d6", "metadata": {}, "outputs": [ @@ -1577,7 +3094,7 @@ "Decimal('0.9999999999999999')" ] }, - "execution_count": 49, + "execution_count": 54, "metadata": {}, "output_type": "execute_result" } @@ -1613,7 +3130,7 @@ ], "metadata": { "kernelspec": { - "display_name": "gambitvenv313", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, From 448bd13399a0ec6601c0b58a333711c9a8b0198c Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 27 Oct 2025 14:32:32 +0000 Subject: [PATCH 189/240] escape dollar signs in markdown files --- doc/tutorials/03_poker.ipynb | 194 +++++++++++++++++------------------ 1 file changed, 97 insertions(+), 97 deletions(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index c2aefe1bb..538ce48c3 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -18,16 +18,16 @@ "\n", "In our version of the game, there are two players, **Alice** and **Bob**, and a deck of cards, with equal numbers of **King** and **Queen** cards.\n", "\n", - "- The game begins with each player putting $1 in the pot.\n", + "- The game begins with each player putting `$1` in the pot.\n", "- A card is dealt at random to Alice\n", " - Alice observes her card\n", " - Bob does not observe the card\n", "- Alice then chooses either to **Raise** or to **Fold**.\n", " - If she chooses to Fold, Bob wins the pot and the game ends.\n", - " - If she chooses to Raise, she adds another $1 to the pot.\n", + " - If she chooses to Raise, she adds another `$1` to the pot.\n", "- Bob then chooses either to **Meet** or **Pass**.\n", " - If he chooses to Pass, Alice wins the pot and the game ends.\n", - " - If he chooses to Meet, he adds another $1 to the pot.\n", + " - If he chooses to Meet, he adds another `$1` to the pot.\n", "- There is then a showdown, in which Alice reveals her card.\n", " - If she has a King, then she wins the pot;\n", " - If she has a Queen, then Bob wins the pot." @@ -35,7 +35,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 55, "id": "69cbfe81", "metadata": {}, "outputs": [], @@ -54,7 +54,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 56, "id": "ad6a1119", "metadata": {}, "outputs": [], @@ -75,7 +75,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 57, "id": "841f9f74", "metadata": {}, "outputs": [ @@ -113,7 +113,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 58, "id": "fe80c64c", "metadata": {}, "outputs": [], @@ -129,7 +129,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 59, "id": "987d992e", "metadata": {}, "outputs": [ @@ -283,7 +283,7 @@ "" ] }, - "execution_count": 5, + "execution_count": 59, "metadata": {}, "output_type": "execute_result" } @@ -309,7 +309,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 60, "id": "0e3bb5ef", "metadata": {}, "outputs": [], @@ -326,7 +326,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 61, "id": "1a3cfb8b", "metadata": {}, "outputs": [ @@ -618,7 +618,7 @@ "" ] }, - "execution_count": 7, + "execution_count": 61, "metadata": {}, "output_type": "execute_result" } @@ -649,7 +649,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 62, "id": "dbfa7035", "metadata": {}, "outputs": [], @@ -665,7 +665,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 63, "id": "4727ea04", "metadata": {}, "outputs": [ @@ -969,7 +969,7 @@ "" ] }, - "execution_count": 9, + "execution_count": 63, "metadata": {}, "output_type": "execute_result" } @@ -989,7 +989,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 64, "id": "655cdae3", "metadata": {}, "outputs": [], @@ -1004,7 +1004,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 65, "id": "6057d01d", "metadata": {}, "outputs": [ @@ -1366,7 +1366,7 @@ "" ] }, - "execution_count": 11, + "execution_count": 65, "metadata": {}, "output_type": "execute_result" } @@ -1391,7 +1391,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 66, "id": "87c988be", "metadata": {}, "outputs": [], @@ -1412,7 +1412,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 67, "id": "29aa60a0", "metadata": {}, "outputs": [], @@ -1434,7 +1434,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 68, "id": "e6085ce1", "metadata": {}, "outputs": [ @@ -1778,7 +1778,7 @@ "" ] }, - "execution_count": 14, + "execution_count": 68, "metadata": {}, "output_type": "execute_result" } @@ -1801,7 +1801,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 69, "id": "4d92c8d9", "metadata": {}, "outputs": [ @@ -1811,7 +1811,7 @@ "NashComputationResult(method='lcp', rational=True, use_strategic=False, equilibria=[[[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]], [[Rational(2, 3), Rational(1, 3)]]]], parameters={'stop_after': 0, 'max_depth': 0})" ] }, - "execution_count": 15, + "execution_count": 69, "metadata": {}, "output_type": "execute_result" } @@ -1835,7 +1835,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 70, "id": "9967d6f7", "metadata": {}, "outputs": [ @@ -1854,7 +1854,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 71, "id": "3293e818", "metadata": {}, "outputs": [ @@ -1864,7 +1864,7 @@ "pygambit.gambit.MixedBehaviorProfileRational" ] }, - "execution_count": 17, + "execution_count": 71, "metadata": {}, "output_type": "execute_result" } @@ -1886,7 +1886,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 72, "id": "4cf38264", "metadata": {}, "outputs": [ @@ -1896,7 +1896,7 @@ "pygambit.gambit.MixedBehavior" ] }, - "execution_count": 18, + "execution_count": 72, "metadata": {}, "output_type": "execute_result" } @@ -1907,7 +1907,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 73, "id": "85e7fdda", "metadata": {}, "outputs": [ @@ -1920,7 +1920,7 @@ "[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]]" ] }, - "execution_count": 19, + "execution_count": 73, "metadata": {}, "output_type": "execute_result" } @@ -1945,7 +1945,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 74, "id": "f45a82b6", "metadata": {}, "outputs": [ @@ -1977,7 +1977,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 75, "id": "83bbd3e5", "metadata": {}, "outputs": [ @@ -2010,7 +2010,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 76, "id": "6bf51b38", "metadata": {}, "outputs": [ @@ -2023,7 +2023,7 @@ "[[Rational(2, 3), Rational(1, 3)]]" ] }, - "execution_count": 22, + "execution_count": 76, "metadata": {}, "output_type": "execute_result" } @@ -2046,7 +2046,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 77, "id": "2966e700", "metadata": {}, "outputs": [ @@ -2059,7 +2059,7 @@ "Rational(2, 3)" ] }, - "execution_count": 23, + "execution_count": 77, "metadata": {}, "output_type": "execute_result" } @@ -2078,7 +2078,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 78, "id": "f5a7f110", "metadata": {}, "outputs": [ @@ -2091,7 +2091,7 @@ "Rational(2, 3)" ] }, - "execution_count": 24, + "execution_count": 78, "metadata": {}, "output_type": "execute_result" } @@ -2112,7 +2112,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 79, "id": "a7d3816d", "metadata": {}, "outputs": [ @@ -2147,7 +2147,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 80, "id": "4a54b20c", "metadata": {}, "outputs": [ @@ -2179,7 +2179,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 81, "id": "b250c1cd", "metadata": {}, "outputs": [ @@ -2192,7 +2192,7 @@ "Rational(2, 3)" ] }, - "execution_count": 27, + "execution_count": 81, "metadata": {}, "output_type": "execute_result" } @@ -2211,7 +2211,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 82, "id": "6f01846b", "metadata": {}, "outputs": [ @@ -2242,7 +2242,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 83, "id": "5079d231", "metadata": {}, "outputs": [ @@ -2255,7 +2255,7 @@ "Rational(1, 3)" ] }, - "execution_count": 29, + "execution_count": 83, "metadata": {}, "output_type": "execute_result" } @@ -2266,7 +2266,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 84, "id": "c55f2c7a", "metadata": {}, "outputs": [ @@ -2279,7 +2279,7 @@ "Rational(-1, 3)" ] }, - "execution_count": 30, + "execution_count": 84, "metadata": {}, "output_type": "execute_result" } @@ -2306,7 +2306,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 85, "id": "d4ecff88", "metadata": {}, "outputs": [ @@ -2316,7 +2316,7 @@ "['11', '12', '21', '22']" ] }, - "execution_count": 31, + "execution_count": 85, "metadata": {}, "output_type": "execute_result" } @@ -2340,7 +2340,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 86, "id": "24e4b6e8", "metadata": {}, "outputs": [ @@ -2350,7 +2350,7 @@ "NashComputationResult(method='gnm', rational=False, use_strategic=True, equilibria=[[[0.33333333333866677, 0.6666666666613335, 0.0, 0.0], [0.6666666666559997, 0.3333333333440004]]], parameters={'perturbation': [[1.0, 0.0, 0.0, 0.0], [1.0, 0.0]], 'end_lambda': -10.0, 'steps': 100, 'local_newton_interval': 3, 'local_newton_maxits': 10})" ] }, - "execution_count": 32, + "execution_count": 86, "metadata": {}, "output_type": "execute_result" } @@ -2372,7 +2372,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 87, "id": "d9ffb4b8", "metadata": {}, "outputs": [ @@ -2382,7 +2382,7 @@ "pygambit.gambit.MixedStrategyProfileDouble" ] }, - "execution_count": 33, + "execution_count": 87, "metadata": {}, "output_type": "execute_result" } @@ -2404,7 +2404,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 88, "id": "56e2f847", "metadata": {}, "outputs": [ @@ -2457,7 +2457,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 89, "id": "d18a91f0", "metadata": {}, "outputs": [ @@ -2523,7 +2523,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 90, "id": "0c55f745", "metadata": {}, "outputs": [ @@ -2533,7 +2533,7 @@ "(Rational(2, 1), Rational(-2, 1))" ] }, - "execution_count": 36, + "execution_count": 90, "metadata": {}, "output_type": "execute_result" } @@ -2555,7 +2555,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 91, "id": "101598c6", "metadata": {}, "outputs": [ @@ -2565,7 +2565,7 @@ "1" ] }, - "execution_count": 37, + "execution_count": 91, "metadata": {}, "output_type": "execute_result" } @@ -2577,7 +2577,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 92, "id": "9b142728", "metadata": {}, "outputs": [ @@ -2587,7 +2587,7 @@ "3.987411578698641e-08" ] }, - "execution_count": 38, + "execution_count": 92, "metadata": {}, "output_type": "execute_result" } @@ -2608,7 +2608,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 93, "id": "ff405409", "metadata": {}, "outputs": [ @@ -2618,7 +2618,7 @@ "9.968528946746602e-09" ] }, - "execution_count": 39, + "execution_count": 93, "metadata": {}, "output_type": "execute_result" } @@ -2639,7 +2639,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 94, "id": "31b0143c", "metadata": {}, "outputs": [ @@ -2649,7 +2649,7 @@ "9.395259956013202e-05" ] }, - "execution_count": 40, + "execution_count": 94, "metadata": {}, "output_type": "execute_result" } @@ -2668,7 +2668,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 95, "id": "7cfba34a", "metadata": {}, "outputs": [ @@ -2676,8 +2676,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 8.88 ms, sys: 102 μs, total: 8.98 ms\n", - "Wall time: 9.03 ms\n" + "CPU times: user 9.05 ms, sys: 147 μs, total: 9.19 ms\n", + "Wall time: 9.22 ms\n" ] }, { @@ -2686,7 +2686,7 @@ "NashComputationResult(method='logit', rational=False, use_strategic=False, equilibria=[[[[1.0, 0.0], [0.3338351656285655, 0.666164834417892]], [[0.6670407651644307, 0.3329592348608147]]]], parameters={'first_step': 0.03, 'max_accel': 1.1})" ] }, - "execution_count": 41, + "execution_count": 95, "metadata": {}, "output_type": "execute_result" } @@ -2698,7 +2698,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 96, "id": "6f1809a7", "metadata": {}, "outputs": [ @@ -2706,8 +2706,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 16.9 ms, sys: 233 μs, total: 17.1 ms\n", - "Wall time: 17.2 ms\n" + "CPU times: user 16.7 ms, sys: 282 μs, total: 17 ms\n", + "Wall time: 17 ms\n" ] }, { @@ -2716,7 +2716,7 @@ "NashComputationResult(method='logit', rational=False, use_strategic=False, equilibria=[[[[1.0, 0.0], [0.33333338649882943, 0.6666666135011706]], [[0.6666667065407631, 0.3333332934592369]]]], parameters={'first_step': 0.03, 'max_accel': 1.1})" ] }, - "execution_count": 42, + "execution_count": 96, "metadata": {}, "output_type": "execute_result" } @@ -2738,7 +2738,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 97, "id": "414b6f65", "metadata": {}, "outputs": [ @@ -2748,7 +2748,7 @@ "5.509533871672634e-05" ] }, - "execution_count": 43, + "execution_count": 97, "metadata": {}, "output_type": "execute_result" } @@ -2767,7 +2767,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 98, "id": "a892dc2b", "metadata": {}, "outputs": [ @@ -2777,7 +2777,7 @@ "5.509533871672634e-05" ] }, - "execution_count": 44, + "execution_count": 98, "metadata": {}, "output_type": "execute_result" } @@ -2805,7 +2805,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 99, "id": "2f79695a", "metadata": {}, "outputs": [ @@ -2815,7 +2815,7 @@ "[Rational(1, 3), Rational(1, 3), Rational(1, 3)]" ] }, - "execution_count": 45, + "execution_count": 99, "metadata": {}, "output_type": "execute_result" } @@ -2839,7 +2839,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 100, "id": "5de6acb2", "metadata": {}, "outputs": [ @@ -2849,7 +2849,7 @@ "[Rational(1, 4), Rational(1, 2), Rational(1, 4)]" ] }, - "execution_count": 46, + "execution_count": 100, "metadata": {}, "output_type": "execute_result" } @@ -2872,7 +2872,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 101, "id": "c47d2ab6", "metadata": {}, "outputs": [ @@ -2882,7 +2882,7 @@ "[Decimal('0.25'), Decimal('0.50'), Decimal('0.25')]" ] }, - "execution_count": 47, + "execution_count": 101, "metadata": {}, "output_type": "execute_result" } @@ -2909,7 +2909,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 102, "id": "04329084", "metadata": {}, "outputs": [ @@ -2919,7 +2919,7 @@ "[Rational(1, 4), Rational(1, 2), Rational(1, 4)]" ] }, - "execution_count": 48, + "execution_count": 102, "metadata": {}, "output_type": "execute_result" } @@ -2931,7 +2931,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 103, "id": "9015e129", "metadata": {}, "outputs": [ @@ -2941,7 +2941,7 @@ "[Decimal('0.25'), Decimal('0.50'), Decimal('0.25')]" ] }, - "execution_count": 49, + "execution_count": 103, "metadata": {}, "output_type": "execute_result" } @@ -2966,7 +2966,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 104, "id": "0a019aa5", "metadata": {}, "outputs": [ @@ -2976,7 +2976,7 @@ "[Decimal('0.25'), Decimal('0.5'), Decimal('0.25')]" ] }, - "execution_count": 50, + "execution_count": 104, "metadata": {}, "output_type": "execute_result" } @@ -2996,7 +2996,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 105, "id": "1991d288", "metadata": {}, "outputs": [ @@ -3026,7 +3026,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 106, "id": "b1dc37fd", "metadata": {}, "outputs": [ @@ -3036,7 +3036,7 @@ "1.0" ] }, - "execution_count": 52, + "execution_count": 106, "metadata": {}, "output_type": "execute_result" } @@ -3055,7 +3055,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 107, "id": "dc1edea2", "metadata": {}, "outputs": [ @@ -3065,7 +3065,7 @@ "Decimal('0.3333333333333333')" ] }, - "execution_count": 53, + "execution_count": 107, "metadata": {}, "output_type": "execute_result" } @@ -3084,7 +3084,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 108, "id": "1edd90d6", "metadata": {}, "outputs": [ @@ -3094,7 +3094,7 @@ "Decimal('0.9999999999999999')" ] }, - "execution_count": 54, + "execution_count": 108, "metadata": {}, "output_type": "execute_result" } From 6c20364308f51dffd3a853bae73e8ebcf16e4aed Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 27 Oct 2025 14:50:48 +0000 Subject: [PATCH 190/240] add poker efg --- doc/tutorials/games/one_card_poker.efg | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 doc/tutorials/games/one_card_poker.efg diff --git a/doc/tutorials/games/one_card_poker.efg b/doc/tutorials/games/one_card_poker.efg new file mode 100644 index 000000000..6dbeb1fcb --- /dev/null +++ b/doc/tutorials/games/one_card_poker.efg @@ -0,0 +1,14 @@ +EFG 2 R "One card poker" { "Alice" "Bob" } +"" + +c "" 1 "" { "King" 1/2 "Queen" 1/2 } 0 +p "King" 1 1 "" { "Raise" "Fold" } 0 +p "Raise" 2 1 "" { "Meet" "Pass" } 0 +t "Meet" 1 "Alice wins big" { 2, -2 } +t "Pass" 2 "Alice wins" { 1, -1 } +t "Fold" 4 "Bob wins" { -1, 1 } +p "Queen" 1 2 "" { "Raise" "Fold" } 0 +p "Raise" 2 1 "" { "Meet" "Pass" } 0 +t "Meet" 3 "Bob wins big" { -2, 2 } +t "Pass" 2 "Alice wins" { 1, -1 } +t "Fold" 4 "Bob wins" { -1, 1 } From e53e4c14a1a2518f07a5f82299cddaef5e3e0aee Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 27 Oct 2025 14:52:19 +0000 Subject: [PATCH 191/240] save openspiel nb with no saved outputs --- doc/tutorials/06_gambit_with_openspiel.ipynb | 523 +++---------------- 1 file changed, 84 insertions(+), 439 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 20f6ff4ef..0803cd1f0 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -2,6 +2,7 @@ "cells": [ { "cell_type": "markdown", + "id": "5de2c762", "metadata": {}, "source": [ "# 6) Using Gambit with OpenSpiel\n", @@ -24,7 +25,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "ebb78322", "metadata": {}, "outputs": [], @@ -41,7 +42,8 @@ "\n", "import pyspiel\n", "\n", - "import pygambit as gbt" + "import pygambit as gbt\n", + "from draw_tree import draw_tree" ] }, { @@ -56,18 +58,10 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "b3eb3671", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "['2048', 'add_noise', 'amazons', 'backgammon', 'bargaining', 'battleship', 'blackjack', 'blotto', 'breakthrough', 'bridge', 'bridge_uncontested_bidding', 'cached_tree', 'catch', 'checkers', 'chess', 'cliff_walking', 'clobber', 'coin_game', 'colored_trails', 'connect_four', 'coop_box_pushing', 'coop_to_1p', 'coordinated_mp', 'crazy_eights', 'cribbage', 'cursor_go', 'dark_chess', 'dark_hex', 'dark_hex_ir', 'deep_sea', 'dots_and_boxes', 'dou_dizhu', 'efg_game', 'einstein_wurfelt_nicht', 'euchre', 'first_sealed_auction', 'gin_rummy', 'go', 'goofspiel', 'hanabi', 'havannah', 'hearts', 'hex', 'hive', 'kriegspiel', 'kuhn_poker', 'laser_tag', 'leduc_poker', 'lewis_signaling', 'liars_dice', 'liars_dice_ir', 'lines_of_action', 'maedn', 'mancala', 'markov_soccer', 'matching_pennies_3p', 'matrix_bos', 'matrix_brps', 'matrix_cd', 'matrix_coordination', 'matrix_mp', 'matrix_pd', 'matrix_rps', 'matrix_rpsw', 'matrix_sh', 'matrix_shapleys_game', 'mfg_crowd_modelling', 'mfg_crowd_modelling_2d', 'mfg_dynamic_routing', 'mfg_garnet', 'misere', 'mnk', 'morpion_solitaire', 'negotiation', 'nfg_game', 'nim', 'nine_mens_morris', 'normal_form_extensive_game', 'oh_hell', 'oshi_zumo', 'othello', 'oware', 'pathfinding', 'pentago', 'phantom_go', 'phantom_ttt', 'phantom_ttt_ir', 'pig', 'quoridor', 'rbc', 'repeated_game', 'restricted_nash_response', 'sheriff', 'skat', 'solitaire', 'spades', 'start_at', 'stones_and_gems', 'tarok', 'tic_tac_toe', 'tiny_bridge_2p', 'tiny_bridge_4p', 'tiny_hanabi', 'trade_comm', 'turn_based_simultaneous_game', 'twixt', 'ultimate_tic_tac_toe', 'universal_poker', 'y', 'zerosum']\n" - ] - } - ], + "outputs": [], "source": [ "print(pyspiel.registered_names())" ] @@ -86,7 +80,8 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, + "id": "fc3a1c6a", "metadata": {}, "outputs": [], "source": [ @@ -103,27 +98,10 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "1bcdb97b", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Terminal? false\n", - "Row actions: Rock Paper Scissors \n", - "Col actions: Rock Paper Scissors \n", - "Utility matrix:\n", - "0,0 -1,1 1,-1 \n", - "1,-1 0,0 -1,1 \n", - "-1,1 1,-1 0,0 " - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "state = ops_matrix_rps_game.new_initial_state()\n", "state" @@ -139,19 +117,10 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "70575dc7", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[0, 1, 2]\n", - "[0, 1, 2]\n" - ] - } - ], + "outputs": [], "source": [ "print(state.legal_actions(0)) # Player 0 (row) actions\n", "print(state.legal_actions(1)) # Player 1 (column) actions" @@ -169,29 +138,10 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "a532321e", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Terminal? true\n", - "History: 0, 1\n", - "Returns: -1,1\n", - "Row actions: \n", - "Col actions: \n", - "Utility matrix:\n", - "0,0 -1,1 1,-1 \n", - "1,-1 0,0 -1,1 \n", - "-1,1 1,-1 0,0 " - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "state.apply_actions([0, 1])\n", "state" @@ -207,21 +157,10 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "f5fa4e42", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'NFG 1 R \"OpenSpiel export of matrix_rps()\"\\n{ \"Player 0\" \"Player 1\" } { 3 3 }\\n\\n0 0\\n1 -1\\n-1 1\\n-1 1\\n0 0\\n1 -1\\n1 -1\\n-1 1\\n0 0\\n'" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "nfg_matrix_rps_game = pyspiel.game_to_nfg_string(ops_matrix_rps_game)\n", "nfg_matrix_rps_game" @@ -238,25 +177,10 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "b684325e", "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "

Rock-Paper-Scissors

\n", - "
RockPaperScissors
Rock0,0-1,11,-1
Paper1,-10,0-1,1
Scissors-1,11,-10,0
\n" - ], - "text/plain": [ - "Game(title='Rock-Paper-Scissors')" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "gbt_matrix_rps_game = gbt.read_nfg(StringIO(nfg_matrix_rps_game))\n", "\n", @@ -280,24 +204,10 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "707c6c30", "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[\\left[\\frac{1}{3},\\frac{1}{3},\\frac{1}{3}\\right],\\left[\\frac{1}{3},\\frac{1}{3},\\frac{1}{3}\\right]\\right]$" - ], - "text/plain": [ - "[[Rational(1, 3), Rational(1, 3), Rational(1, 3)], [Rational(1, 3), Rational(1, 3), Rational(1, 3)]]" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "gbt.nash.lcp_solve(gbt_matrix_rps_game).equilibria[0]" ] @@ -314,21 +224,10 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "cf1acdeb", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([ 0.03, -0.03, 0. ])" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "matrix_rps_payoffs = game_payoffs_array(ops_matrix_rps_game)\n", "dyn = dynamics.SinglePopulationDynamics(matrix_rps_payoffs, dynamics.replicator)\n", @@ -349,21 +248,10 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "b9a352c5", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "def plot_rps_dynamics(proportions, steps=100, alpha=0.1, plot_average_strategy=False):\n", " x = np.array(proportions)\n", @@ -408,21 +296,10 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "86c6aa52", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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BKT333/faz1VqlT2iJEOHTrIgAEDEvLaAAAAAiMg6Yg1AACA5CzBapAAAABSbAuSDuXXB9TGxbx58+JzTQAAAIHVgqTTcy9fvlw2b97s2bZlyxZZsWKFDffX/e4FAAAgRQSk3Llzy9NPP221SNpCpMv+/fulTZs2Vqz96aefepa4mjRpkoSGhkr69OmlevXqsnHjxliP1ferUqWKZM2aVUJCQqRChQo2gi66oUOHSokSJWx/tmzZ7EG6GzZs8DpG309bwqIvo0aN8vV2AACAZMjnh9VqCFq7dq0UL17ca/vevXvlH//4h5w7d86nC5g7d660b99epk6dauFo3Lhx8uWXX9r5cuXKdcvxP/74o/z1118WgNKmTSsLFy6UV199Vb777jtp1KiRHfP555/ba4sUKSJ///23jbzTc+7bt8+u3x2QOnXqJJ07d/acO3PmzBaq4oKH1QIAEHji+vntcwvSzZs3Zc+ePbds121RUVE+X+jYsWMtpHTs2FFKlSplQSljxozyySefxHh8nTp1rA6qZMmS9uy33r17S7ly5Sy0uT377LPWaqQBqXTp0vYeekN27NjhdS4NRHny5PEstwtHN27csHNEXwAAQPLkc0DSIKMtLxo6NJToMmbMGHnxxRdtny/Cw8OtfknDjOeCUqWy9XXr1t3x9dr4pfVQ2tpUq1atWN/jo48+srRYvnx5r33apZYjRw6pWLGivPvuuxb+YhMWFuZVX1WgQAGfflYAAJCMR7G999571tqioUhn0FZ58+aV119/3bq6fHH27FmJjIy0uqbodD2mVio3bRbLnz+/teqkTp1aJk+eLA0aNPA6Rrve2rZtK9euXbPrW7p0qeTMmdOzv1evXlKpUiXJnj27/PzzzzbJpf48Gvxiovv79u3rWdcWJEISAADJk88BSVt43njjDVvc3Uz3ugZHu8a2bdsmV65csRYkDS7anabdb25169a1YzSETZs2zQrLtVDbXdcUPexoF53WM7300kvWUpQuXbpb3lO3xbQdAAAkP/GaKFK7opYtWyZffPGFZ06k48ePW2DxhbboaAvQqVOnvLbrurZSxXrRqVJJsWLFbASbtlo99dRTFmyi03oiPebhhx+Wjz/+WIKDg+1rbLRAXH+ugwcP+vQzAACA5MfngHTo0CEpW7asPPHEE9K9e3c5c+aMbR89erS89tprPp1L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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "plot_rps_dynamics([1/3, 1/3, 1/3])" ] @@ -437,21 +314,10 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "189f898f", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "plot_rps_dynamics([0.3, 0.3, 0.4], plot_average_strategy=True)" ] @@ -468,25 +334,10 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": null, "id": "cdd0bfe0", "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "

Prisoner's Dilemma

\n", - "
CooperateDefect
Cooperate-1,-1-3,0
Defect0,-3-2,-2
\n" - ], - "text/plain": [ - "Game(title='Prisoner's Dilemma')" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "gbt_prisoners_dilemma_game = gbt.read_nfg(\"games/prisoners_dilemma.nfg\")\n", "gbt_prisoners_dilemma_game" @@ -494,24 +345,10 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": null, "id": "d42e6545", "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[\\left[0,1\\right],\\left[0,1\\right]\\right]$" - ], - "text/plain": [ - "[[Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1)]]" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "gbt.nash.lcp_solve(gbt_prisoners_dilemma_game).equilibria[0]" ] @@ -528,7 +365,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": null, "id": "fcd42af0", "metadata": {}, "outputs": [], @@ -554,28 +391,10 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": null, "id": "7ce6f2e2", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Terminal? true\n", - "History: 1, 1\n", - "Returns: -2,-2\n", - "Row actions: \n", - "Col actions: \n", - "Utility matrix:\n", - "-1,-1 -3,0 \n", - "0,-3 -2,-2 " - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "state = ops_prisoners_dilemma_game.new_initial_state()\n", "state.apply_actions([1, 1])\n", @@ -593,21 +412,10 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": null, "id": "d1495c7c", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "matrix_pd_payoffs = game_payoffs_array(ops_prisoners_dilemma_game)\n", "pd_dyn = dynamics.SinglePopulationDynamics(matrix_pd_payoffs, dynamics.replicator)\n", @@ -631,6 +439,7 @@ }, { "cell_type": "markdown", + "id": "7c3b0739", "metadata": {}, "source": [ "\n", @@ -650,25 +459,14 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "id": "02a42600", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'EFG 2 R \"tiny_hanabi()\" { \"Pl0\" \"Pl1\" } \\nc \"\" 1 \"\" { \"d0\" 0.5000000000000000 \"d1\" 0.5000000000000000 } 0\\n c \"p0:d0\" 2 \"\" { \"d0\" 0.5000000000000000 \"d1\" 0.5000000000000000 } 0\\n p \"\" 1 1 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 1 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 1 \"\" { 10.0 10.0 }\\n t \"\" 2 \"\" { 0.0 0.0 }\\n t \"\" 3 \"\" { 0.0 0.0 }\\n p \"\" 2 2 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 4 \"\" { 4.0 4.0 }\\n t \"\" 5 \"\" { 8.0 8.0 }\\n t \"\" 6 \"\" { 4.0 4.0 }\\n p \"\" 2 3 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 7 \"\" { 10.0 10.0 }\\n t \"\" 8 \"\" { 0.0 0.0 }\\n t \"\" 9 \"\" { 0.0 0.0 }\\n p \"\" 1 1 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 4 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 10 \"\" { 0.0 0.0 }\\n t \"\" 11 \"\" { 0.0 0.0 }\\n t \"\" 12 \"\" { 10.0 10.0 }\\n p \"\" 2 5 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 13 \"\" { 4.0 4.0 }\\n t \"\" 14 \"\" { 8.0 8.0 }\\n t \"\" 15 \"\" { 4.0 4.0 }\\n p \"\" 2 6 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 16 \"\" { 0.0 0.0 }\\n t \"\" 17 \"\" { 0.0 0.0 }\\n t \"\" 18 \"\" { 10.0 10.0 }\\n c \"p0:d1\" 3 \"\" { \"d0\" 0.5000000000000000 \"d1\" 0.5000000000000000 } 0\\n p \"\" 1 2 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 1 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 19 \"\" { 0.0 0.0 }\\n t \"\" 20 \"\" { 0.0 0.0 }\\n t \"\" 21 \"\" { 10.0 10.0 }\\n p \"\" 2 2 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 22 \"\" { 4.0 4.0 }\\n t \"\" 23 \"\" { 8.0 8.0 }\\n t \"\" 24 \"\" { 4.0 4.0 }\\n p \"\" 2 3 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 25 \"\" { 0.0 0.0 }\\n t \"\" 26 \"\" { 0.0 0.0 }\\n t \"\" 27 \"\" { 0.0 0.0 }\\n p \"\" 1 2 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 4 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 28 \"\" { 10.0 10.0 }\\n t \"\" 29 \"\" { 0.0 0.0 }\\n t \"\" 30 \"\" { 0.0 0.0 }\\n p \"\" 2 5 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 31 \"\" { 4.0 4.0 }\\n t \"\" 32 \"\" { 8.0 8.0 }\\n t \"\" 33 \"\" { 4.0 4.0 }\\n p \"\" 2 6 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 34 \"\" { 10.0 10.0 }\\n t \"\" 35 \"\" { 0.0 0.0 }\\n t \"\" 36 \"\" { 0.0 0.0 }\\n'" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "ops_hanabi_game = pyspiel.load_game(\"tiny_hanabi\")\n", "efg_hanabi_game = export_gambit(ops_hanabi_game)\n", - "efg_hanabi_game" + "draw_tree(StringIO(efg_hanabi_game))" ] }, { @@ -682,19 +480,10 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "id": "1a534e25", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Pl0\n", - "Pl1\n" - ] - } - ], + "outputs": [], "source": [ "gbt_hanabi_game = gbt.read_efg(StringIO(efg_hanabi_game))\n", "eqm = gbt.nash.lcp_solve(gbt_hanabi_game).equilibria[0]\n", @@ -712,24 +501,10 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": null, "id": "1ec19b1c", "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[\\left[0,0,1\\right],\\left[0,1,0\\right]\\right]$" - ], - "text/plain": [ - "[[Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)]]" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "eqm['Pl0']" ] @@ -744,19 +519,10 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": null, "id": "ae9fc7a7", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "At information set 0, Player 0 plays action 0 with probability: 0 and action 1 with probability: 0 and action 2 with probability: 1\n", - "At information set 1, Player 0 plays action 0 with probability: 0 and action 1 with probability: 1 and action 2 with probability: 0\n" - ] - } - ], + "outputs": [], "source": [ "for infoset, mixed_action in eqm[\"Pl0\"].mixed_actions():\n", " print(\n", @@ -777,47 +543,20 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": null, "id": "8528e1bd", "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[\\left[0,0,1\\right],\\left[0,1,0\\right],\\left[1,0,0\\right],\\left[0,0,1\\right],\\left[0,1,0\\right],\\left[0,0,1\\right]\\right]$" - ], - "text/plain": [ - "[[Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)], [Rational(1, 1), Rational(0, 1), Rational(0, 1)], [Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)], [Rational(0, 1), Rational(0, 1), Rational(1, 1)]]" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "eqm['Pl1']" ] }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "id": "2965aed0", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "At information set 0, Player 1 plays action 0 with probability: 0 and action 1 with probability: 0 and action 2 with probability: 1\n", - "At information set 1, Player 1 plays action 0 with probability: 0 and action 1 with probability: 1 and action 2 with probability: 0\n", - "At information set 2, Player 1 plays action 0 with probability: 1 and action 1 with probability: 0 and action 2 with probability: 0\n", - "At information set 3, Player 1 plays action 0 with probability: 0 and action 1 with probability: 0 and action 2 with probability: 1\n", - "At information set 4, Player 1 plays action 0 with probability: 0 and action 1 with probability: 1 and action 2 with probability: 0\n", - "At information set 5, Player 1 plays action 0 with probability: 0 and action 1 with probability: 0 and action 2 with probability: 1\n" - ] - } - ], + "outputs": [], "source": [ "for infoset, mixed_action in eqm[\"Pl1\"].mixed_actions():\n", " print(\n", @@ -842,7 +581,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "id": "4e72c924", "metadata": {}, "outputs": [], @@ -869,21 +608,10 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": null, "id": "53547263", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Episodes: 0\n", - "Episodes: 10000\n", - "Episodes: 20000\n", - "Episodes: 30000\n" - ] - } - ], + "outputs": [], "source": [ "for cur_episode in range(30000):\n", " if cur_episode % 10000 == 0:\n", @@ -912,26 +640,10 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": null, "id": "d71bc733", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "p0:d0 p1:d1\n", - "Agent 0 chooses p0a2\n", - "\n", - "p0:d0 p1:d1 p0:a2\n", - "Agent 1 chooses p1a2\n", - "\n", - "p0:d0 p1:d1 p0:a2 p1:a2\n", - "Rewards: [10.0, 10.0]\n" - ] - } - ], + "outputs": [], "source": [ "time_step = env.reset()\n", "\n", @@ -974,23 +686,22 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, + "id": "58ede2ad", + "metadata": {}, + "outputs": [], + "source": [ + "draw_tree(\"games/one_card_poker.efg\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, "id": "07340e32", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "efg_game()" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "with open(\"../poker.efg\", \"r\") as f:\n", + "outputs": [], + "source": [ + "with open(\"games/one_card_poker.efg\", \"r\") as f:\n", " poker_efg_string = f.read()\n", " ops_one_card_poker = pyspiel.load_efg_game(poker_efg_string)\n", "ops_one_card_poker" @@ -1008,21 +719,10 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "id": "c01c4d6f", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "4" - ] - }, - "execution_count": 29, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "ops_one_card_poker.num_distinct_actions()" ] @@ -1039,21 +739,10 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "id": "3b9cc43b", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0: Chance: 1 King 0.5 Queen 0.5" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "state = ops_one_card_poker.new_initial_state()\n", "state" @@ -1069,21 +758,10 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "id": "4dd5d504", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "1: Player: 1 1 Raise Fold" - ] - }, - "execution_count": 31, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "state.apply_action(0)\n", "state" @@ -1100,21 +778,10 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "id": "bd15369f", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "3: Player: 2 1 Meet Pass" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "state.apply_action(0)\n", "state" @@ -1130,21 +797,10 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "id": "8d81ff6b", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[2, 3]" - ] - }, - "execution_count": 33, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "state.legal_actions()" ] @@ -1160,21 +816,10 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": null, "id": "97913fe5", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "6: Terminal: Alice wins 1 -1" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "state.apply_action(3)\n", "state" @@ -1191,7 +836,7 @@ ], "metadata": { "kernelspec": { - "display_name": "gbt_pygraphviz", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -1205,7 +850,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.13" + "version": "3.13.5" } }, "nbformat": 4, From c95e5a7dd74ee4db25585e0d8998356e27778d00 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 27 Oct 2025 14:53:12 +0000 Subject: [PATCH 192/240] add .ipynb_checkpoints to .gitignore --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 2ee3ed222..b77f42222 100644 --- a/.gitignore +++ b/.gitignore @@ -40,4 +40,5 @@ dist .venv *.dmg Gambit.app/* -*.ef \ No newline at end of file +*.ef +doc/tutorials/*.ipynb_checkpoints \ No newline at end of file From 00746c8c9ea92283430f6b68e1314d6dc7f59c44 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 27 Oct 2025 15:04:30 +0000 Subject: [PATCH 193/240] Revert "save openspiel nb with no saved outputs" This reverts commit e53e4c14a1a2518f07a5f82299cddaef5e3e0aee. --- doc/tutorials/06_gambit_with_openspiel.ipynb | 523 ++++++++++++++++--- 1 file changed, 439 insertions(+), 84 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 0803cd1f0..20f6ff4ef 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -2,7 +2,6 @@ "cells": [ { "cell_type": "markdown", - "id": "5de2c762", "metadata": {}, "source": [ "# 6) Using Gambit with OpenSpiel\n", @@ -25,7 +24,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "ebb78322", "metadata": {}, "outputs": [], @@ -42,8 +41,7 @@ "\n", "import pyspiel\n", "\n", - "import pygambit as gbt\n", - "from draw_tree import draw_tree" + "import pygambit as gbt" ] }, { @@ -58,10 +56,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "b3eb3671", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['2048', 'add_noise', 'amazons', 'backgammon', 'bargaining', 'battleship', 'blackjack', 'blotto', 'breakthrough', 'bridge', 'bridge_uncontested_bidding', 'cached_tree', 'catch', 'checkers', 'chess', 'cliff_walking', 'clobber', 'coin_game', 'colored_trails', 'connect_four', 'coop_box_pushing', 'coop_to_1p', 'coordinated_mp', 'crazy_eights', 'cribbage', 'cursor_go', 'dark_chess', 'dark_hex', 'dark_hex_ir', 'deep_sea', 'dots_and_boxes', 'dou_dizhu', 'efg_game', 'einstein_wurfelt_nicht', 'euchre', 'first_sealed_auction', 'gin_rummy', 'go', 'goofspiel', 'hanabi', 'havannah', 'hearts', 'hex', 'hive', 'kriegspiel', 'kuhn_poker', 'laser_tag', 'leduc_poker', 'lewis_signaling', 'liars_dice', 'liars_dice_ir', 'lines_of_action', 'maedn', 'mancala', 'markov_soccer', 'matching_pennies_3p', 'matrix_bos', 'matrix_brps', 'matrix_cd', 'matrix_coordination', 'matrix_mp', 'matrix_pd', 'matrix_rps', 'matrix_rpsw', 'matrix_sh', 'matrix_shapleys_game', 'mfg_crowd_modelling', 'mfg_crowd_modelling_2d', 'mfg_dynamic_routing', 'mfg_garnet', 'misere', 'mnk', 'morpion_solitaire', 'negotiation', 'nfg_game', 'nim', 'nine_mens_morris', 'normal_form_extensive_game', 'oh_hell', 'oshi_zumo', 'othello', 'oware', 'pathfinding', 'pentago', 'phantom_go', 'phantom_ttt', 'phantom_ttt_ir', 'pig', 'quoridor', 'rbc', 'repeated_game', 'restricted_nash_response', 'sheriff', 'skat', 'solitaire', 'spades', 'start_at', 'stones_and_gems', 'tarok', 'tic_tac_toe', 'tiny_bridge_2p', 'tiny_bridge_4p', 'tiny_hanabi', 'trade_comm', 'turn_based_simultaneous_game', 'twixt', 'ultimate_tic_tac_toe', 'universal_poker', 'y', 'zerosum']\n" + ] + } + ], "source": [ "print(pyspiel.registered_names())" ] @@ -80,8 +86,7 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "fc3a1c6a", + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -98,10 +103,27 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "1bcdb97b", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Terminal? false\n", + "Row actions: Rock Paper Scissors \n", + "Col actions: Rock Paper Scissors \n", + "Utility matrix:\n", + "0,0 -1,1 1,-1 \n", + "1,-1 0,0 -1,1 \n", + "-1,1 1,-1 0,0 " + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "state = ops_matrix_rps_game.new_initial_state()\n", "state" @@ -117,10 +139,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "70575dc7", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0, 1, 2]\n", + "[0, 1, 2]\n" + ] + } + ], "source": [ "print(state.legal_actions(0)) # Player 0 (row) actions\n", "print(state.legal_actions(1)) # Player 1 (column) actions" @@ -138,10 +169,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "a532321e", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Terminal? true\n", + "History: 0, 1\n", + "Returns: -1,1\n", + "Row actions: \n", + "Col actions: \n", + "Utility matrix:\n", + "0,0 -1,1 1,-1 \n", + "1,-1 0,0 -1,1 \n", + "-1,1 1,-1 0,0 " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "state.apply_actions([0, 1])\n", "state" @@ -157,10 +207,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "f5fa4e42", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "'NFG 1 R \"OpenSpiel export of matrix_rps()\"\\n{ \"Player 0\" \"Player 1\" } { 3 3 }\\n\\n0 0\\n1 -1\\n-1 1\\n-1 1\\n0 0\\n1 -1\\n1 -1\\n-1 1\\n0 0\\n'" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "nfg_matrix_rps_game = pyspiel.game_to_nfg_string(ops_matrix_rps_game)\n", "nfg_matrix_rps_game" @@ -177,10 +238,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "b684325e", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "

Rock-Paper-Scissors

\n", + "
RockPaperScissors
Rock0,0-1,11,-1
Paper1,-10,0-1,1
Scissors-1,11,-10,0
\n" + ], + "text/plain": [ + "Game(title='Rock-Paper-Scissors')" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "gbt_matrix_rps_game = gbt.read_nfg(StringIO(nfg_matrix_rps_game))\n", "\n", @@ -204,10 +280,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "707c6c30", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[\\left[\\frac{1}{3},\\frac{1}{3},\\frac{1}{3}\\right],\\left[\\frac{1}{3},\\frac{1}{3},\\frac{1}{3}\\right]\\right]$" + ], + "text/plain": [ + "[[Rational(1, 3), Rational(1, 3), Rational(1, 3)], [Rational(1, 3), Rational(1, 3), Rational(1, 3)]]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "gbt.nash.lcp_solve(gbt_matrix_rps_game).equilibria[0]" ] @@ -224,10 +314,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "cf1acdeb", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 0.03, -0.03, 0. ])" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "matrix_rps_payoffs = game_payoffs_array(ops_matrix_rps_game)\n", "dyn = dynamics.SinglePopulationDynamics(matrix_rps_payoffs, dynamics.replicator)\n", @@ -248,10 +349,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "b9a352c5", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "def plot_rps_dynamics(proportions, steps=100, alpha=0.1, plot_average_strategy=False):\n", " x = np.array(proportions)\n", @@ -296,10 +408,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "86c6aa52", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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BKT333/faz1VqlT2iJEOHTrIgAEDEvLaAAAAAiMg6Yg1AACA5CzBapAAAABSbAuSDuXXB9TGxbx58+JzTQAAAIHVgqTTcy9fvlw2b97s2bZlyxZZsWKFDffX/e4FAAAgRQSk3Llzy9NPP221SNpCpMv+/fulTZs2Vqz96aefepa4mjRpkoSGhkr69OmlevXqsnHjxliP1ferUqWKZM2aVUJCQqRChQo2gi66oUOHSokSJWx/tmzZ7EG6GzZs8DpG309bwqIvo0aN8vV2AACAZMjnh9VqCFq7dq0UL17ca/vevXvlH//4h5w7d86nC5g7d660b99epk6dauFo3Lhx8uWXX9r5cuXKdcvxP/74o/z1118WgNKmTSsLFy6UV199Vb777jtp1KiRHfP555/ba4sUKSJ///23jbzTc+7bt8+u3x2QOnXqJJ07d/acO3PmzBaq4oKH1QIAEHji+vntcwvSzZs3Zc+ePbds121RUVE+X+jYsWMtpHTs2FFKlSplQSljxozyySefxHh8nTp1rA6qZMmS9uy33r17S7ly5Sy0uT377LPWaqQBqXTp0vYeekN27NjhdS4NRHny5PEstwtHN27csHNEXwAAQPLkc0DSIKMtLxo6NJToMmbMGHnxxRdtny/Cw8OtfknDjOeCUqWy9XXr1t3x9dr4pfVQ2tpUq1atWN/jo48+srRYvnx5r33apZYjRw6pWLGivPvuuxb+YhMWFuZVX1WgQAGfflYAAJCMR7G999571tqioUhn0FZ58+aV119/3bq6fHH27FmJjIy0uqbodD2mVio3bRbLnz+/teqkTp1aJk+eLA0aNPA6Rrve2rZtK9euXbPrW7p0qeTMmdOzv1evXlKpUiXJnj27/PzzzzbJpf48Gvxiovv79u3rWdcWJEISAADJk88BSVt43njjDVvc3Uz3ugZHu8a2bdsmV65csRYkDS7anabdb25169a1YzSETZs2zQrLtVDbXdcUPexoF53WM7300kvWUpQuXbpb3lO3xbQdAAAkP/GaKFK7opYtWyZffPGFZ06k48ePW2DxhbboaAvQqVOnvLbrurZSxXrRqVJJsWLFbASbtlo99dRTFmyi03oiPebhhx+Wjz/+WIKDg+1rbLRAXH+ugwcP+vQzAACA5MfngHTo0CEpW7asPPHEE9K9e3c5c+aMbR89erS89tprPp1L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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "plot_rps_dynamics([1/3, 1/3, 1/3])" ] @@ -314,10 +437,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "189f898f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "plot_rps_dynamics([0.3, 0.3, 0.4], plot_average_strategy=True)" ] @@ -334,10 +468,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "cdd0bfe0", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "

Prisoner's Dilemma

\n", + "
CooperateDefect
Cooperate-1,-1-3,0
Defect0,-3-2,-2
\n" + ], + "text/plain": [ + "Game(title='Prisoner's Dilemma')" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "gbt_prisoners_dilemma_game = gbt.read_nfg(\"games/prisoners_dilemma.nfg\")\n", "gbt_prisoners_dilemma_game" @@ -345,10 +494,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "d42e6545", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[\\left[0,1\\right],\\left[0,1\\right]\\right]$" + ], + "text/plain": [ + "[[Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1)]]" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "gbt.nash.lcp_solve(gbt_prisoners_dilemma_game).equilibria[0]" ] @@ -365,7 +528,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "fcd42af0", "metadata": {}, "outputs": [], @@ -391,10 +554,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "7ce6f2e2", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "Terminal? true\n", + "History: 1, 1\n", + "Returns: -2,-2\n", + "Row actions: \n", + "Col actions: \n", + "Utility matrix:\n", + "-1,-1 -3,0 \n", + "0,-3 -2,-2 " + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "state = ops_prisoners_dilemma_game.new_initial_state()\n", "state.apply_actions([1, 1])\n", @@ -412,10 +593,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "d1495c7c", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "matrix_pd_payoffs = game_payoffs_array(ops_prisoners_dilemma_game)\n", "pd_dyn = dynamics.SinglePopulationDynamics(matrix_pd_payoffs, dynamics.replicator)\n", @@ -439,7 +631,6 @@ }, { "cell_type": "markdown", - "id": "7c3b0739", "metadata": {}, "source": [ "\n", @@ -459,14 +650,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "02a42600", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "'EFG 2 R \"tiny_hanabi()\" { \"Pl0\" \"Pl1\" } \\nc \"\" 1 \"\" { \"d0\" 0.5000000000000000 \"d1\" 0.5000000000000000 } 0\\n c \"p0:d0\" 2 \"\" { \"d0\" 0.5000000000000000 \"d1\" 0.5000000000000000 } 0\\n p \"\" 1 1 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 1 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 1 \"\" { 10.0 10.0 }\\n t \"\" 2 \"\" { 0.0 0.0 }\\n t \"\" 3 \"\" { 0.0 0.0 }\\n p \"\" 2 2 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 4 \"\" { 4.0 4.0 }\\n t \"\" 5 \"\" { 8.0 8.0 }\\n t \"\" 6 \"\" { 4.0 4.0 }\\n p \"\" 2 3 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 7 \"\" { 10.0 10.0 }\\n t \"\" 8 \"\" { 0.0 0.0 }\\n t \"\" 9 \"\" { 0.0 0.0 }\\n p \"\" 1 1 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 4 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 10 \"\" { 0.0 0.0 }\\n t \"\" 11 \"\" { 0.0 0.0 }\\n t \"\" 12 \"\" { 10.0 10.0 }\\n p \"\" 2 5 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 13 \"\" { 4.0 4.0 }\\n t \"\" 14 \"\" { 8.0 8.0 }\\n t \"\" 15 \"\" { 4.0 4.0 }\\n p \"\" 2 6 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 16 \"\" { 0.0 0.0 }\\n t \"\" 17 \"\" { 0.0 0.0 }\\n t \"\" 18 \"\" { 10.0 10.0 }\\n c \"p0:d1\" 3 \"\" { \"d0\" 0.5000000000000000 \"d1\" 0.5000000000000000 } 0\\n p \"\" 1 2 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 1 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 19 \"\" { 0.0 0.0 }\\n t \"\" 20 \"\" { 0.0 0.0 }\\n t \"\" 21 \"\" { 10.0 10.0 }\\n p \"\" 2 2 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 22 \"\" { 4.0 4.0 }\\n t \"\" 23 \"\" { 8.0 8.0 }\\n t \"\" 24 \"\" { 4.0 4.0 }\\n p \"\" 2 3 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 25 \"\" { 0.0 0.0 }\\n t \"\" 26 \"\" { 0.0 0.0 }\\n t \"\" 27 \"\" { 0.0 0.0 }\\n p \"\" 1 2 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 4 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 28 \"\" { 10.0 10.0 }\\n t \"\" 29 \"\" { 0.0 0.0 }\\n t \"\" 30 \"\" { 0.0 0.0 }\\n p \"\" 2 5 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 31 \"\" { 4.0 4.0 }\\n t \"\" 32 \"\" { 8.0 8.0 }\\n t \"\" 33 \"\" { 4.0 4.0 }\\n p \"\" 2 6 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 34 \"\" { 10.0 10.0 }\\n t \"\" 35 \"\" { 0.0 0.0 }\\n t \"\" 36 \"\" { 0.0 0.0 }\\n'" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "ops_hanabi_game = pyspiel.load_game(\"tiny_hanabi\")\n", "efg_hanabi_game = export_gambit(ops_hanabi_game)\n", - "draw_tree(StringIO(efg_hanabi_game))" + "efg_hanabi_game" ] }, { @@ -480,10 +682,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "1a534e25", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Pl0\n", + "Pl1\n" + ] + } + ], "source": [ "gbt_hanabi_game = gbt.read_efg(StringIO(efg_hanabi_game))\n", "eqm = gbt.nash.lcp_solve(gbt_hanabi_game).equilibria[0]\n", @@ -501,10 +712,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "1ec19b1c", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[\\left[0,0,1\\right],\\left[0,1,0\\right]\\right]$" + ], + "text/plain": [ + "[[Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)]]" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "eqm['Pl0']" ] @@ -519,10 +744,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "ae9fc7a7", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "At information set 0, Player 0 plays action 0 with probability: 0 and action 1 with probability: 0 and action 2 with probability: 1\n", + "At information set 1, Player 0 plays action 0 with probability: 0 and action 1 with probability: 1 and action 2 with probability: 0\n" + ] + } + ], "source": [ "for infoset, mixed_action in eqm[\"Pl0\"].mixed_actions():\n", " print(\n", @@ -543,20 +777,47 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "id": "8528e1bd", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/latex": [ + "$\\left[\\left[0,0,1\\right],\\left[0,1,0\\right],\\left[1,0,0\\right],\\left[0,0,1\\right],\\left[0,1,0\\right],\\left[0,0,1\\right]\\right]$" + ], + "text/plain": [ + "[[Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)], [Rational(1, 1), Rational(0, 1), Rational(0, 1)], [Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)], [Rational(0, 1), Rational(0, 1), Rational(1, 1)]]" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "eqm['Pl1']" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "2965aed0", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "At information set 0, Player 1 plays action 0 with probability: 0 and action 1 with probability: 0 and action 2 with probability: 1\n", + "At information set 1, Player 1 plays action 0 with probability: 0 and action 1 with probability: 1 and action 2 with probability: 0\n", + "At information set 2, Player 1 plays action 0 with probability: 1 and action 1 with probability: 0 and action 2 with probability: 0\n", + "At information set 3, Player 1 plays action 0 with probability: 0 and action 1 with probability: 0 and action 2 with probability: 1\n", + "At information set 4, Player 1 plays action 0 with probability: 0 and action 1 with probability: 1 and action 2 with probability: 0\n", + "At information set 5, Player 1 plays action 0 with probability: 0 and action 1 with probability: 0 and action 2 with probability: 1\n" + ] + } + ], "source": [ "for infoset, mixed_action in eqm[\"Pl1\"].mixed_actions():\n", " print(\n", @@ -581,7 +842,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "4e72c924", "metadata": {}, "outputs": [], @@ -608,10 +869,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "53547263", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Episodes: 0\n", + "Episodes: 10000\n", + "Episodes: 20000\n", + "Episodes: 30000\n" + ] + } + ], "source": [ "for cur_episode in range(30000):\n", " if cur_episode % 10000 == 0:\n", @@ -640,10 +912,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "id": "d71bc733", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "p0:d0 p1:d1\n", + "Agent 0 chooses p0a2\n", + "\n", + "p0:d0 p1:d1 p0:a2\n", + "Agent 1 chooses p1a2\n", + "\n", + "p0:d0 p1:d1 p0:a2 p1:a2\n", + "Rewards: [10.0, 10.0]\n" + ] + } + ], "source": [ "time_step = env.reset()\n", "\n", @@ -686,22 +974,23 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "58ede2ad", - "metadata": {}, - "outputs": [], - "source": [ - "draw_tree(\"games/one_card_poker.efg\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, + "execution_count": 28, "id": "07340e32", "metadata": {}, - "outputs": [], - "source": [ - "with open(\"games/one_card_poker.efg\", \"r\") as f:\n", + "outputs": [ + { + "data": { + "text/plain": [ + "efg_game()" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "with open(\"../poker.efg\", \"r\") as f:\n", " poker_efg_string = f.read()\n", " ops_one_card_poker = pyspiel.load_efg_game(poker_efg_string)\n", "ops_one_card_poker" @@ -719,10 +1008,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "id": "c01c4d6f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "4" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "ops_one_card_poker.num_distinct_actions()" ] @@ -739,10 +1039,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "id": "3b9cc43b", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0: Chance: 1 King 0.5 Queen 0.5" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "state = ops_one_card_poker.new_initial_state()\n", "state" @@ -758,10 +1069,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "id": "4dd5d504", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "1: Player: 1 1 Raise Fold" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "state.apply_action(0)\n", "state" @@ -778,10 +1100,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "id": "bd15369f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "3: Player: 2 1 Meet Pass" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "state.apply_action(0)\n", "state" @@ -797,10 +1130,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 33, "id": "8d81ff6b", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "[2, 3]" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "state.legal_actions()" ] @@ -816,10 +1160,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 34, "id": "97913fe5", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "6: Terminal: Alice wins 1 -1" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "state.apply_action(3)\n", "state" @@ -836,7 +1191,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "gbt_pygraphviz", "language": "python", "name": "python3" }, @@ -850,7 +1205,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.13.5" + "version": "3.11.13" } }, "nbformat": 4, From 6cef2756dcf593dbff3d53cab24a0b3b11442a21 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 27 Oct 2025 15:11:06 +0000 Subject: [PATCH 194/240] test saving without outputs on tutorial 2 --- doc/tutorials/02_extensive_form.ipynb | 238 ++------------------------ 1 file changed, 17 insertions(+), 221 deletions(-) diff --git a/doc/tutorials/02_extensive_form.ipynb b/doc/tutorials/02_extensive_form.ipynb index 4fe6c4b46..034f53887 100644 --- a/doc/tutorials/02_extensive_form.ipynb +++ b/doc/tutorials/02_extensive_form.ipynb @@ -29,7 +29,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "5946289b", "metadata": {}, "outputs": [], @@ -39,7 +39,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "91ed4dfb", "metadata": {}, "outputs": [], @@ -60,21 +60,10 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "3cd94917", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "len(g.root.children)" ] @@ -91,21 +80,10 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "5d27a07a", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "2" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "g.append_move(\n", " g.root, # This is the node to append the move to\n", @@ -129,7 +107,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "65b21e37", "metadata": {}, "outputs": [], @@ -148,7 +126,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "47c4a31b", "metadata": {}, "outputs": [], @@ -176,7 +154,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "716e9b9a", "metadata": {}, "outputs": [], @@ -200,7 +178,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "695b1aad", "metadata": {}, "outputs": [], @@ -224,7 +202,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "id": "0704ef86", "metadata": {}, "outputs": [], @@ -264,7 +242,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "id": "37c51152", "metadata": {}, "outputs": [], @@ -282,21 +260,10 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "0d86a750", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "pygambit.gambit.Game" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "restored_game = gbt.read_efg(\"games/trust_game.efg\")\n", "type(restored_game)" @@ -315,7 +282,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "22bd965b", "metadata": {}, "outputs": [], @@ -325,181 +292,10 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "00fce76d", "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "draw_tree(\"games/trust_game.efg\")" ] From 4f46dc052d7ce2371456634d35282a0f36a4f6db Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 27 Oct 2025 15:21:35 +0000 Subject: [PATCH 195/240] add draw_tree lines to openspiel tutorial --- doc/tutorials/06_gambit_with_openspiel.ipynb | 25 +++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index 20f6ff4ef..dade2f3dd 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -24,7 +24,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "ebb78322", "metadata": {}, "outputs": [], @@ -41,7 +41,8 @@ "\n", "import pyspiel\n", "\n", - "import pygambit as gbt" + "import pygambit as gbt\n", + "from draw_tree import draw_tree" ] }, { @@ -87,6 +88,7 @@ { "cell_type": "code", "execution_count": 3, + "id": "517ea231", "metadata": {}, "outputs": [], "source": [ @@ -631,6 +633,7 @@ }, { "cell_type": "markdown", + "id": "185d4667", "metadata": {}, "source": [ "\n", @@ -650,7 +653,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "id": "02a42600", "metadata": {}, "outputs": [ @@ -668,7 +671,7 @@ "source": [ "ops_hanabi_game = pyspiel.load_game(\"tiny_hanabi\")\n", "efg_hanabi_game = export_gambit(ops_hanabi_game)\n", - "efg_hanabi_game" + "draw_tree(StringIO(efg_hanabi_game))" ] }, { @@ -974,7 +977,17 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": null, + "id": "b6c633cd", + "metadata": {}, + "outputs": [], + "source": [ + "draw_tree(\"games/one_card_poker.efg\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, "id": "07340e32", "metadata": {}, "outputs": [ @@ -990,7 +1003,7 @@ } ], "source": [ - "with open(\"../poker.efg\", \"r\") as f:\n", + "with open(\"games/one_card_poker.efg\", \"r\") as f:\n", " poker_efg_string = f.read()\n", " ops_one_card_poker = pyspiel.load_efg_game(poker_efg_string)\n", "ops_one_card_poker" From 5f1f262e8b89b99c892bf31309448e415596c18d Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 27 Oct 2025 15:29:31 +0000 Subject: [PATCH 196/240] tiny hanabi looks bad with draw_tree default layout --- doc/tutorials/06_gambit_with_openspiel.ipynb | 2097 +++++++++++++++++- doc/tutorials/games/tiny_hanabi.efg | 58 + 2 files changed, 2107 insertions(+), 48 deletions(-) create mode 100644 doc/tutorials/games/tiny_hanabi.efg diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/06_gambit_with_openspiel.ipynb index dade2f3dd..efb12ac49 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/06_gambit_with_openspiel.ipynb @@ -2,6 +2,7 @@ "cells": [ { "cell_type": "markdown", + "id": "2213bb64", "metadata": {}, "source": [ "# 6) Using Gambit with OpenSpiel\n", @@ -24,7 +25,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "ebb78322", "metadata": {}, "outputs": [], @@ -653,25 +654,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "02a42600", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'EFG 2 R \"tiny_hanabi()\" { \"Pl0\" \"Pl1\" } \\nc \"\" 1 \"\" { \"d0\" 0.5000000000000000 \"d1\" 0.5000000000000000 } 0\\n c \"p0:d0\" 2 \"\" { \"d0\" 0.5000000000000000 \"d1\" 0.5000000000000000 } 0\\n p \"\" 1 1 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 1 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 1 \"\" { 10.0 10.0 }\\n t \"\" 2 \"\" { 0.0 0.0 }\\n t \"\" 3 \"\" { 0.0 0.0 }\\n p \"\" 2 2 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 4 \"\" { 4.0 4.0 }\\n t \"\" 5 \"\" { 8.0 8.0 }\\n t \"\" 6 \"\" { 4.0 4.0 }\\n p \"\" 2 3 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 7 \"\" { 10.0 10.0 }\\n t \"\" 8 \"\" { 0.0 0.0 }\\n t \"\" 9 \"\" { 0.0 0.0 }\\n p \"\" 1 1 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 4 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 10 \"\" { 0.0 0.0 }\\n t \"\" 11 \"\" { 0.0 0.0 }\\n t \"\" 12 \"\" { 10.0 10.0 }\\n p \"\" 2 5 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 13 \"\" { 4.0 4.0 }\\n t \"\" 14 \"\" { 8.0 8.0 }\\n t \"\" 15 \"\" { 4.0 4.0 }\\n p \"\" 2 6 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 16 \"\" { 0.0 0.0 }\\n t \"\" 17 \"\" { 0.0 0.0 }\\n t \"\" 18 \"\" { 10.0 10.0 }\\n c \"p0:d1\" 3 \"\" { \"d0\" 0.5000000000000000 \"d1\" 0.5000000000000000 } 0\\n p \"\" 1 2 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 1 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 19 \"\" { 0.0 0.0 }\\n t \"\" 20 \"\" { 0.0 0.0 }\\n t \"\" 21 \"\" { 10.0 10.0 }\\n p \"\" 2 2 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 22 \"\" { 4.0 4.0 }\\n t \"\" 23 \"\" { 8.0 8.0 }\\n t \"\" 24 \"\" { 4.0 4.0 }\\n p \"\" 2 3 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 25 \"\" { 0.0 0.0 }\\n t \"\" 26 \"\" { 0.0 0.0 }\\n t \"\" 27 \"\" { 0.0 0.0 }\\n p \"\" 1 2 \"\" { \"p0a0\" \"p0a1\" \"p0a2\" } 0\\n p \"\" 2 4 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 28 \"\" { 10.0 10.0 }\\n t \"\" 29 \"\" { 0.0 0.0 }\\n t \"\" 30 \"\" { 0.0 0.0 }\\n p \"\" 2 5 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 31 \"\" { 4.0 4.0 }\\n t \"\" 32 \"\" { 8.0 8.0 }\\n t \"\" 33 \"\" { 4.0 4.0 }\\n p \"\" 2 6 \"\" { \"p1a0\" \"p1a1\" \"p1a2\" } 0\\n t \"\" 34 \"\" { 10.0 10.0 }\\n t \"\" 35 \"\" { 0.0 0.0 }\\n t \"\" 36 \"\" { 0.0 0.0 }\\n'" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "ops_hanabi_game = pyspiel.load_game(\"tiny_hanabi\")\n", - "efg_hanabi_game = export_gambit(ops_hanabi_game)\n", - "draw_tree(StringIO(efg_hanabi_game))" + "efg_hanabi_game = export_gambit(ops_hanabi_game)" ] }, { @@ -690,19 +679,1686 @@ "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "Pl0\n", - "Pl1\n" - ] + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ "gbt_hanabi_game = gbt.read_efg(StringIO(efg_hanabi_game))\n", "eqm = gbt.nash.lcp_solve(gbt_hanabi_game).equilibria[0]\n", - "for player in gbt_hanabi_game.players:\n", - " print(player.label)" + "gbt_hanabi_game.to_efg(\"games/tiny_hanabi.efg\")\n", + "draw_tree(\"games/tiny_hanabi.efg\")" ] }, { @@ -924,13 +2580,13 @@ "output_type": "stream", "text": [ "\n", - "p0:d0 p1:d1\n", - "Agent 0 chooses p0a2\n", + "p0:d1 p1:d0\n", + "Agent 0 chooses p0a0\n", "\n", - "p0:d0 p1:d1 p0:a2\n", + "p0:d1 p1:d0 p0:a0\n", "Agent 1 chooses p1a2\n", "\n", - "p0:d0 p1:d1 p0:a2 p1:a2\n", + "p0:d1 p1:d0 p0:a0 p1:a2\n", "Rewards: [10.0, 10.0]\n" ] } @@ -977,17 +2633,362 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 28, "id": "b6c633cd", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "draw_tree(\"games/one_card_poker.efg\")" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 29, "id": "07340e32", "metadata": {}, "outputs": [ @@ -997,7 +2998,7 @@ "efg_game()" ] }, - "execution_count": 28, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } @@ -1021,7 +3022,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 30, "id": "c01c4d6f", "metadata": {}, "outputs": [ @@ -1031,7 +3032,7 @@ "4" ] }, - "execution_count": 29, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -1052,7 +3053,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 31, "id": "3b9cc43b", "metadata": {}, "outputs": [ @@ -1062,7 +3063,7 @@ "0: Chance: 1 King 0.5 Queen 0.5" ] }, - "execution_count": 30, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -1082,17 +3083,17 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 32, "id": "4dd5d504", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "1: Player: 1 1 Raise Fold" + "1: Player: King 1 1 Raise Fold" ] }, - "execution_count": 31, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -1113,17 +3114,17 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 33, "id": "bd15369f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "3: Player: 2 1 Meet Pass" + "3: Player: Raise 2 1 Meet Pass" ] }, - "execution_count": 32, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -1143,7 +3144,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 34, "id": "8d81ff6b", "metadata": {}, "outputs": [ @@ -1153,7 +3154,7 @@ "[2, 3]" ] }, - "execution_count": 33, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } @@ -1173,17 +3174,17 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 35, "id": "97913fe5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "6: Terminal: Alice wins 1 -1" + "6: Terminal: Pass Alice wins 1 -1" ] }, - "execution_count": 34, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -1204,7 +3205,7 @@ ], "metadata": { "kernelspec": { - "display_name": "gbt_pygraphviz", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, diff --git a/doc/tutorials/games/tiny_hanabi.efg b/doc/tutorials/games/tiny_hanabi.efg new file mode 100644 index 000000000..be1be51d5 --- /dev/null +++ b/doc/tutorials/games/tiny_hanabi.efg @@ -0,0 +1,58 @@ +EFG 2 R "tiny_hanabi()" { "Pl0" "Pl1" } +"" + +c "" 1 "" { "d0" 0.5000000000000000 "d1" 0.5000000000000000 } 0 +c "p0:d0" 2 "" { "d0" 0.5000000000000000 "d1" 0.5000000000000000 } 0 +p "" 1 1 "" { "p0a0" "p0a1" "p0a2" } 0 +p "" 2 1 "" { "p1a0" "p1a1" "p1a2" } 0 +t "" 1 "" { 10.0, 10.0 } +t "" 2 "" { 0.0, 0.0 } +t "" 3 "" { 0.0, 0.0 } +p "" 2 2 "" { "p1a0" "p1a1" "p1a2" } 0 +t "" 4 "" { 4.0, 4.0 } +t "" 5 "" { 8.0, 8.0 } +t "" 6 "" { 4.0, 4.0 } +p "" 2 3 "" { "p1a0" "p1a1" "p1a2" } 0 +t "" 7 "" { 10.0, 10.0 } +t "" 8 "" { 0.0, 0.0 } +t "" 9 "" { 0.0, 0.0 } +p "" 1 1 "" { "p0a0" "p0a1" "p0a2" } 0 +p "" 2 4 "" { "p1a0" "p1a1" "p1a2" } 0 +t "" 10 "" { 0.0, 0.0 } +t "" 11 "" { 0.0, 0.0 } +t "" 12 "" { 10.0, 10.0 } +p "" 2 5 "" { "p1a0" "p1a1" "p1a2" } 0 +t "" 13 "" { 4.0, 4.0 } +t "" 14 "" { 8.0, 8.0 } +t "" 15 "" { 4.0, 4.0 } +p "" 2 6 "" { "p1a0" "p1a1" "p1a2" } 0 +t "" 16 "" { 0.0, 0.0 } +t "" 17 "" { 0.0, 0.0 } +t "" 18 "" { 10.0, 10.0 } +c "p0:d1" 3 "" { "d0" 0.5000000000000000 "d1" 0.5000000000000000 } 0 +p "" 1 2 "" { "p0a0" "p0a1" "p0a2" } 0 +p "" 2 1 "" { "p1a0" "p1a1" "p1a2" } 0 +t "" 19 "" { 0.0, 0.0 } +t "" 20 "" { 0.0, 0.0 } +t "" 21 "" { 10.0, 10.0 } +p "" 2 2 "" { "p1a0" "p1a1" "p1a2" } 0 +t "" 22 "" { 4.0, 4.0 } +t "" 23 "" { 8.0, 8.0 } +t "" 24 "" { 4.0, 4.0 } +p "" 2 3 "" { "p1a0" "p1a1" "p1a2" } 0 +t "" 25 "" { 0.0, 0.0 } +t "" 26 "" { 0.0, 0.0 } +t "" 27 "" { 0.0, 0.0 } +p "" 1 2 "" { "p0a0" "p0a1" "p0a2" } 0 +p "" 2 4 "" { "p1a0" "p1a1" "p1a2" } 0 +t "" 28 "" { 10.0, 10.0 } +t "" 29 "" { 0.0, 0.0 } +t "" 30 "" { 0.0, 0.0 } +p "" 2 5 "" { "p1a0" "p1a1" "p1a2" } 0 +t "" 31 "" { 4.0, 4.0 } +t "" 32 "" { 8.0, 8.0 } +t "" 33 "" { 4.0, 4.0 } +p "" 2 6 "" { "p1a0" "p1a1" "p1a2" } 0 +t "" 34 "" { 10.0, 10.0 } +t "" 35 "" { 0.0, 0.0 } +t "" 36 "" { 0.0, 0.0 } From 7b3442dd092a556acc486547f7022b77e0d7cb68 Mon Sep 17 00:00:00 2001 From: Theodore Turocy Date: Mon, 27 Oct 2025 16:20:26 +0000 Subject: [PATCH 197/240] Wrote simple layout abstraction that at least compiles... --- Makefile.am | 2 ++ src/gui/layout.cc | 78 +++++++++++++++++++++++++++++++++++++++++++++++ src/gui/layout.h | 62 +++++++++++++++++++++++++++++++++++++ 3 files changed, 142 insertions(+) create mode 100644 src/gui/layout.cc create mode 100644 src/gui/layout.h diff --git a/Makefile.am b/Makefile.am index 2a19386a9..c1c823596 100644 --- a/Makefile.am +++ b/Makefile.am @@ -589,6 +589,8 @@ gambit_SOURCES = \ src/gui/gamedoc.h \ src/gui/gameframe.cc \ src/gui/gameframe.h \ + src/gui/layout.cc \ + src/gui/layout.h \ src/gui/menuconst.h \ src/gui/nfgpanel.cc \ src/gui/nfgpanel.h \ diff --git a/src/gui/layout.cc b/src/gui/layout.cc new file mode 100644 index 000000000..5328c432b --- /dev/null +++ b/src/gui/layout.cc @@ -0,0 +1,78 @@ +// +// This file is part of Gambit +// Copyright (c) 1994-2025, The Gambit Project (https://www.gambit-project.org) +// +// FILE: src/gui/efglayout.cc +// Implementation of tree layout representation +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// + +#include // for std::min, std::max +#include // for std::partial_sum + +#include "layout.h" + +namespace Gambit { + +void Layout::LayoutSubtree(const GameNode &p_node, const BehaviorSupportProfile &p_support, + int p_level, double &p_offset) +{ + const auto entry = std::make_shared(p_level); + m_nodeMap[p_node] = entry; + try { + entry->m_sublevel = m_infosetSublevels.at({entry->m_level, p_node->GetInfoset()}); + } + catch (std::out_of_range &) { + entry->m_sublevel = ++m_numSublevels[entry->m_level]; + m_infosetSublevels[{entry->m_level, p_node->GetInfoset()}] = entry->m_sublevel; + } + + if (p_node->IsTerminal()) { + entry->m_offset = p_offset; + p_offset += 1; + return; + } + if (p_node->GetInfoset() && !p_node->GetInfoset()->GetPlayer()->IsChance()) { + const auto actions = p_support.GetActions(p_node->GetInfoset()); + for (const auto &action : actions) { + LayoutSubtree(p_node->GetChild(action), p_support, p_level + 1, p_offset); + } + entry->m_offset = (m_nodeMap.at(p_node->GetChild(actions.front()))->m_offset + + m_nodeMap.at(p_node->GetChild(actions.back()))->m_offset) / + 2; + } + else { + for (const auto &child : p_node->GetChildren()) { + LayoutSubtree(child, p_support, p_level + 1, p_offset); + } + entry->m_offset = (m_nodeMap.at(p_node->GetChildren().front())->m_offset + + m_nodeMap.at(p_node->GetChildren().back())->m_offset) / + 2; + } +} + +void Layout::LayoutTree(const BehaviorSupportProfile &p_support) +{ + m_nodeMap.clear(); + m_maxLevel = 0; + m_numSublevels.clear(); + m_infosetSublevels.clear(); + + double ycoord = 0; + LayoutSubtree(m_game->GetRoot(), p_support, 0, ycoord); +} + +} // namespace Gambit diff --git a/src/gui/layout.h b/src/gui/layout.h new file mode 100644 index 000000000..cacf85347 --- /dev/null +++ b/src/gui/layout.h @@ -0,0 +1,62 @@ +// +// This file is part of Gambit +// Copyright (c) 1994-2025, The Gambit Project (https://www.gambit-project.org) +// +// FILE: src/gui/efglayout.h +// Interface to tree layout representation +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +// + +#ifndef GAMBIT_LAYOUT_H +#define GAMBIT_LAYOUT_H + +#include "gambit.h" + +#include + +namespace Gambit { +struct LayoutEntry { + friend class Layout; + double m_offset{-1}; // Cartesian coordinates of node + int m_level, m_sublevel{0}; // depth of the node in tree + bool m_inSupport{true}; + + explicit LayoutEntry(int p_level) : m_level(p_level) {} +}; + +class Layout { + Game m_game; + std::map> m_nodeMap; + std::vector m_numSublevels; + std::map, int> m_infosetSublevels; + + float m_maxOffset{0}; + int m_maxLevel{0}; + + void LayoutSubtree(const GameNode &, const BehaviorSupportProfile &, int, double &); + +public: + explicit Layout(const Game &p_game) : m_game(p_game) {} + ~Layout() = default; + + void LayoutTree(const BehaviorSupportProfile &); + + const std::map> &GetNodeMap() const { return m_nodeMap; } + float GetMinOffset() const { return 0; } + float GetMaxOffset() const { return m_maxOffset; } +}; +} // namespace Gambit +#endif // GAMBIT_LAYOUT_H From cd567192a2a9e5b6470f55895ef020056c238e52 Mon Sep 17 00:00:00 2001 From: Theodore Turocy Date: Mon, 27 Oct 2025 16:50:43 +0000 Subject: [PATCH 198/240] Layout of levels using new abstraction seems to work. --- src/gui/efglayout.cc | 19 ++++++++++++++++--- src/gui/efglayout.h | 4 +++- src/gui/layout.cc | 7 ++++++- src/gui/layout.h | 1 + 4 files changed, 26 insertions(+), 5 deletions(-) diff --git a/src/gui/efglayout.cc b/src/gui/efglayout.cc index 8e1dd105d..2f693fb80 100644 --- a/src/gui/efglayout.cc +++ b/src/gui/efglayout.cc @@ -32,6 +32,8 @@ #include "gambit.h" #include "efgdisplay.h" +#include "layout.h" + namespace Gambit::GUI { namespace { @@ -622,6 +624,7 @@ TreeLayout::ComputeNextInInfoset(const std::shared_ptr &p_entry) void TreeLayout::ComputeSublevel(const std::shared_ptr &p_entry) { + /* try { p_entry->m_sublevel = m_infosetSublevels.at({p_entry->m_level, p_entry->m_node->GetInfoset()}); } @@ -629,13 +632,15 @@ void TreeLayout::ComputeSublevel(const std::shared_ptr &p_entry) p_entry->m_sublevel = ++m_numSublevels[p_entry->m_level]; m_infosetSublevels[{p_entry->m_level, p_entry->m_node->GetInfoset()}] = p_entry->m_sublevel; } + */ p_entry->m_nextMember = ComputeNextInInfoset(p_entry); } -void TreeLayout::ComputeNodeDepths() const +void TreeLayout::ComputeNodeDepths(const Gambit::Layout &p_layout) const { std::vector aggregateSublevels(m_maxLevel + 1); - std::partial_sum(m_numSublevels.cbegin(), m_numSublevels.cend(), aggregateSublevels.begin()); + std::partial_sum(p_layout.GetNumSublevels().cbegin(), p_layout.GetNumSublevels().cend(), + aggregateSublevels.begin()); m_maxX = 0; for (const auto &entry : m_nodeList) { entry->m_x = c_leftMargin + entry->m_level * m_doc->GetStyle().GetNodeLevelLength(); @@ -707,12 +712,20 @@ void TreeLayout::Layout(const BehaviorSupportProfile &p_support) ComputeOffsets(m_doc->GetGame()->GetRoot(), p_support, maxy); m_maxY = maxy + c_bottomMargin; + auto layout = Gambit::Layout(m_doc->GetGame()); + layout.LayoutTree(p_support); + + for (auto [node, entry] : layout.GetNodeMap()) { + m_nodeMap[node]->m_level = entry->m_level; + m_nodeMap[node]->m_sublevel = entry->m_sublevel; + } + m_infosetSublevels.clear(); m_numSublevels = std::vector(m_maxLevel + 1); for (auto entry : m_nodeList) { ComputeSublevel(entry); } - ComputeNodeDepths(); + ComputeNodeDepths(layout); ComputeRenderedParents(); GenerateLabels(); diff --git a/src/gui/efglayout.h b/src/gui/efglayout.h index 2873fc5a8..42a148232 100644 --- a/src/gui/efglayout.h +++ b/src/gui/efglayout.h @@ -26,6 +26,8 @@ #include "gambit.h" #include "gamedoc.h" +#include "layout.h" + namespace Gambit::GUI { class NodeEntry { friend class TreeLayout; @@ -124,7 +126,7 @@ class TreeLayout final : public GameView { void ComputeOffsets(const GameNode &, const BehaviorSupportProfile &, int &); /// Based on node levels and information set sublevels, compute the depth /// (X coordinate) of all nodes - void ComputeNodeDepths() const; + void ComputeNodeDepths(const Gambit::Layout &) const; void ComputeRenderedParents() const; wxString CreateNodeLabel(const std::shared_ptr &, int) const; diff --git a/src/gui/layout.cc b/src/gui/layout.cc index 5328c432b..cc11432b9 100644 --- a/src/gui/layout.cc +++ b/src/gui/layout.cc @@ -25,6 +25,8 @@ #include "layout.h" +#include <__ostream/basic_ostream.h> + namespace Gambit { void Layout::LayoutSubtree(const GameNode &p_node, const BehaviorSupportProfile &p_support, @@ -36,7 +38,10 @@ void Layout::LayoutSubtree(const GameNode &p_node, const BehaviorSupportProfile entry->m_sublevel = m_infosetSublevels.at({entry->m_level, p_node->GetInfoset()}); } catch (std::out_of_range &) { - entry->m_sublevel = ++m_numSublevels[entry->m_level]; + if (p_level - 1 < static_cast(m_numSublevels.size())) { + m_numSublevels.push_back(0); + } + entry->m_sublevel = ++m_numSublevels[p_level]; m_infosetSublevels[{entry->m_level, p_node->GetInfoset()}] = entry->m_sublevel; } diff --git a/src/gui/layout.h b/src/gui/layout.h index cacf85347..9cc7ee7eb 100644 --- a/src/gui/layout.h +++ b/src/gui/layout.h @@ -55,6 +55,7 @@ class Layout { void LayoutTree(const BehaviorSupportProfile &); const std::map> &GetNodeMap() const { return m_nodeMap; } + const std::vector &GetNumSublevels() const { return m_numSublevels; } float GetMinOffset() const { return 0; } float GetMaxOffset() const { return m_maxOffset; } }; From 2b9e8721b6e3f4fbebbf6166edd880350cae41e1 Mon Sep 17 00:00:00 2001 From: Theodore Turocy Date: Mon, 27 Oct 2025 16:51:30 +0000 Subject: [PATCH 199/240] Remove infoset depths from GUI class. --- src/gui/efglayout.cc | 2 -- src/gui/efglayout.h | 2 -- 2 files changed, 4 deletions(-) diff --git a/src/gui/efglayout.cc b/src/gui/efglayout.cc index 2f693fb80..578d03df3 100644 --- a/src/gui/efglayout.cc +++ b/src/gui/efglayout.cc @@ -720,8 +720,6 @@ void TreeLayout::Layout(const BehaviorSupportProfile &p_support) m_nodeMap[node]->m_sublevel = entry->m_sublevel; } - m_infosetSublevels.clear(); - m_numSublevels = std::vector(m_maxLevel + 1); for (auto entry : m_nodeList) { ComputeSublevel(entry); } diff --git a/src/gui/efglayout.h b/src/gui/efglayout.h index 42a148232..d4f773930 100644 --- a/src/gui/efglayout.h +++ b/src/gui/efglayout.h @@ -109,8 +109,6 @@ class NodeEntry { class TreeLayout final : public GameView { std::list> m_nodeList; std::map> m_nodeMap; - std::vector m_numSublevels; - std::map, int> m_infosetSublevels; mutable int m_maxX{0}, m_maxY{0}, m_maxLevel{0}; int m_infosetSpacing{40}; From 7e3d2e584534b98087db1aadfdffd0c90cee567e Mon Sep 17 00:00:00 2001 From: Theodore Turocy Date: Mon, 27 Oct 2025 16:56:42 +0000 Subject: [PATCH 200/240] Remove max level from GUI class. --- src/gui/efglayout.cc | 27 +++++++-------------------- src/gui/efglayout.h | 4 ++-- 2 files changed, 9 insertions(+), 22 deletions(-) diff --git a/src/gui/efglayout.cc b/src/gui/efglayout.cc index 578d03df3..46e746f9f 100644 --- a/src/gui/efglayout.cc +++ b/src/gui/efglayout.cc @@ -624,23 +624,14 @@ TreeLayout::ComputeNextInInfoset(const std::shared_ptr &p_entry) void TreeLayout::ComputeSublevel(const std::shared_ptr &p_entry) { - /* - try { - p_entry->m_sublevel = m_infosetSublevels.at({p_entry->m_level, p_entry->m_node->GetInfoset()}); - } - catch (std::out_of_range &) { - p_entry->m_sublevel = ++m_numSublevels[p_entry->m_level]; - m_infosetSublevels[{p_entry->m_level, p_entry->m_node->GetInfoset()}] = p_entry->m_sublevel; - } - */ p_entry->m_nextMember = ComputeNextInInfoset(p_entry); } void TreeLayout::ComputeNodeDepths(const Gambit::Layout &p_layout) const { - std::vector aggregateSublevels(m_maxLevel + 1); + std::vector aggregateSublevels; std::partial_sum(p_layout.GetNumSublevels().cbegin(), p_layout.GetNumSublevels().cend(), - aggregateSublevels.begin()); + std::back_inserter(aggregateSublevels)); m_maxX = 0; for (const auto &entry : m_nodeList) { entry->m_x = c_leftMargin + entry->m_level * m_doc->GetStyle().GetNodeLevelLength(); @@ -659,43 +650,39 @@ void TreeLayout::ComputeRenderedParents() const } } -void TreeLayout::BuildNodeList(const GameNode &p_node, const BehaviorSupportProfile &p_support, - const int p_level) +void TreeLayout::BuildNodeList(const GameNode &p_node, const BehaviorSupportProfile &p_support) { const auto entry = std::make_shared(p_node); m_nodeList.push_back(entry); m_nodeMap[p_node] = entry; entry->m_size = m_doc->GetStyle().GetNodeSize(); entry->m_branchLength = m_doc->GetStyle().GetBranchLength(); - entry->m_level = p_level; if (m_doc->GetStyle().RootReachable()) { if (const GameInfoset infoset = p_node->GetInfoset()) { if (infoset->GetPlayer()->IsChance()) { for (const auto &child : p_node->GetChildren()) { - BuildNodeList(child, p_support, p_level + 1); + BuildNodeList(child, p_support); } } else { for (const auto &action : p_support.GetActions(infoset)) { - BuildNodeList(p_node->GetChild(action), p_support, p_level + 1); + BuildNodeList(p_node->GetChild(action), p_support); } } } } else { for (const auto &child : p_node->GetChildren()) { - BuildNodeList(child, p_support, p_level + 1); + BuildNodeList(child, p_support); } } - m_maxLevel = std::max(p_level, m_maxLevel); } void TreeLayout::BuildNodeList(const BehaviorSupportProfile &p_support) { m_nodeList.clear(); m_nodeMap.clear(); - m_maxLevel = 0; - BuildNodeList(m_doc->GetGame()->GetRoot(), p_support, 0); + BuildNodeList(m_doc->GetGame()->GetRoot(), p_support); } void TreeLayout::Layout(const BehaviorSupportProfile &p_support) diff --git a/src/gui/efglayout.h b/src/gui/efglayout.h index d4f773930..ae76783db 100644 --- a/src/gui/efglayout.h +++ b/src/gui/efglayout.h @@ -110,7 +110,7 @@ class TreeLayout final : public GameView { std::list> m_nodeList; std::map> m_nodeMap; - mutable int m_maxX{0}, m_maxY{0}, m_maxLevel{0}; + mutable int m_maxX{0}, m_maxY{0}; int m_infosetSpacing{40}; const int c_leftMargin{20}, c_topMargin{40}, c_bottomMargin{25}; @@ -118,7 +118,7 @@ class TreeLayout final : public GameView { std::shared_ptr ComputeNextInInfoset(const std::shared_ptr &); void ComputeSublevel(const std::shared_ptr &); - void BuildNodeList(const GameNode &, const BehaviorSupportProfile &, int); + void BuildNodeList(const GameNode &, const BehaviorSupportProfile &); /// (Recursively) compute the y-offsets of all nodes void ComputeOffsets(const GameNode &, const BehaviorSupportProfile &, int &); From 7233788fd14208f846ec3a286293bf5e2bfab793 Mon Sep 17 00:00:00 2001 From: Theodore Turocy Date: Mon, 27 Oct 2025 17:06:25 +0000 Subject: [PATCH 201/240] Compute next member on demand for now --- src/gui/efglayout.cc | 32 +++++++++++--------------------- src/gui/efglayout.h | 16 ++++++---------- 2 files changed, 17 insertions(+), 31 deletions(-) diff --git a/src/gui/efglayout.cc b/src/gui/efglayout.cc index 46e746f9f..c5aaf8122 100644 --- a/src/gui/efglayout.cc +++ b/src/gui/efglayout.cc @@ -377,14 +377,15 @@ GameNode TreeLayout::BranchBelowHitTest(int p_x, int p_y) const bool TreeLayout::InfosetHitTest(const std::shared_ptr &p_entry, const int p_x, const int p_y) const { - if (p_entry->GetNextMember() && p_entry->GetNode()->GetInfoset()) { + auto nextMember = ComputeNextInInfoset(p_entry); + if (nextMember && p_entry->GetNode()->GetInfoset()) { if (p_x > p_entry->m_x + p_entry->GetSublevel() * m_infosetSpacing - 2 && p_x < p_entry->m_x + p_entry->GetSublevel() * m_infosetSpacing + 2) { - if (p_y > p_entry->m_y && p_y < p_entry->GetNextMember()->m_y) { + if (p_y > p_entry->m_y && p_y < nextMember->m_y) { // next infoset is below this one return true; } - if (p_y > p_entry->GetNextMember()->m_y && p_y < p_entry->m_y) { + if (p_y > nextMember->m_y && p_y < p_entry->m_y) { // next infoset is above this one return true; } @@ -595,7 +596,7 @@ void TreeLayout::ComputeOffsets(const GameNode &p_node, const BehaviorSupportPro } std::shared_ptr -TreeLayout::ComputeNextInInfoset(const std::shared_ptr &p_entry) +TreeLayout::ComputeNextInInfoset(const std::shared_ptr &p_entry) const { const auto infoset = p_entry->m_node->GetInfoset(); if (!infoset) { @@ -622,11 +623,6 @@ TreeLayout::ComputeNextInInfoset(const std::shared_ptr &p_entry) return nullptr; } -void TreeLayout::ComputeSublevel(const std::shared_ptr &p_entry) -{ - p_entry->m_nextMember = ComputeNextInInfoset(p_entry); -} - void TreeLayout::ComputeNodeDepths(const Gambit::Layout &p_layout) const { std::vector aggregateSublevels; @@ -706,10 +702,6 @@ void TreeLayout::Layout(const BehaviorSupportProfile &p_support) m_nodeMap[node]->m_level = entry->m_level; m_nodeMap[node]->m_sublevel = entry->m_sublevel; } - - for (auto entry : m_nodeList) { - ComputeSublevel(entry); - } ComputeNodeDepths(layout); ComputeRenderedParents(); @@ -771,9 +763,9 @@ void TreeLayout::RenderSubtree(wxDC &p_dc, bool p_noHints) const if (entry->GetChildNumber() == 1) { DrawNode(p_dc, parentEntry, m_doc->GetSelectNode(), p_noHints); - if (parentEntry->GetNextMember()) { - const int nextX = parentEntry->GetNextMember()->m_x; - const int nextY = parentEntry->GetNextMember()->m_y; + if (auto nextMember = ComputeNextInInfoset(parentEntry)) { + const int nextX = nextMember->m_x; + const int nextY = nextMember->m_y; if (parentEntry->m_x == nextX) { #ifdef __WXGTK__ @@ -790,17 +782,15 @@ void TreeLayout::RenderSubtree(wxDC &p_dc, bool p_noHints) const parentEntry->m_x + parentEntry->GetSize(), nextY); } - if (parentEntry->GetNextMember()->m_x != parentEntry->m_x) { + if (nextMember->m_x != parentEntry->m_x) { // Draw a little arrow in the direction of the iset. int startX, endX; if (settings.GetInfosetJoin() == GBT_INFOSET_JOIN_LINES) { startX = parentEntry->m_x; - endX = - (startX + m_infosetSpacing * - ((parentEntry->GetNextMember()->m_x > parentEntry->m_x) ? 1 : -1)); + endX = (startX + m_infosetSpacing * ((nextMember->m_x > parentEntry->m_x) ? 1 : -1)); } else { - if (parentEntry->GetNextMember()->m_x < parentEntry->m_x) { + if (nextMember->m_x < parentEntry->m_x) { // information set is continued to the left startX = parentEntry->m_x + parentEntry->GetSize(); endX = parentEntry->m_x - m_infosetSpacing; diff --git a/src/gui/efglayout.h b/src/gui/efglayout.h index ae76783db..65bfb8605 100644 --- a/src/gui/efglayout.h +++ b/src/gui/efglayout.h @@ -31,12 +31,11 @@ namespace Gambit::GUI { class NodeEntry { friend class TreeLayout; - GameNode m_node; // the corresponding node in the game - std::shared_ptr m_parent; // parent node - int m_x{-1}, m_y{-1}; // Cartesian coordinates of node - std::shared_ptr m_nextMember; // entry of next information set member - bool m_inSupport{true}; // true if node reachable in current support - int m_size{20}; // horizontal size of the node + GameNode m_node; // the corresponding node in the game + std::shared_ptr m_parent; // parent node + int m_x{-1}, m_y{-1}; // Cartesian coordinates of node + bool m_inSupport{true}; // true if node reachable in current support + int m_size{20}; // horizontal size of the node mutable wxRect m_outcomeRect; mutable Array m_payoffRect; mutable wxRect m_branchAboveRect, m_branchBelowRect; @@ -60,8 +59,6 @@ class NodeEntry { int GetX() const { return m_x; } int GetY() const { return m_y; } - std::shared_ptr GetNextMember() const { return m_nextMember; } - int GetChildNumber() const { return (m_node->GetParent()) ? m_node->GetPriorAction()->GetNumber() : 0; @@ -115,8 +112,7 @@ class TreeLayout final : public GameView { const int c_leftMargin{20}, c_topMargin{40}, c_bottomMargin{25}; - std::shared_ptr ComputeNextInInfoset(const std::shared_ptr &); - void ComputeSublevel(const std::shared_ptr &); + std::shared_ptr ComputeNextInInfoset(const std::shared_ptr &) const; void BuildNodeList(const GameNode &, const BehaviorSupportProfile &); From 99faaa2c68252f520a465f41aac011dda3d18997 Mon Sep 17 00:00:00 2001 From: Theodore Turocy Date: Mon, 27 Oct 2025 17:07:40 +0000 Subject: [PATCH 202/240] Remove unused maxlevel from new layout --- src/gui/layout.cc | 1 - src/gui/layout.h | 1 - 2 files changed, 2 deletions(-) diff --git a/src/gui/layout.cc b/src/gui/layout.cc index cc11432b9..23202bcdb 100644 --- a/src/gui/layout.cc +++ b/src/gui/layout.cc @@ -72,7 +72,6 @@ void Layout::LayoutSubtree(const GameNode &p_node, const BehaviorSupportProfile void Layout::LayoutTree(const BehaviorSupportProfile &p_support) { m_nodeMap.clear(); - m_maxLevel = 0; m_numSublevels.clear(); m_infosetSublevels.clear(); diff --git a/src/gui/layout.h b/src/gui/layout.h index 9cc7ee7eb..c01002374 100644 --- a/src/gui/layout.h +++ b/src/gui/layout.h @@ -44,7 +44,6 @@ class Layout { std::map, int> m_infosetSublevels; float m_maxOffset{0}; - int m_maxLevel{0}; void LayoutSubtree(const GameNode &, const BehaviorSupportProfile &, int, double &); From 3f400f769123201cfc4351faccd4b1f7cab43011 Mon Sep 17 00:00:00 2001 From: Theodore Turocy Date: Mon, 27 Oct 2025 17:28:25 +0000 Subject: [PATCH 203/240] Offsets now being computed from the generic layout. --- src/gui/dlefglayout.cc | 4 ++-- src/gui/efglayout.cc | 43 ++++-------------------------------------- src/gui/efglayout.h | 2 -- src/gui/layout.cc | 4 ++-- src/gui/layout.h | 6 +++--- src/gui/style.h | 2 +- 6 files changed, 12 insertions(+), 49 deletions(-) diff --git a/src/gui/dlefglayout.cc b/src/gui/dlefglayout.cc index aa0adf7a8..b4802680b 100644 --- a/src/gui/dlefglayout.cc +++ b/src/gui/dlefglayout.cc @@ -115,8 +115,8 @@ LayoutNodesPanel::LayoutNodesPanel(wxWindow *p_parent, const TreeRenderConfig &p constexpr int Y_SPACING_MAX = 60; m_terminalSpacing = new wxSpinCtrl( - this, wxID_ANY, wxString::Format(_T("%d"), p_settings.TerminalSpacing()), wxDefaultPosition, - wxDefaultSize, wxSP_ARROW_KEYS, Y_SPACING_MIN, Y_SPACING_MAX); + this, wxID_ANY, wxString::Format(_T("%d"), p_settings.GetTerminalSpacing()), + wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, Y_SPACING_MIN, Y_SPACING_MAX); gridSizer->Add(m_terminalSpacing, 1, wxEXPAND | wxALL, 5); sizeSizer->Add(gridSizer, 1, wxALL | wxEXPAND, 5); diff --git a/src/gui/efglayout.cc b/src/gui/efglayout.cc index c5aaf8122..af9a595d9 100644 --- a/src/gui/efglayout.cc +++ b/src/gui/efglayout.cc @@ -560,41 +560,6 @@ GameNode TreeLayout::NextSameLevel(const GameNode &p_node) const return nullptr; } -void TreeLayout::ComputeOffsets(const GameNode &p_node, const BehaviorSupportProfile &p_support, - int &p_ycoord) -{ - const auto &settings = m_doc->GetStyle(); - - const auto entry = GetNodeEntry(p_node); - if (m_doc->GetStyle().RootReachable() && p_node->GetInfoset() && - !p_node->GetInfoset()->GetPlayer()->IsChance()) { - const auto actions = p_support.GetActions(p_node->GetInfoset()); - for (const auto &action : actions) { - ComputeOffsets(p_node->GetChild(action), p_support, p_ycoord); - } - entry->m_y = (GetNodeEntry(p_node->GetChild(actions.front()))->m_y + - GetNodeEntry(p_node->GetChild(actions.back()))->m_y) / - 2; - } - else if (!p_node->IsTerminal()) { - const auto actions = p_node->GetInfoset()->GetActions(); - for (const auto &action : actions) { - const auto child = p_node->GetChild(action); - ComputeOffsets(child, p_support, p_ycoord); - if (!p_node->GetPlayer()->IsChance() && !p_support.Contains(action)) { - GetNodeEntry(child)->m_inSupport = false; - } - } - entry->m_y = (GetNodeEntry(p_node->GetChild(actions.front()))->m_y + - GetNodeEntry(p_node->GetChild(actions.back()))->m_y) / - 2; - } - else { - entry->m_y = p_ycoord; - p_ycoord += settings.TerminalSpacing(); - } -} - std::shared_ptr TreeLayout::ComputeNextInInfoset(const std::shared_ptr &p_entry) const { @@ -691,17 +656,17 @@ void TreeLayout::Layout(const BehaviorSupportProfile &p_support) BuildNodeList(p_support); } - int maxy = c_topMargin; - ComputeOffsets(m_doc->GetGame()->GetRoot(), p_support, maxy); - m_maxY = maxy + c_bottomMargin; - auto layout = Gambit::Layout(m_doc->GetGame()); layout.LayoutTree(p_support); + const auto spacing = m_doc->GetStyle().GetTerminalSpacing(); for (auto [node, entry] : layout.GetNodeMap()) { m_nodeMap[node]->m_level = entry->m_level; m_nodeMap[node]->m_sublevel = entry->m_sublevel; + m_nodeMap[node]->m_y = entry->m_offset * spacing + c_topMargin; } + m_maxY = + c_topMargin + c_bottomMargin + spacing * (layout.GetMaxOffset() - layout.GetMinOffset()); ComputeNodeDepths(layout); ComputeRenderedParents(); diff --git a/src/gui/efglayout.h b/src/gui/efglayout.h index 65bfb8605..365861fc9 100644 --- a/src/gui/efglayout.h +++ b/src/gui/efglayout.h @@ -116,8 +116,6 @@ class TreeLayout final : public GameView { void BuildNodeList(const GameNode &, const BehaviorSupportProfile &); - /// (Recursively) compute the y-offsets of all nodes - void ComputeOffsets(const GameNode &, const BehaviorSupportProfile &, int &); /// Based on node levels and information set sublevels, compute the depth /// (X coordinate) of all nodes void ComputeNodeDepths(const Gambit::Layout &) const; diff --git a/src/gui/layout.cc b/src/gui/layout.cc index 23202bcdb..258294b71 100644 --- a/src/gui/layout.cc +++ b/src/gui/layout.cc @@ -75,8 +75,8 @@ void Layout::LayoutTree(const BehaviorSupportProfile &p_support) m_numSublevels.clear(); m_infosetSublevels.clear(); - double ycoord = 0; - LayoutSubtree(m_game->GetRoot(), p_support, 0, ycoord); + m_maxOffset = 0; + LayoutSubtree(m_game->GetRoot(), p_support, 0, m_maxOffset); } } // namespace Gambit diff --git a/src/gui/layout.h b/src/gui/layout.h index c01002374..477705637 100644 --- a/src/gui/layout.h +++ b/src/gui/layout.h @@ -43,7 +43,7 @@ class Layout { std::vector m_numSublevels; std::map, int> m_infosetSublevels; - float m_maxOffset{0}; + double m_maxOffset{0}; void LayoutSubtree(const GameNode &, const BehaviorSupportProfile &, int, double &); @@ -55,8 +55,8 @@ class Layout { const std::map> &GetNodeMap() const { return m_nodeMap; } const std::vector &GetNumSublevels() const { return m_numSublevels; } - float GetMinOffset() const { return 0; } - float GetMaxOffset() const { return m_maxOffset; } + double GetMinOffset() const { return 0; } + double GetMaxOffset() const { return m_maxOffset; } }; } // namespace Gambit #endif // GAMBIT_LAYOUT_H diff --git a/src/gui/style.h b/src/gui/style.h index 6823c700c..61edcdb25 100644 --- a/src/gui/style.h +++ b/src/gui/style.h @@ -109,7 +109,7 @@ class TreeRenderConfig { int GetNodeSize() const { return m_nodeSize; } void SetNodeSize(int p_nodeSize) { m_nodeSize = p_nodeSize; } - int TerminalSpacing() const { return m_terminalSpacing; } + int GetTerminalSpacing() const { return m_terminalSpacing; } void SetTerminalSpacing(int p_spacing) { m_terminalSpacing = p_spacing; } NodeTokenStyle GetChanceToken() const { return m_chanceToken; } From d53c89a25fabd349526d406d7fd62a37529f12ee Mon Sep 17 00:00:00 2001 From: Theodore Turocy Date: Mon, 27 Oct 2025 19:15:19 +0000 Subject: [PATCH 204/240] Removing unused (and non-existent) includes --- src/gui/layout.cc | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/gui/layout.cc b/src/gui/layout.cc index 258294b71..74910f610 100644 --- a/src/gui/layout.cc +++ b/src/gui/layout.cc @@ -20,13 +20,8 @@ // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // -#include // for std::min, std::max -#include // for std::partial_sum - #include "layout.h" -#include <__ostream/basic_ostream.h> - namespace Gambit { void Layout::LayoutSubtree(const GameNode &p_node, const BehaviorSupportProfile &p_support, From 9e399c4a949d03ec2ee3b7a62afed98b951327be Mon Sep 17 00:00:00 2001 From: Rahul Savani Date: Wed, 12 Nov 2025 19:37:47 +0000 Subject: [PATCH 205/240] remove use of poker.efg in test suite --- tests/games.py | 10 ---------- tests/test_extensive.py | 2 +- tests/test_nash.py | 39 +++++++++++++++------------------------ tests/test_node.py | 20 ++++++++++---------- 4 files changed, 26 insertions(+), 45 deletions(-) diff --git a/tests/games.py b/tests/games.py index f428edb17..55f621ffd 100644 --- a/tests/games.py +++ b/tests/games.py @@ -113,16 +113,6 @@ def create_mixed_behav_game_efg() -> gbt.Game: return read_from_file("mixed_behavior_game.efg") -def create_1_card_poker_efg() -> gbt.Game: - """ - Returns - ------- - Game - One-card two-player poker game, as used in the user guide - """ - return read_from_file("poker.efg") - - def create_myerson_2_card_poker_efg() -> gbt.Game: """ Returns diff --git a/tests/test_extensive.py b/tests/test_extensive.py index 25a47b8eb..6d86dd463 100644 --- a/tests/test_extensive.py +++ b/tests/test_extensive.py @@ -54,7 +54,7 @@ def test_game_add_players_nolabel(): ("e01.efg", True), ("e02.efg", True), ("cent3.efg", True), - ("poker.efg", True), + ("myerson_2_card_poker.efg", True), ("basic_extensive_game.efg", True), # Games with perfect recall from generated games (game_input is a gbt.Game object) diff --git a/tests/test_nash.py b/tests/test_nash.py index 4d35c57d8..49a078888 100644 --- a/tests/test_nash.py +++ b/tests/test_nash.py @@ -19,20 +19,20 @@ def test_enumpure_strategy(): """Test calls of enumeration of pure strategies.""" - game = games.read_from_file("poker.efg") + game = games.read_from_file("myerson_2_card_poker.efg") assert len(gbt.nash.enumpure_solve(game, use_strategic=True).equilibria) == 0 def test_enumpure_agent(): """Test calls of enumeration of pure agent strategies.""" - game = games.read_from_file("poker.efg") + game = games.read_from_file("myerson_2_card_poker.efg") assert len(gbt.nash.enumpure_solve(game, use_strategic=False).equilibria) == 0 def test_enummixed_double(): """Test calls of enumeration of mixed strategy equilibria for 2-player games, floating-point. """ - game = games.read_from_file("poker.efg") + game = games.read_from_file("myerson_2_card_poker.efg") result = gbt.nash.enummixed_solve(game, rational=False) assert len(result.equilibria) == 1 # For floating-point results are not exact, so we skip testing exact values for now @@ -44,7 +44,6 @@ def test_enummixed_double(): "game,mixed_strategy_prof_data", [ # Zero-sum games - (games.create_1_card_poker_efg(), [[["1/3", "2/3", 0, 0], ["2/3", "1/3"]]]), (games.create_myerson_2_card_poker_efg(), [[["1/3", "2/3", 0, 0], ["2/3", "1/3"]]]), # Non-zero-sum games (games.create_one_shot_trust_efg(), [[[0, 1], ["1/2", "1/2"]], @@ -90,11 +89,6 @@ def test_enummixed_rational(game: gbt.Game, mixed_strategy_prof_data: list): "game,mixed_behav_prof_data,stop_after", [ # 2-player zero-sum games - ( - games.create_1_card_poker_efg(), - [[[[1, 0], ["1/3", "2/3"]], [["2/3", "1/3"]]]], - None, - ), ( games.create_myerson_2_card_poker_efg(), [[[[1, 0], ["1/3", "2/3"]], [["2/3", "1/3"]]]], @@ -240,7 +234,7 @@ def are_the_same(game, found, candidate): def test_lcp_strategy_double(): """Test calls of LCP for mixed strategy equilibria, floating-point.""" - game = games.read_from_file("poker.efg") + game = games.read_from_file("myerson_2_card_poker.efg") result = gbt.nash.lcp_solve(game, use_strategic=True, rational=False) assert len(result.equilibria) == 1 # For floating-point results are not exact, so we skip testing exact values for now @@ -252,7 +246,6 @@ def test_lcp_strategy_double(): "game,mixed_strategy_prof_data,stop_after", [ # Zero-sum games - (games.create_1_card_poker_efg(), [[["1/3", "2/3", 0, 0], ["2/3", "1/3"]]], None), (games.create_myerson_2_card_poker_efg(), [[["1/3", "2/3", 0, 0], ["2/3", "1/3"]]], None), (games.create_kuhn_poker_efg(), [games.kuhn_poker_lcp_first_mixed_strategy_prof()], 1), # Non-zero-sum games @@ -311,7 +304,7 @@ def test_lcp_strategy_rational(game: gbt.Game, mixed_strategy_prof_data: list, def test_lcp_behavior_double(): """Test calls of LCP for mixed behavior equilibria, floating-point.""" - game = games.read_from_file("poker.efg") + game = games.read_from_file("myerson_2_card_poker.efg") result = gbt.nash.lcp_solve(game, use_strategic=False, rational=False) assert len(result.equilibria) == 1 # For floating-point results are not exact, so we skip testing exact values for now @@ -323,7 +316,6 @@ def test_lcp_behavior_double(): "game,mixed_behav_prof_data", [ # Zero-sum games (also tested with lp solve) - (games.create_1_card_poker_efg(), [[[1, 0], ["1/3", "2/3"]], [["2/3", "1/3"]]]), (games.create_myerson_2_card_poker_efg(), [[[1, 0], ["1/3", "2/3"]], [["2/3", "1/3"]]]), ( games.create_kuhn_poker_efg(), @@ -380,7 +372,7 @@ def test_lcp_behavior_rational(game: gbt.Game, mixed_behav_prof_data: list): def test_lp_strategy_double(): """Test calls of LP for mixed strategy equilibria, floating-point.""" - game = games.read_from_file("poker.efg") + game = games.read_from_file("myerson_2_card_poker.efg") result = gbt.nash.lp_solve(game, use_strategic=True, rational=False) assert len(result.equilibria) == 1 # For floating-point results are not exact, so we skip testing exact values for now @@ -390,7 +382,7 @@ def test_lp_strategy_double(): @pytest.mark.nash_lp_strategy def test_lp_strategy_rational(): """Test calls of LP for mixed strategy equilibria, rational precision.""" - game = games.read_from_file("poker.efg") + game = games.read_from_file("myerson_2_card_poker.efg") result = gbt.nash.lp_solve(game, use_strategic=True, rational=True) assert len(result.equilibria) == 1 expected = game.mixed_strategy_profile( @@ -405,7 +397,7 @@ def test_lp_strategy_rational(): def test_lp_behavior_double(): """Test calls of LP for mixed behavior equilibria, floating-point.""" - game = games.read_from_file("poker.efg") + game = games.read_from_file("myerson_2_card_poker.efg") result = gbt.nash.lp_solve(game, use_strategic=False, rational=False) assert len(result.equilibria) == 1 # For floating-point results are not exact, so we skip testing exact values for now @@ -420,7 +412,6 @@ def test_lp_behavior_double(): games.create_two_player_perfect_info_win_lose_efg(), [[[0, 1], [1, 0]], [[1, 0], [1, 0]]], ), - (games.create_1_card_poker_efg(), [[[1, 0], ["1/3", "2/3"]], [["2/3", "1/3"]]]), ( games.create_myerson_2_card_poker_efg(), [[[1, 0], ["1/3", "2/3"]], [["2/3", "1/3"]]], @@ -456,47 +447,47 @@ def test_lp_behavior_rational(game: gbt.Game, mixed_behav_prof_data: list): def test_liap_strategy(): """Test calls of liap for mixed strategy equilibria.""" - game = games.read_from_file("poker.efg") + game = games.read_from_file("myerson_2_card_poker.efg") _ = gbt.nash.liap_solve(game.mixed_strategy_profile()) def test_liap_behavior(): """Test calls of liap for mixed behavior equilibria.""" - game = games.read_from_file("poker.efg") + game = games.read_from_file("myerson_2_card_poker.efg") _ = gbt.nash.liap_solve(game.mixed_behavior_profile()) def test_simpdiv_strategy(): """Test calls of simplicial subdivision for mixed strategy equilibria.""" - game = games.read_from_file("poker.efg") + game = games.read_from_file("myerson_2_card_poker.efg") result = gbt.nash.simpdiv_solve(game.mixed_strategy_profile(rational=True)) assert len(result.equilibria) == 1 def test_ipa_strategy(): """Test calls of IPA for mixed strategy equilibria.""" - game = games.read_from_file("poker.efg") + game = games.read_from_file("myerson_2_card_poker.efg") result = gbt.nash.ipa_solve(game) assert len(result.equilibria) == 1 def test_gnm_strategy(): """Test calls of GNM for mixed strategy equilibria.""" - game = games.read_from_file("poker.efg") + game = games.read_from_file("myerson_2_card_poker.efg") result = gbt.nash.gnm_solve(game) assert len(result.equilibria) == 1 def test_logit_strategy(): """Test calls of logit for mixed strategy equilibria.""" - game = games.read_from_file("poker.efg") + game = games.read_from_file("myerson_2_card_poker.efg") result = gbt.nash.logit_solve(game, use_strategic=True) assert len(result.equilibria) == 1 def test_logit_behavior(): """Test calls of logit for behavior equilibria.""" - game = games.read_from_file("poker.efg") + game = games.read_from_file("myerson_2_card_poker.efg") result = gbt.nash.logit_solve(game, use_strategic=False) assert len(result.equilibria) == 1 diff --git a/tests/test_node.py b/tests/test_node.py index 8636a7559..3f20da2c7 100644 --- a/tests/test_node.py +++ b/tests/test_node.py @@ -791,26 +791,26 @@ def test_node_plays(): def test_node_children_action_label(): - game = games.read_from_file("poker.efg") - assert game.root.children["Red"] == game.root.children[0] - assert game.root.children["Black"].children["Fold"] == game.root.children[1].children[1] + game = games.read_from_file("myerson_2_card_poker.efg") + assert game.root.children["RED"] == game.root.children[0] + assert game.root.children["BLACK"].children["FOLD"] == game.root.children[1].children[1] def test_node_children_action(): - game = games.read_from_file("poker.efg") - assert game.root.children[game.root.infoset.actions["Red"]] == game.root.children[0] + game = games.read_from_file("myerson_2_card_poker.efg") + assert game.root.children[game.root.infoset.actions["RED"]] == game.root.children[0] def test_node_children_nonexistent_action(): - game = games.read_from_file("poker.efg") + game = games.read_from_file("myerson_2_card_poker.efg") with pytest.raises(ValueError): - _ = game.root.children["Green"] + _ = game.root.children["GREEN"] def test_node_children_other_infoset_action(): - game = games.read_from_file("poker.efg") + game = games.read_from_file("myerson_2_card_poker.efg") with pytest.raises(ValueError): - _ = game.root.children[game.root.children[0].infoset.actions["Raise"]] + _ = game.root.children[game.root.children[0].infoset.actions["RAISE"]] @pytest.mark.parametrize( @@ -821,7 +821,7 @@ def test_node_children_other_infoset_action(): pytest.param(games.read_from_file("cent3.efg")), pytest.param(games.read_from_file("e01.efg")), pytest.param(games.read_from_file("e02.efg")), - pytest.param(games.read_from_file("poker.efg")), + pytest.param(games.read_from_file("myerson_2_card_poker.efg")), pytest.param(gbt.Game.new_tree()), ], ) From eba5da527fe9289c8beb2cd729a7de626ca9754c Mon Sep 17 00:00:00 2001 From: rahulsavani Date: Thu, 13 Nov 2025 18:30:10 +0000 Subject: [PATCH 206/240] myerson_2_card_poker.efg -> stripped_down_poker.efg --- tests/games.py | 15 +- tests/test_actions.py | 28 +- tests/test_behav.py | 456 +++++++++++----------- tests/test_extensive.py | 10 +- tests/test_games/myerson_2_card_poker.efg | 14 - tests/test_games/poker.efg | 14 - tests/test_mixed.py | 190 ++++----- tests/test_nash.py | 40 +- tests/test_node.py | 20 +- 9 files changed, 378 insertions(+), 409 deletions(-) delete mode 100644 tests/test_games/myerson_2_card_poker.efg delete mode 100644 tests/test_games/poker.efg diff --git a/tests/games.py b/tests/games.py index 55f621ffd..d08178be2 100644 --- a/tests/games.py +++ b/tests/games.py @@ -113,17 +113,20 @@ def create_mixed_behav_game_efg() -> gbt.Game: return read_from_file("mixed_behavior_game.efg") -def create_myerson_2_card_poker_efg() -> gbt.Game: +def create_stripped_down_poker_efg() -> gbt.Game: """ Returns ------- Game - Simplied "stripped down" version of Myerson 2-card poker: - Two-player extensive poker game with a chance move with two moves, - then player 1 can raise or fold; after raising player 2 is in an infoset with two nodes - and can choose to meet or pass + Stripped-Down Poker: A Classroom Game with Signaling and Bluffing + Reiley et al (2008) + + Two-player extensive-form poker game between Fred and Alice + Chance deals King or Queen to Fred + Fred can then Bet or Fold; after raising Alice is in an infoset with two nodes + and can choose to Call or Fold """ - return read_from_file("myerson_2_card_poker.efg") + return read_from_file("stripped_down_poker.efg") def create_kuhn_poker_efg() -> gbt.Game: diff --git a/tests/test_actions.py b/tests/test_actions.py index 971a65cbb..72cb506a5 100644 --- a/tests/test_actions.py +++ b/tests/test_actions.py @@ -7,7 +7,7 @@ @pytest.mark.parametrize( "game,label", - [(games.create_myerson_2_card_poker_efg(), "random label")] + [(games.create_stripped_down_poker_efg(), "random label")] ) def test_set_action_label(game: gbt.Game, label: str): game.root.infoset.actions[0].label = label @@ -16,9 +16,9 @@ def test_set_action_label(game: gbt.Game, label: str): @pytest.mark.parametrize( "game,inprobs,outprobs", - [(games.create_myerson_2_card_poker_efg(), + [(games.create_stripped_down_poker_efg(), [0.75, 0.25], [0.75, 0.25]), - (games.create_myerson_2_card_poker_efg(), + (games.create_stripped_down_poker_efg(), ["16/17", "1/17"], [gbt.Rational("16/17"), gbt.Rational("1/17")])] ) def test_set_chance_valid_probability(game: gbt.Game, inprobs: list, outprobs: list): @@ -29,9 +29,9 @@ def test_set_chance_valid_probability(game: gbt.Game, inprobs: list, outprobs: l @pytest.mark.parametrize( "game,inprobs", - [(games.create_myerson_2_card_poker_efg(), [0.75, -0.10]), - (games.create_myerson_2_card_poker_efg(), [0.75, 0.40]), - (games.create_myerson_2_card_poker_efg(), ["foo", "bar"])] + [(games.create_stripped_down_poker_efg(), [0.75, -0.10]), + (games.create_stripped_down_poker_efg(), [0.75, 0.40]), + (games.create_stripped_down_poker_efg(), ["foo", "bar"])] ) def test_set_chance_improper_probability(game: gbt.Game, inprobs: list): with pytest.raises(ValueError): @@ -40,8 +40,8 @@ def test_set_chance_improper_probability(game: gbt.Game, inprobs: list): @pytest.mark.parametrize( "game,inprobs", - [(games.create_myerson_2_card_poker_efg(), [0.25, 0.75, 0.25]), - (games.create_myerson_2_card_poker_efg(), [1.00])] + [(games.create_stripped_down_poker_efg(), [0.25, 0.75, 0.25]), + (games.create_stripped_down_poker_efg(), [1.00])] ) def test_set_chance_bad_dimension(game: gbt.Game, inprobs: list): with pytest.raises(IndexError): @@ -50,7 +50,7 @@ def test_set_chance_bad_dimension(game: gbt.Game, inprobs: list): @pytest.mark.parametrize( "game", - [games.create_myerson_2_card_poker_efg()] + [games.create_stripped_down_poker_efg()] ) def test_set_chance_personal(game: gbt.Game): with pytest.raises(gbt.UndefinedOperationError): @@ -59,7 +59,7 @@ def test_set_chance_personal(game: gbt.Game): @pytest.mark.parametrize( "game", - [games.create_myerson_2_card_poker_efg()] + [games.create_stripped_down_poker_efg()] ) def test_action_precedes(game: gbt.Game): child = game.root.children[0] @@ -69,7 +69,7 @@ def test_action_precedes(game: gbt.Game): @pytest.mark.parametrize( "game", - [games.create_myerson_2_card_poker_efg()] + [games.create_stripped_down_poker_efg()] ) def test_action_precedes_nonnode(game: gbt.Game): with pytest.raises(TypeError): @@ -78,7 +78,7 @@ def test_action_precedes_nonnode(game: gbt.Game): @pytest.mark.parametrize( "game", - [games.create_myerson_2_card_poker_efg()] + [games.create_stripped_down_poker_efg()] ) def test_action_delete_personal(game: gbt.Game): node = game.players[0].infosets[0].members[0] @@ -90,7 +90,7 @@ def test_action_delete_personal(game: gbt.Game): @pytest.mark.parametrize( "game", - [games.create_myerson_2_card_poker_efg()] + [games.create_stripped_down_poker_efg()] ) def test_action_delete_last(game: gbt.Game): node = game.players[0].infosets[0].members[0] @@ -103,7 +103,7 @@ def test_action_delete_last(game: gbt.Game): @pytest.mark.parametrize( "game", [games.read_from_file("chance_root_3_moves_only_one_nonzero_prob.efg"), - games.create_myerson_2_card_poker_efg(), + games.create_stripped_down_poker_efg(), games.read_from_file("chance_root_5_moves_no_nonterm_player_nodes.efg")] ) def test_action_delete_chance(game: gbt.Game): diff --git a/tests/test_behav.py b/tests/test_behav.py index 4514997be..dbf096167 100644 --- a/tests/test_behav.py +++ b/tests/test_behav.py @@ -28,10 +28,10 @@ def _set_action_probs(profile: gbt.MixedBehaviorProfile, probs: list, rational_f (games.create_mixed_behav_game_efg(), 0, "3", True), (games.create_mixed_behav_game_efg(), 1, "3", True), (games.create_mixed_behav_game_efg(), 2, "13/4", True), - (games.create_myerson_2_card_poker_efg(), 0, -1.25, False), - (games.create_myerson_2_card_poker_efg(), 1, 1.25, True), - (games.create_myerson_2_card_poker_efg(), 0, "-5/4", True), - (games.create_myerson_2_card_poker_efg(), 1, "5/4", True) + (games.create_stripped_down_poker_efg(), 0, -0.25, False), + (games.create_stripped_down_poker_efg(), 1, 0.25, True), + (games.create_stripped_down_poker_efg(), 0, "-1/4", True), + (games.create_stripped_down_poker_efg(), 1, "1/4", True) ] ) def test_payoff_reference(game: gbt.Game, player_idx: int, payoff: typing.Union[str, float], @@ -49,10 +49,10 @@ def test_payoff_reference(game: gbt.Game, player_idx: int, payoff: typing.Union[ (games.create_mixed_behav_game_efg(), "Player 1", "3", True), (games.create_mixed_behav_game_efg(), "Player 2", "3", True), (games.create_mixed_behav_game_efg(), "Player 3", "13/4", True), - (games.create_myerson_2_card_poker_efg(), "Player 1", -1.25, False), - (games.create_myerson_2_card_poker_efg(), "Player 2", 1.25, False), - (games.create_myerson_2_card_poker_efg(), "Player 1", "-5/4", True), - (games.create_myerson_2_card_poker_efg(), "Player 2", "5/4", True), + (games.create_stripped_down_poker_efg(), "Fred", -0.25, False), + (games.create_stripped_down_poker_efg(), "Alice", 0.25, False), + (games.create_stripped_down_poker_efg(), "Fred", "-1/4", True), + (games.create_stripped_down_poker_efg(), "Alice", "1/4", True), ] ) def test_payoff_by_label_reference(game: gbt.Game, label: str, payoff: typing.Union[str, float], @@ -66,8 +66,8 @@ def test_payoff_by_label_reference(game: gbt.Game, label: str, payoff: typing.Un "game,rational_flag", [(games.create_mixed_behav_game_efg(), False), (games.create_mixed_behav_game_efg(), True), - (games.create_myerson_2_card_poker_efg(), False), - (games.create_myerson_2_card_poker_efg(), True), + (games.create_stripped_down_poker_efg(), False), + (games.create_stripped_down_poker_efg(), True), ] ) def test_is_defined_at(game: gbt.Game, rational_flag: bool): @@ -85,12 +85,12 @@ def test_is_defined_at(game: gbt.Game, rational_flag: bool): (games.create_mixed_behav_game_efg(), "Infoset 1:1", True), (games.create_mixed_behav_game_efg(), "Infoset 2:1", True), (games.create_mixed_behav_game_efg(), "Infoset 3:1", True), - (games.create_myerson_2_card_poker_efg(), "(1,1)", False), - (games.create_myerson_2_card_poker_efg(), "(1,2)", False), - (games.create_myerson_2_card_poker_efg(), "(2,1)", False), - (games.create_myerson_2_card_poker_efg(), "(1,1)", True), - (games.create_myerson_2_card_poker_efg(), "(1,2)", True), - (games.create_myerson_2_card_poker_efg(), "(2,1)", True), + (games.create_stripped_down_poker_efg(), "(1,1)", False), + (games.create_stripped_down_poker_efg(), "(1,2)", False), + (games.create_stripped_down_poker_efg(), "(2,1)", False), + (games.create_stripped_down_poker_efg(), "(1,1)", True), + (games.create_stripped_down_poker_efg(), "(1,2)", True), + (games.create_stripped_down_poker_efg(), "(2,1)", True), ] ) def test_is_defined_at_by_label(game: gbt.Game, label: str, rational_flag: bool): @@ -113,18 +113,18 @@ def test_is_defined_at_by_label(game: gbt.Game, label: str, rational_flag: bool) (games.create_mixed_behav_game_efg(), 1, 0, 1, "1/2", True), (games.create_mixed_behav_game_efg(), 2, 0, 0, "1/2", True), (games.create_mixed_behav_game_efg(), 2, 0, 1, "1/2", True), - (games.create_myerson_2_card_poker_efg(), 0, 0, 0, 0.5, False), - (games.create_myerson_2_card_poker_efg(), 0, 0, 1, 0.5, False), - (games.create_myerson_2_card_poker_efg(), 0, 1, 0, 0.5, False), - (games.create_myerson_2_card_poker_efg(), 0, 1, 1, 0.5, False), - (games.create_myerson_2_card_poker_efg(), 1, 0, 0, 0.5, False), - (games.create_myerson_2_card_poker_efg(), 1, 0, 1, 0.5, False), - (games.create_myerson_2_card_poker_efg(), 0, 0, 0, "1/2", True), - (games.create_myerson_2_card_poker_efg(), 0, 0, 1, "1/2", True), - (games.create_myerson_2_card_poker_efg(), 0, 1, 0, "1/2", True), - (games.create_myerson_2_card_poker_efg(), 0, 1, 1, "1/2", True), - (games.create_myerson_2_card_poker_efg(), 1, 0, 0, "1/2", True), - (games.create_myerson_2_card_poker_efg(), 1, 0, 1, "1/2", True), + (games.create_stripped_down_poker_efg(), 0, 0, 0, 0.5, False), + (games.create_stripped_down_poker_efg(), 0, 0, 1, 0.5, False), + (games.create_stripped_down_poker_efg(), 0, 1, 0, 0.5, False), + (games.create_stripped_down_poker_efg(), 0, 1, 1, 0.5, False), + (games.create_stripped_down_poker_efg(), 1, 0, 0, 0.5, False), + (games.create_stripped_down_poker_efg(), 1, 0, 1, 0.5, False), + (games.create_stripped_down_poker_efg(), 0, 0, 0, "1/2", True), + (games.create_stripped_down_poker_efg(), 0, 0, 1, "1/2", True), + (games.create_stripped_down_poker_efg(), 0, 1, 0, "1/2", True), + (games.create_stripped_down_poker_efg(), 0, 1, 1, "1/2", True), + (games.create_stripped_down_poker_efg(), 1, 0, 0, "1/2", True), + (games.create_stripped_down_poker_efg(), 1, 0, 1, "1/2", True), ] ) def test_profile_indexing_by_player_infoset_action_idx_reference(game: gbt.Game, player_idx: int, @@ -152,10 +152,8 @@ def test_profile_indexing_by_player_infoset_action_idx_reference(game: gbt.Game, (games.create_mixed_behav_game_efg(), "D2", "1/2", True), (games.create_mixed_behav_game_efg(), "U3", "1/2", True), (games.create_mixed_behav_game_efg(), "D3", "1/2", True), - (games.create_myerson_2_card_poker_efg(), "MEET", 0.5, False), - (games.create_myerson_2_card_poker_efg(), "PASS", 0.5, False), - (games.create_myerson_2_card_poker_efg(), "MEET", "1/2", True), - (games.create_myerson_2_card_poker_efg(), "PASS", "1/2", True), + (games.create_stripped_down_poker_efg(), "Call", 0.5, False), + (games.create_stripped_down_poker_efg(), "Call", "1/2", True), ] ) def test_profile_indexing_by_action_label_reference(game: gbt.Game, action_label: str, @@ -171,14 +169,14 @@ def test_profile_indexing_by_action_label_reference(game: gbt.Game, action_label "game,action_label,rational_flag,error", [(games.create_mixed_behav_game_efg(), "U4", True, KeyError), (games.create_mixed_behav_game_efg(), "U4", False, KeyError), - (games.create_myerson_2_card_poker_efg(), "RAISE", True, ValueError), - (games.create_myerson_2_card_poker_efg(), "RAISE", False, ValueError), - (games.create_myerson_2_card_poker_efg(), "FOLD", True, ValueError), - (games.create_myerson_2_card_poker_efg(), "FOLD", False, ValueError), - (games.create_myerson_2_card_poker_efg(), "RAISEFOLD", True, KeyError), - (games.create_myerson_2_card_poker_efg(), "RAISEFOLD", False, KeyError), - (games.create_myerson_2_card_poker_efg(), "MISSING", True, KeyError), - (games.create_myerson_2_card_poker_efg(), "MISSING", False, KeyError), + (games.create_stripped_down_poker_efg(), "Bet", True, ValueError), + (games.create_stripped_down_poker_efg(), "Bet", False, ValueError), + (games.create_stripped_down_poker_efg(), "Fold", True, ValueError), + (games.create_stripped_down_poker_efg(), "Fold", False, ValueError), + (games.create_stripped_down_poker_efg(), "BetFold", True, KeyError), + (games.create_stripped_down_poker_efg(), "BetFold", False, KeyError), + (games.create_stripped_down_poker_efg(), "MISSING", True, KeyError), + (games.create_stripped_down_poker_efg(), "MISSING", False, KeyError), ] ) def test_profile_indexing_by_invalid_action_label(game: gbt.Game, action_label: str, @@ -214,14 +212,14 @@ def test_profile_indexing_by_invalid_infoset_label(rational_flag: bool): (games.create_mixed_behav_game_efg(), "Infoset 1:1", "D1", 0.5, False), (games.create_mixed_behav_game_efg(), "Infoset 1:1", "U1", "1/2", True), (games.create_mixed_behav_game_efg(), "Infoset 1:1", "D1", "1/2", True), - (games.create_myerson_2_card_poker_efg(), "(1,1)", "RAISE", 0.5, False), - (games.create_myerson_2_card_poker_efg(), "(1,1)", "FOLD", 0.5, False), - (games.create_myerson_2_card_poker_efg(), "(1,2)", "RAISE", 0.5, False), - (games.create_myerson_2_card_poker_efg(), "(1,2)", "FOLD", 0.5, False), - (games.create_myerson_2_card_poker_efg(), "(2,1)", "MEET", 0.5, False), - (games.create_myerson_2_card_poker_efg(), "(2,1)", "PASS", 0.5, False), - (games.create_myerson_2_card_poker_efg(), "(2,1)", "MEET", "1/2", True), - (games.create_myerson_2_card_poker_efg(), "(2,1)", "PASS", "1/2", True), + (games.create_stripped_down_poker_efg(), "(1,1)", "Bet", 0.5, False), + (games.create_stripped_down_poker_efg(), "(1,1)", "Fold", 0.5, False), + (games.create_stripped_down_poker_efg(), "(1,2)", "Bet", 0.5, False), + (games.create_stripped_down_poker_efg(), "(1,2)", "Fold", 0.5, False), + (games.create_stripped_down_poker_efg(), "(2,1)", "Call", 0.5, False), + (games.create_stripped_down_poker_efg(), "(2,1)", "Fold", 0.5, False), + (games.create_stripped_down_poker_efg(), "(2,1)", "Call", "1/2", True), + (games.create_stripped_down_poker_efg(), "(2,1)", "Fold", "1/2", True), ] ) def test_profile_indexing_by_infoset_and_action_labels_reference(game: gbt.Game, @@ -243,14 +241,14 @@ def test_profile_indexing_by_infoset_and_action_labels_reference(game: gbt.Game, (games.create_mixed_behav_game_efg(), "Player 1", "Infoset 1:1", "D1", 0.5, False), (games.create_mixed_behav_game_efg(), "Player 1", "Infoset 1:1", "U1", "1/2", True), (games.create_mixed_behav_game_efg(), "Player 1", "Infoset 1:1", "D1", "1/2", True), - (games.create_myerson_2_card_poker_efg(), "Player 1", "(1,1)", "RAISE", 0.5, False), - (games.create_myerson_2_card_poker_efg(), "Player 1", "(1,1)", "FOLD", 0.5, False), - (games.create_myerson_2_card_poker_efg(), "Player 1", "(1,2)", "RAISE", 0.5, False), - (games.create_myerson_2_card_poker_efg(), "Player 1", "(1,2)", "FOLD", 0.5, False), - (games.create_myerson_2_card_poker_efg(), "Player 2", "(2,1)", "MEET", 0.5, False), - (games.create_myerson_2_card_poker_efg(), "Player 2", "(2,1)", "PASS", 0.5, False), - (games.create_myerson_2_card_poker_efg(), "Player 2", "(2,1)", "MEET", "1/2", True), - (games.create_myerson_2_card_poker_efg(), "Player 2", "(2,1)", "PASS", "1/2", True), + (games.create_stripped_down_poker_efg(), "Fred", "(1,1)", "Bet", 0.5, False), + (games.create_stripped_down_poker_efg(), "Fred", "(1,1)", "Fold", 0.5, False), + (games.create_stripped_down_poker_efg(), "Fred", "(1,2)", "Bet", 0.5, False), + (games.create_stripped_down_poker_efg(), "Fred", "(1,2)", "Fold", 0.5, False), + (games.create_stripped_down_poker_efg(), "Alice", "(2,1)", "Call", 0.5, False), + (games.create_stripped_down_poker_efg(), "Alice", "(2,1)", "Fold", 0.5, False), + (games.create_stripped_down_poker_efg(), "Alice", "(2,1)", "Call", "1/2", True), + (games.create_stripped_down_poker_efg(), "Alice", "(2,1)", "Fold", "1/2", True), ] ) def test_profile_indexing_by_player_infoset_action_labels_reference(game: gbt.Game, @@ -273,8 +271,8 @@ def test_profile_indexing_by_player_infoset_action_labels_reference(game: gbt.Ga (games.create_mixed_behav_game_efg(), "1:1", "U2", False), (games.create_mixed_behav_game_efg(), "1:1", "U4", True), # U4 isn't in the game (games.create_mixed_behav_game_efg(), "1:1", "U4", False), - (games.create_myerson_2_card_poker_efg(), "(1,1)", "MEET", True), # MEET at different iset - (games.create_myerson_2_card_poker_efg(), "(1,1)", "MEET", False), + (games.create_stripped_down_poker_efg(), "(1,1)", "MEET", True), # MEET at different iset + (games.create_stripped_down_poker_efg(), "(1,1)", "MEET", False), ] ) def test_profile_indexing_by_invalid_infoset_or_action_label(game: gbt.Game, infoset_label: str, @@ -292,12 +290,12 @@ def test_profile_indexing_by_invalid_infoset_or_action_label(game: gbt.Game, inf (games.create_mixed_behav_game_efg(), 0, 0, ["1/2", "1/2"], True), (games.create_mixed_behav_game_efg(), 1, 0, ["1/2", "1/2"], True), (games.create_mixed_behav_game_efg(), 2, 0, ["1/2", "1/2"], True), - (games.create_myerson_2_card_poker_efg(), 0, 0, [0.5, 0.5], False), - (games.create_myerson_2_card_poker_efg(), 0, 1, [0.5, 0.5], False), - (games.create_myerson_2_card_poker_efg(), 1, 0, [0.5, 0.5], False), - (games.create_myerson_2_card_poker_efg(), 0, 0, ["1/2", "1/2"], True), - (games.create_myerson_2_card_poker_efg(), 0, 1, ["1/2", "1/2"], True), - (games.create_myerson_2_card_poker_efg(), 1, 0, ["1/2", "1/2"], True), + (games.create_stripped_down_poker_efg(), 0, 0, [0.5, 0.5], False), + (games.create_stripped_down_poker_efg(), 0, 1, [0.5, 0.5], False), + (games.create_stripped_down_poker_efg(), 1, 0, [0.5, 0.5], False), + (games.create_stripped_down_poker_efg(), 0, 0, ["1/2", "1/2"], True), + (games.create_stripped_down_poker_efg(), 0, 1, ["1/2", "1/2"], True), + (games.create_stripped_down_poker_efg(), 1, 0, ["1/2", "1/2"], True), ] ) def test_profile_indexing_by_player_and_infoset_idx_reference(game: gbt.Game, @@ -318,12 +316,12 @@ def test_profile_indexing_by_player_and_infoset_idx_reference(game: gbt.Game, (games.create_mixed_behav_game_efg(), 0, "Infoset 1:1", ["1/2", "1/2"], True), (games.create_mixed_behav_game_efg(), 1, "Infoset 2:1", ["1/2", "1/2"], True), (games.create_mixed_behav_game_efg(), 2, "Infoset 3:1", ["1/2", "1/2"], True), - (games.create_myerson_2_card_poker_efg(), 0, "(1,1)", [0.5, 0.5], False), - (games.create_myerson_2_card_poker_efg(), 0, "(1,2)", [0.5, 0.5], False), - (games.create_myerson_2_card_poker_efg(), 1, "(2,1)", [0.5, 0.5], False), - (games.create_myerson_2_card_poker_efg(), 0, "(1,1)", ["1/2", "1/2"], True), - (games.create_myerson_2_card_poker_efg(), 0, "(1,2)", ["1/2", "1/2"], True), - (games.create_myerson_2_card_poker_efg(), 1, "(2,1)", ["1/2", "1/2"], True), + (games.create_stripped_down_poker_efg(), 0, "(1,1)", [0.5, 0.5], False), + (games.create_stripped_down_poker_efg(), 0, "(1,2)", [0.5, 0.5], False), + (games.create_stripped_down_poker_efg(), 1, "(2,1)", [0.5, 0.5], False), + (games.create_stripped_down_poker_efg(), 0, "(1,1)", ["1/2", "1/2"], True), + (games.create_stripped_down_poker_efg(), 0, "(1,2)", ["1/2", "1/2"], True), + (games.create_stripped_down_poker_efg(), 1, "(2,1)", ["1/2", "1/2"], True), ] ) def test_profile_indexing_by_player_idx_infoset_label_reference(game: gbt.Game, player_idx: int, @@ -340,8 +338,8 @@ def test_profile_indexing_by_player_idx_infoset_label_reference(game: gbt.Game, "game,player_label,infoset_label,rational_flag", [(games.create_mixed_behav_game_efg(), "Player 1", "1:1", True), # correct: "Infoset 1:1" (games.create_mixed_behav_game_efg(), "Player 1", "1:1", False), - (games.create_myerson_2_card_poker_efg(), "Player 1", "(2,1)", True), # wrong player - (games.create_myerson_2_card_poker_efg(), "Player 1", "(2,1)", False), + (games.create_stripped_down_poker_efg(), "Player 1", "(2,1)", True), # wrong player + (games.create_stripped_down_poker_efg(), "Player 1", "(2,1)", False), ] ) def test_profile_indexing_by_player_and_invalid_infoset_label(game: gbt.Game, @@ -357,8 +355,8 @@ def test_profile_indexing_by_player_and_invalid_infoset_label(game: gbt.Game, "game,player_label,action_label,rational_flag", [(games.create_mixed_behav_game_efg(), "Player 1", "U2", True), (games.create_mixed_behav_game_efg(), "Player 1", "U2", False), - (games.create_myerson_2_card_poker_efg(), "Player 1", "MEET", True), - (games.create_myerson_2_card_poker_efg(), "Player 1", "MEET", False), + (games.create_stripped_down_poker_efg(), "Player 1", "MEET", True), + (games.create_stripped_down_poker_efg(), "Player 1", "MEET", False), ] ) def test_profile_indexing_by_player_and_invalid_action_label(game: gbt.Game, @@ -378,10 +376,10 @@ def test_profile_indexing_by_player_and_invalid_action_label(game: gbt.Game, (games.create_mixed_behav_game_efg(), 0, [["1/2", "1/2"]], True), (games.create_mixed_behav_game_efg(), 1, [["1/2", "1/2"]], True), (games.create_mixed_behav_game_efg(), 2, [["1/2", "1/2"]], True), - (games.create_myerson_2_card_poker_efg(), 0, [[0.5, 0.5], [0.5, 0.5]], False), - (games.create_myerson_2_card_poker_efg(), 1, [[0.5, 0.5]], False), - (games.create_myerson_2_card_poker_efg(), 0, [["1/2", "1/2"], ["1/2", "1/2"]], True), - (games.create_myerson_2_card_poker_efg(), 1, [["1/2", "1/2"]], True), + (games.create_stripped_down_poker_efg(), 0, [[0.5, 0.5], [0.5, 0.5]], False), + (games.create_stripped_down_poker_efg(), 1, [[0.5, 0.5]], False), + (games.create_stripped_down_poker_efg(), 0, [["1/2", "1/2"], ["1/2", "1/2"]], True), + (games.create_stripped_down_poker_efg(), 1, [["1/2", "1/2"]], True), ] ) def test_profile_indexing_by_player_idx_reference(game: gbt.Game, player_idx: int, @@ -402,11 +400,11 @@ def test_profile_indexing_by_player_idx_reference(game: gbt.Game, player_idx: in (games.create_mixed_behav_game_efg(), "Player 1", [["1/2", "1/2"]], True), (games.create_mixed_behav_game_efg(), "Player 2", [["1/2", "1/2"]], True), (games.create_mixed_behav_game_efg(), "Player 3", [["1/2", "1/2"]], True), - (games.create_myerson_2_card_poker_efg(), "Player 1", [[0.5, 0.5], [0.5, 0.5]], False), - (games.create_myerson_2_card_poker_efg(), "Player 2", [[0.5, 0.5]], False), - (games.create_myerson_2_card_poker_efg(), "Player 1", [["1/2", "1/2"], ["1/2", "1/2"]], + (games.create_stripped_down_poker_efg(), "Fred", [[0.5, 0.5], [0.5, 0.5]], False), + (games.create_stripped_down_poker_efg(), "Alice", [[0.5, 0.5]], False), + (games.create_stripped_down_poker_efg(), "Fred", [["1/2", "1/2"], ["1/2", "1/2"]], True), - (games.create_myerson_2_card_poker_efg(), "Player 2", [["1/2", "1/2"]], True), + (games.create_stripped_down_poker_efg(), "Alice", [["1/2", "1/2"]], True), ] ) def test_profile_indexing_by_player_label_reference(game: gbt.Game, player_label: str, @@ -431,18 +429,18 @@ def test_profile_indexing_by_player_label_reference(game: gbt.Game, player_label (games.create_mixed_behav_game_efg(), 3, "9/13", True), (games.create_mixed_behav_game_efg(), 4, "1/98", True), (games.create_mixed_behav_game_efg(), 5, "97/98", True), - (games.create_myerson_2_card_poker_efg(), 0, 0.1, False), - (games.create_myerson_2_card_poker_efg(), 1, 0.2, False), - (games.create_myerson_2_card_poker_efg(), 2, 0.3, False), - (games.create_myerson_2_card_poker_efg(), 3, 0.4, False), - (games.create_myerson_2_card_poker_efg(), 4, 0.5, False), - (games.create_myerson_2_card_poker_efg(), 5, 0.6, False), - (games.create_myerson_2_card_poker_efg(), 0, "1/10", True), - (games.create_myerson_2_card_poker_efg(), 1, "2/10", True), - (games.create_myerson_2_card_poker_efg(), 2, "3/10", True), - (games.create_myerson_2_card_poker_efg(), 3, "4/10", True), - (games.create_myerson_2_card_poker_efg(), 4, "5/10", True), - (games.create_myerson_2_card_poker_efg(), 5, "6/10", True), + (games.create_stripped_down_poker_efg(), 0, 0.1, False), + (games.create_stripped_down_poker_efg(), 1, 0.2, False), + (games.create_stripped_down_poker_efg(), 2, 0.3, False), + (games.create_stripped_down_poker_efg(), 3, 0.4, False), + (games.create_stripped_down_poker_efg(), 4, 0.5, False), + (games.create_stripped_down_poker_efg(), 5, 0.6, False), + (games.create_stripped_down_poker_efg(), 0, "1/10", True), + (games.create_stripped_down_poker_efg(), 1, "2/10", True), + (games.create_stripped_down_poker_efg(), 2, "3/10", True), + (games.create_stripped_down_poker_efg(), 3, "4/10", True), + (games.create_stripped_down_poker_efg(), 4, "5/10", True), + (games.create_stripped_down_poker_efg(), 5, "6/10", True), ] ) def test_set_probabilities_action(game: gbt.Game, action_idx: int, prob: typing.Union[str, float], @@ -469,10 +467,8 @@ def test_set_probabilities_action(game: gbt.Game, action_idx: int, prob: typing. (games.create_mixed_behav_game_efg(), "D2", "9/13", True), (games.create_mixed_behav_game_efg(), "U3", "1/98", True), (games.create_mixed_behav_game_efg(), "D3", "97/98", True), - (games.create_myerson_2_card_poker_efg(), "MEET", 0.3, False), - (games.create_myerson_2_card_poker_efg(), "PASS", 0.4, False), - (games.create_myerson_2_card_poker_efg(), "MEET", "3/10", True), - (games.create_myerson_2_card_poker_efg(), "PASS", "4/10", True), + (games.create_stripped_down_poker_efg(), "Call", 0.3, False), + (games.create_stripped_down_poker_efg(), "Call", "3/10", True), ] ) def test_set_probabilities_action_by_label(game: gbt.Game, label: str, @@ -491,12 +487,12 @@ def test_set_probabilities_action_by_label(game: gbt.Game, label: str, (games.create_mixed_behav_game_efg(), 0, 0, ["7/9", "2/9"], True), (games.create_mixed_behav_game_efg(), 1, 0, ["4/13", "9/13"], True), (games.create_mixed_behav_game_efg(), 2, 0, ["1/98", "97/98"], True), - (games.create_myerson_2_card_poker_efg(), 0, 0, [0.1, 0.9], False), - (games.create_myerson_2_card_poker_efg(), 0, 1, [0.2, 0.8], False), - (games.create_myerson_2_card_poker_efg(), 1, 0, [0.3, 0.7], False), - (games.create_myerson_2_card_poker_efg(), 0, 0, ["1/10", "9/10"], True), - (games.create_myerson_2_card_poker_efg(), 0, 1, ["2/10", "8/10"], True), - (games.create_myerson_2_card_poker_efg(), 1, 0, ["3/10", "7/10"], True), + (games.create_stripped_down_poker_efg(), 0, 0, [0.1, 0.9], False), + (games.create_stripped_down_poker_efg(), 0, 1, [0.2, 0.8], False), + (games.create_stripped_down_poker_efg(), 1, 0, [0.3, 0.7], False), + (games.create_stripped_down_poker_efg(), 0, 0, ["1/10", "9/10"], True), + (games.create_stripped_down_poker_efg(), 0, 1, ["2/10", "8/10"], True), + (games.create_stripped_down_poker_efg(), 1, 0, ["3/10", "7/10"], True), ] ) def test_set_probabilities_infoset(game: gbt.Game, player_idx: int, infoset_idx: int, probs: list, @@ -517,12 +513,12 @@ def test_set_probabilities_infoset(game: gbt.Game, player_idx: int, infoset_idx: (games.create_mixed_behav_game_efg(), "Infoset 1:1", ["7/9", "2/9"], True), (games.create_mixed_behav_game_efg(), "Infoset 2:1", ["4/13", "9/13"], True), (games.create_mixed_behav_game_efg(), "Infoset 3:1", ["1/98", "97/98"], True), - (games.create_myerson_2_card_poker_efg(), "(1,1)", [0.1, 0.9], False), - (games.create_myerson_2_card_poker_efg(), "(1,2)", [0.2, 0.8], False), - (games.create_myerson_2_card_poker_efg(), "(2,1)", [0.3, 0.7], False), - (games.create_myerson_2_card_poker_efg(), "(1,1)", ["1/10", "9/10"], True), - (games.create_myerson_2_card_poker_efg(), "(1,2)", ["2/10", "8/10"], True), - (games.create_myerson_2_card_poker_efg(), "(2,1)", ["3/10", "7/10"], True), + (games.create_stripped_down_poker_efg(), "(1,1)", [0.1, 0.9], False), + (games.create_stripped_down_poker_efg(), "(1,2)", [0.2, 0.8], False), + (games.create_stripped_down_poker_efg(), "(2,1)", [0.3, 0.7], False), + (games.create_stripped_down_poker_efg(), "(1,1)", ["1/10", "9/10"], True), + (games.create_stripped_down_poker_efg(), "(1,2)", ["2/10", "8/10"], True), + (games.create_stripped_down_poker_efg(), "(2,1)", ["3/10", "7/10"], True), ] ) def test_set_probabilities_infoset_by_label(game: gbt.Game, infoset_label: str, probs: list, @@ -542,10 +538,10 @@ def test_set_probabilities_infoset_by_label(game: gbt.Game, infoset_label: str, (games.create_mixed_behav_game_efg(), 0, [["7/9", "2/9"]], True), (games.create_mixed_behav_game_efg(), 1, [["4/13", "9/13"]], True), (games.create_mixed_behav_game_efg(), 2, [["1/98", "97/98"]], True), - (games.create_myerson_2_card_poker_efg(), 0, [[0.1, 0.9], [0.5, 0.5]], False), - (games.create_myerson_2_card_poker_efg(), 1, [[0.6, 0.4]], False), - (games.create_myerson_2_card_poker_efg(), 0, [["1/3", "2/3"], ["1/2", "1/2"]], True), - (games.create_myerson_2_card_poker_efg(), 1, [["2/3", "1/3"]], True), + (games.create_stripped_down_poker_efg(), 0, [[0.1, 0.9], [0.5, 0.5]], False), + (games.create_stripped_down_poker_efg(), 1, [[0.6, 0.4]], False), + (games.create_stripped_down_poker_efg(), 0, [["1/3", "2/3"], ["1/2", "1/2"]], True), + (games.create_stripped_down_poker_efg(), 1, [["2/3", "1/3"]], True), ] ) def test_set_probabilities_player(game: gbt.Game, player_idx: int, behav_data: list, @@ -566,11 +562,11 @@ def test_set_probabilities_player(game: gbt.Game, player_idx: int, behav_data: l (games.create_mixed_behav_game_efg(), "Player 1", [["7/9", "2/9"]], True), (games.create_mixed_behav_game_efg(), "Player 2", [["4/13", "9/13"]], True), (games.create_mixed_behav_game_efg(), "Player 3", [["1/98", "97/98"]], True), - (games.create_myerson_2_card_poker_efg(), "Player 1", [[0.1, 0.9], [0.5, 0.5]], False), - (games.create_myerson_2_card_poker_efg(), "Player 2", [[0.6, 0.4]], False), - (games.create_myerson_2_card_poker_efg(), "Player 1", [["1/3", "2/3"], ["1/2", "1/2"]], + (games.create_stripped_down_poker_efg(), "Fred", [[0.1, 0.9], [0.5, 0.5]], False), + (games.create_stripped_down_poker_efg(), "Alice", [[0.6, 0.4]], False), + (games.create_stripped_down_poker_efg(), "Fred", [["1/3", "2/3"], ["1/2", "1/2"]], True), - (games.create_myerson_2_card_poker_efg(), "Player 2", [["2/3", "1/3"]], True), + (games.create_stripped_down_poker_efg(), "Alice", [["2/3", "1/3"]], True), ] ) def test_set_probabilities_player_by_label(game: gbt.Game, player_label: str, behav_data: list, @@ -614,28 +610,28 @@ def test_set_probabilities_player_by_label(game: gbt.Game, player_label: str, be (games.create_mixed_behav_game_efg(), 12, 0.25, False), (games.create_mixed_behav_game_efg(), 13, 0.125, False), (games.create_mixed_behav_game_efg(), 14, 0.125, False), - (games.create_myerson_2_card_poker_efg(), 0, "1", True), - (games.create_myerson_2_card_poker_efg(), 1, "1/2", True), - (games.create_myerson_2_card_poker_efg(), 2, "1/4", True), - (games.create_myerson_2_card_poker_efg(), 3, "1/8", True), - (games.create_myerson_2_card_poker_efg(), 4, "1/8", True), - (games.create_myerson_2_card_poker_efg(), 5, "1/4", True), - (games.create_myerson_2_card_poker_efg(), 6, "1/2", True), - (games.create_myerson_2_card_poker_efg(), 7, "1/4", True), - (games.create_myerson_2_card_poker_efg(), 8, "1/8", True), - (games.create_myerson_2_card_poker_efg(), 9, "1/8", True), - (games.create_myerson_2_card_poker_efg(), 10, "1/4", True), - (games.create_myerson_2_card_poker_efg(), 0, 1.0, False), - (games.create_myerson_2_card_poker_efg(), 1, 0.5, False), - (games.create_myerson_2_card_poker_efg(), 2, 0.25, False), - (games.create_myerson_2_card_poker_efg(), 3, 0.125, False), - (games.create_myerson_2_card_poker_efg(), 4, 0.125, False), - (games.create_myerson_2_card_poker_efg(), 5, 0.25, False), - (games.create_myerson_2_card_poker_efg(), 6, 0.5, False), - (games.create_myerson_2_card_poker_efg(), 7, 0.25, False), - (games.create_myerson_2_card_poker_efg(), 8, 0.125, False), - (games.create_myerson_2_card_poker_efg(), 9, 0.125, False), - (games.create_myerson_2_card_poker_efg(), 10, 0.25, False)] + (games.create_stripped_down_poker_efg(), 0, "1", True), + (games.create_stripped_down_poker_efg(), 1, "1/2", True), + (games.create_stripped_down_poker_efg(), 2, "1/4", True), + (games.create_stripped_down_poker_efg(), 3, "1/8", True), + (games.create_stripped_down_poker_efg(), 4, "1/8", True), + (games.create_stripped_down_poker_efg(), 5, "1/4", True), + (games.create_stripped_down_poker_efg(), 6, "1/2", True), + (games.create_stripped_down_poker_efg(), 7, "1/4", True), + (games.create_stripped_down_poker_efg(), 8, "1/8", True), + (games.create_stripped_down_poker_efg(), 9, "1/8", True), + (games.create_stripped_down_poker_efg(), 10, "1/4", True), + (games.create_stripped_down_poker_efg(), 0, 1.0, False), + (games.create_stripped_down_poker_efg(), 1, 0.5, False), + (games.create_stripped_down_poker_efg(), 2, 0.25, False), + (games.create_stripped_down_poker_efg(), 3, 0.125, False), + (games.create_stripped_down_poker_efg(), 4, 0.125, False), + (games.create_stripped_down_poker_efg(), 5, 0.25, False), + (games.create_stripped_down_poker_efg(), 6, 0.5, False), + (games.create_stripped_down_poker_efg(), 7, 0.25, False), + (games.create_stripped_down_poker_efg(), 8, 0.125, False), + (games.create_stripped_down_poker_efg(), 9, 0.125, False), + (games.create_stripped_down_poker_efg(), 10, 0.25, False)] ) def test_realiz_prob_nodes_reference(game: gbt.Game, node_idx: int, realiz_prob: typing.Union[str, float], rational_flag: bool): @@ -653,12 +649,12 @@ def test_realiz_prob_nodes_reference(game: gbt.Game, node_idx: int, (games.create_mixed_behav_game_efg(), 0, 0, "1", True), (games.create_mixed_behav_game_efg(), 1, 0, "1", True), (games.create_mixed_behav_game_efg(), 2, 0, "1", True), - (games.create_myerson_2_card_poker_efg(), 0, 0, 0.5, False), - (games.create_myerson_2_card_poker_efg(), 0, 1, 0.5, False), - (games.create_myerson_2_card_poker_efg(), 1, 0, 0.5, False), - (games.create_myerson_2_card_poker_efg(), 0, 0, "1/2", True), - (games.create_myerson_2_card_poker_efg(), 0, 1, "1/2", True), - (games.create_myerson_2_card_poker_efg(), 1, 0, "1/2", True), + (games.create_stripped_down_poker_efg(), 0, 0, 0.5, False), + (games.create_stripped_down_poker_efg(), 0, 1, 0.5, False), + (games.create_stripped_down_poker_efg(), 1, 0, 0.5, False), + (games.create_stripped_down_poker_efg(), 0, 0, "1/2", True), + (games.create_stripped_down_poker_efg(), 0, 1, "1/2", True), + (games.create_stripped_down_poker_efg(), 1, 0, "1/2", True), ] ) def test_infoset_prob_reference(game: gbt.Game, player_idx: int, infoset_idx: int, @@ -676,12 +672,12 @@ def test_infoset_prob_reference(game: gbt.Game, player_idx: int, infoset_idx: in (games.create_mixed_behav_game_efg(), "Infoset 1:1", "1", True), (games.create_mixed_behav_game_efg(), "Infoset 2:1", "1", True), (games.create_mixed_behav_game_efg(), "Infoset 3:1", "1", True), - (games.create_myerson_2_card_poker_efg(), "(1,1)", 0.5, False), - (games.create_myerson_2_card_poker_efg(), "(1,2)", 0.5, False), - (games.create_myerson_2_card_poker_efg(), "(2,1)", 0.5, False), - (games.create_myerson_2_card_poker_efg(), "(1,1)", "1/2", True), - (games.create_myerson_2_card_poker_efg(), "(1,2)", "1/2", True), - (games.create_myerson_2_card_poker_efg(), "(2,1)", "1/2", True), + (games.create_stripped_down_poker_efg(), "(1,1)", 0.5, False), + (games.create_stripped_down_poker_efg(), "(1,2)", 0.5, False), + (games.create_stripped_down_poker_efg(), "(2,1)", 0.5, False), + (games.create_stripped_down_poker_efg(), "(1,1)", "1/2", True), + (games.create_stripped_down_poker_efg(), "(1,2)", "1/2", True), + (games.create_stripped_down_poker_efg(), "(2,1)", "1/2", True), ] ) def test_infoset_prob_by_label_reference(game: gbt.Game, label: str, @@ -698,12 +694,12 @@ def test_infoset_prob_by_label_reference(game: gbt.Game, label: str, (games.create_mixed_behav_game_efg(), 0, 0, "3", True), (games.create_mixed_behav_game_efg(), 1, 0, "3", True), (games.create_mixed_behav_game_efg(), 2, 0, "13/4", True), - (games.create_myerson_2_card_poker_efg(), 0, 0, -0.75, False), - (games.create_myerson_2_card_poker_efg(), 0, 1, -1.75, False), - (games.create_myerson_2_card_poker_efg(), 1, 0, 0.5, False), - (games.create_myerson_2_card_poker_efg(), 0, 0, "-3/4", True), - (games.create_myerson_2_card_poker_efg(), 0, 1, "-7/4", True), - (games.create_myerson_2_card_poker_efg(), 1, 0, "1/2", True), + (games.create_stripped_down_poker_efg(), 0, 0, 0.25, False), + (games.create_stripped_down_poker_efg(), 0, 1, -0.75, False), + (games.create_stripped_down_poker_efg(), 1, 0, -0.5, False), + (games.create_stripped_down_poker_efg(), 0, 0, "1/4", True), + (games.create_stripped_down_poker_efg(), 0, 1, "-3/4", True), + (games.create_stripped_down_poker_efg(), 1, 0, "-1/2", True), ] ) def test_infoset_payoff_reference(game: gbt.Game, player_idx: int, infoset_idx: int, @@ -721,12 +717,12 @@ def test_infoset_payoff_reference(game: gbt.Game, player_idx: int, infoset_idx: (games.create_mixed_behav_game_efg(), "Infoset 1:1", "3", True), (games.create_mixed_behav_game_efg(), "Infoset 2:1", "3", True), (games.create_mixed_behav_game_efg(), "Infoset 3:1", "13/4", True), - (games.create_myerson_2_card_poker_efg(), "(1,1)", -0.75, False), - (games.create_myerson_2_card_poker_efg(), "(1,2)", -1.75, False), - (games.create_myerson_2_card_poker_efg(), "(2,1)", 0.5, False), - (games.create_myerson_2_card_poker_efg(), "(1,1)", "-3/4", True), - (games.create_myerson_2_card_poker_efg(), "(1,2)", "-7/4", True), - (games.create_myerson_2_card_poker_efg(), "(2,1)", "1/2", True), + (games.create_stripped_down_poker_efg(), "(1,1)", 0.25, False), + (games.create_stripped_down_poker_efg(), "(1,2)", -0.75, False), + (games.create_stripped_down_poker_efg(), "(2,1)", -0.5, False), + (games.create_stripped_down_poker_efg(), "(1,1)", "1/4", True), + (games.create_stripped_down_poker_efg(), "(1,2)", "-3/4", True), + (games.create_stripped_down_poker_efg(), "(2,1)", "-1/2", True), ] ) def test_infoset_payoff_by_label_reference(game: gbt.Game, label: str, @@ -750,18 +746,18 @@ def test_infoset_payoff_by_label_reference(game: gbt.Game, label: str, (games.create_mixed_behav_game_efg(), 1, 0, 1, "3/1", True), (games.create_mixed_behav_game_efg(), 2, 0, 0, "7/2", True), (games.create_mixed_behav_game_efg(), 2, 0, 1, "3/1", True), - (games.create_myerson_2_card_poker_efg(), 0, 0, 0, 0.5, False), - (games.create_myerson_2_card_poker_efg(), 0, 0, 1, -2, False), - (games.create_myerson_2_card_poker_efg(), 0, 1, 0, -1.5, False), - (games.create_myerson_2_card_poker_efg(), 0, 1, 1, -2, False), - (games.create_myerson_2_card_poker_efg(), 1, 0, 0, 1, False), - (games.create_myerson_2_card_poker_efg(), 1, 0, 1, 0, False), - (games.create_myerson_2_card_poker_efg(), 0, 0, 0, "1/2", True), - (games.create_myerson_2_card_poker_efg(), 0, 0, 1, "-2", True), - (games.create_myerson_2_card_poker_efg(), 0, 1, 0, "-3/2", True), - (games.create_myerson_2_card_poker_efg(), 0, 1, 1, "-2", True), - (games.create_myerson_2_card_poker_efg(), 1, 0, 0, "1", True), - (games.create_myerson_2_card_poker_efg(), 1, 0, 1, "0", True), + (games.create_stripped_down_poker_efg(), 0, 0, 0, 1.5, False), + (games.create_stripped_down_poker_efg(), 0, 0, 1, -1, False), + (games.create_stripped_down_poker_efg(), 0, 1, 0, -0.5, False), + (games.create_stripped_down_poker_efg(), 0, 1, 1, -1, False), + (games.create_stripped_down_poker_efg(), 1, 0, 0, 0, False), + (games.create_stripped_down_poker_efg(), 1, 0, 1, -1, False), + (games.create_stripped_down_poker_efg(), 0, 0, 0, "3/2", True), + (games.create_stripped_down_poker_efg(), 0, 0, 1, -1, True), + (games.create_stripped_down_poker_efg(), 0, 1, 0, "-1/2", True), + (games.create_stripped_down_poker_efg(), 0, 1, 1, -1, True), + (games.create_stripped_down_poker_efg(), 1, 0, 0, 0, True), + (games.create_stripped_down_poker_efg(), 1, 0, 1, -1, True), ] ) def test_action_payoff_reference(game: gbt.Game, player_idx: int, infoset_idx: int, @@ -786,10 +782,8 @@ def test_action_payoff_reference(game: gbt.Game, player_idx: int, infoset_idx: i (games.create_mixed_behav_game_efg(), "D2", "3", True), (games.create_mixed_behav_game_efg(), "U3", "7/2", True), (games.create_mixed_behav_game_efg(), "D3", "3", True), - (games.create_myerson_2_card_poker_efg(), "MEET", 1, False), - (games.create_myerson_2_card_poker_efg(), "PASS", 0, False), - (games.create_myerson_2_card_poker_efg(), "MEET", "1", True), - (games.create_myerson_2_card_poker_efg(), "PASS", "0", True), + (games.create_stripped_down_poker_efg(), "Call", 0, False), + (games.create_stripped_down_poker_efg(), "Call", "0", True), ] ) def test_action_value_by_label_reference(game: gbt.Game, label: str, @@ -802,8 +796,8 @@ def test_action_value_by_label_reference(game: gbt.Game, label: str, "game,rational_flag", [(games.create_mixed_behav_game_efg(), False), (games.create_mixed_behav_game_efg(), True), - (games.create_myerson_2_card_poker_efg(), False), - (games.create_myerson_2_card_poker_efg(), True), + (games.create_stripped_down_poker_efg(), False), + (games.create_stripped_down_poker_efg(), True), ] ) def test_regret_consistency(game: gbt.Game, rational_flag: bool): @@ -851,16 +845,16 @@ def test_regret_consistency(game: gbt.Game, rational_flag: bool): (games.create_mixed_behav_game_efg(), 2, 0, 1, ["2/5", "3/5", "1/2", "1/2", "1/3", "2/3"], True, ZERO, 0), # uniform - (games.create_myerson_2_card_poker_efg(), 0, 0, 0, None, False, TOL, 0), - (games.create_myerson_2_card_poker_efg(), 0, 0, 1, None, False, TOL, 2.5), # 1.5 - (-1) - (games.create_myerson_2_card_poker_efg(), 0, 1, 0, None, False, TOL, 0), - (games.create_myerson_2_card_poker_efg(), 0, 1, 1, None, False, TOL, 0.5), # -0.5 - (-1) - (games.create_myerson_2_card_poker_efg(), 1, 0, 0, None, False, TOL, 0), - (games.create_myerson_2_card_poker_efg(), 1, 0, 1, None, False, TOL, 1), # -0 - (-1) + (games.create_stripped_down_poker_efg(), 0, 0, 0, None, False, TOL, 0), + (games.create_stripped_down_poker_efg(), 0, 0, 1, None, False, TOL, 2.5), # 1.5 - (-1) + (games.create_stripped_down_poker_efg(), 0, 1, 0, None, False, TOL, 0), + (games.create_stripped_down_poker_efg(), 0, 1, 1, None, False, TOL, 0.5), # -0.5 - (-1) + (games.create_stripped_down_poker_efg(), 1, 0, 0, None, False, TOL, 0), + (games.create_stripped_down_poker_efg(), 1, 0, 1, None, False, TOL, 1), # -0 - (-1) # mixed Nash equilibrium - (games.create_myerson_2_card_poker_efg(), 0, 0, 0, ["1", "0", "1/3", "2/3", "2/3", "1/3"], + (games.create_stripped_down_poker_efg(), 0, 0, 0, ["1", "0", "1/3", "2/3", "2/3", "1/3"], True, ZERO, 0), - (games.create_myerson_2_card_poker_efg(), 0, 0, 1, ["1", "0", "1/3", "2/3", "2/3", "1/3"], + (games.create_stripped_down_poker_efg(), 0, 0, 1, ["1", "0", "1/3", "2/3", "2/3", "1/3"], True, ZERO, "8/3"), # (2/3*2 + 1/3*1) - (-1) ] ) @@ -880,8 +874,8 @@ def test_regret_reference(game: gbt.Game, player_idx: int, infoset_idx: int, act "game,rational_flag", [(games.create_mixed_behav_game_efg(), False), (games.create_mixed_behav_game_efg(), True), - (games.create_myerson_2_card_poker_efg(), False), - (games.create_myerson_2_card_poker_efg(), True), + (games.create_stripped_down_poker_efg(), False), + (games.create_stripped_down_poker_efg(), True), ] ) def test_martingale_property_of_node_value(game: gbt.Game, rational_flag: bool): @@ -905,8 +899,8 @@ def test_martingale_property_of_node_value(game: gbt.Game, rational_flag: bool): "game,rational_flag", [(games.create_mixed_behav_game_efg(), False), (games.create_mixed_behav_game_efg(), True), - (games.create_myerson_2_card_poker_efg(), False), - (games.create_myerson_2_card_poker_efg(), True)] + (games.create_stripped_down_poker_efg(), False), + (games.create_stripped_down_poker_efg(), True)] ) def test_node_value_consistency(game: gbt.Game, rational_flag: bool): """Test that the profile's node value at the root for each player matches the profile's payoff @@ -937,14 +931,14 @@ def test_node_value_consistency(game: gbt.Game, rational_flag: bool): (games.create_mixed_behav_game_efg(), [0.0, 1.0, 0.0, 1.0, 0.0, 1.0], False, 29.0), (games.create_mixed_behav_game_efg(), ["0", "1", "0", "1", "0", "1"], True, "29"), # uniform (non-Nash): - (games.create_myerson_2_card_poker_efg(), None, True, "15/8"), - (games.create_myerson_2_card_poker_efg(), None, False, 1.875), + (games.create_stripped_down_poker_efg(), None, True, "15/8"), + (games.create_stripped_down_poker_efg(), None, False, 1.875), # mixed Nash equilibrium (only rational tested): - (games.create_myerson_2_card_poker_efg(), ["1", "0", "1/3", "2/3", "2/3", "1/3"], True, 0), + (games.create_stripped_down_poker_efg(), ["1", "0", "1/3", "2/3", "2/3", "1/3"], True, 0), # non-Nash pure profile: # Raise at 1:1, Raise at 1:2, Meet at 2:1 - (games.create_myerson_2_card_poker_efg(), ["1", "0", "1", "0", "1", "0"], True, 1), - (games.create_myerson_2_card_poker_efg(), [1.0, 0.0, 1.0, 0.0, 1.0, 0.0], False, 1.0), + (games.create_stripped_down_poker_efg(), ["1", "0", "1", "0", "1", "0"], True, 1), + (games.create_stripped_down_poker_efg(), [1.0, 0.0, 1.0, 0.0, 1.0, 0.0], False, 1.0), ] ) def test_liap_value_reference(game: gbt.Game, action_probs: typing.Union[None, list], @@ -977,17 +971,17 @@ def test_liap_value_reference(game: gbt.Game, action_probs: typing.Union[None, l "8/25", True), (games.create_mixed_behav_game_efg(), ZERO, ["4/5", "1/5", "2/5", "3/5", "0", "1"], 2, 1, "12/25", True), - (games.create_myerson_2_card_poker_efg(), ZERO, ["4/5", "1/5", "2/5", "3/5", "0", "1"], + (games.create_stripped_down_poker_efg(), ZERO, ["4/5", "1/5", "2/5", "3/5", "0", "1"], 0, 0, "1", True), - (games.create_myerson_2_card_poker_efg(), ZERO, ["4/5", "1/5", "2/5", "3/5", "0", "1"], + (games.create_stripped_down_poker_efg(), ZERO, ["4/5", "1/5", "2/5", "3/5", "0", "1"], 1, 0, "1", True), - (games.create_myerson_2_card_poker_efg(), ZERO, ["4/5", "1/5", "2/5", "3/5", "0", "1"], + (games.create_stripped_down_poker_efg(), ZERO, ["4/5", "1/5", "2/5", "3/5", "0", "1"], 2, 0, "2/3", True), - (games.create_myerson_2_card_poker_efg(), ZERO, ["4/5", "1/5", "2/5", "3/5", "0", "1"], + (games.create_stripped_down_poker_efg(), ZERO, ["4/5", "1/5", "2/5", "3/5", "0", "1"], 2, 1, "1/3", True), - (games.create_myerson_2_card_poker_efg(), ZERO, ["1", "0", "2/5", "3/5", "0", "1"], + (games.create_stripped_down_poker_efg(), ZERO, ["1", "0", "2/5", "3/5", "0", "1"], 2, 0, "5/7", True), - (games.create_myerson_2_card_poker_efg(), ZERO, ["1", "0", "2/5", "3/5", "0", "1"], + (games.create_stripped_down_poker_efg(), ZERO, ["1", "0", "2/5", "3/5", "0", "1"], 2, 1, "2/7", True), ] ) @@ -1003,8 +997,8 @@ def test_node_belief_reference(game: gbt.Game, tol: typing.Union[gbt.Rational, f @pytest.mark.parametrize( "game,rational_flag", - [(games.create_myerson_2_card_poker_efg(), True), - (games.create_myerson_2_card_poker_efg(), False), + [(games.create_stripped_down_poker_efg(), True), + (games.create_stripped_down_poker_efg(), False), ] ) def test_payoff_value_error_with_chance_player(game: gbt.Game, rational_flag: bool): @@ -1016,8 +1010,8 @@ def test_payoff_value_error_with_chance_player(game: gbt.Game, rational_flag: bo @pytest.mark.parametrize( "game,rational_flag", - [(games.create_myerson_2_card_poker_efg(), True), - (games.create_myerson_2_card_poker_efg(), False), + [(games.create_stripped_down_poker_efg(), True), + (games.create_stripped_down_poker_efg(), False), ] ) def test_infoset_value_error_with_chance_player_infoset(game: gbt.Game, rational_flag: bool): @@ -1029,8 +1023,8 @@ def test_infoset_value_error_with_chance_player_infoset(game: gbt.Game, rational @pytest.mark.parametrize( "game,rational_flag", - [(games.create_myerson_2_card_poker_efg(), True), - (games.create_myerson_2_card_poker_efg(), False), + [(games.create_stripped_down_poker_efg(), True), + (games.create_stripped_down_poker_efg(), False), ] ) def test_action_value_error_with_chance_player_action(game: gbt.Game, rational_flag: bool): @@ -1083,9 +1077,9 @@ def _get_and_check_answers(game: gbt.Game, action_probs1: tuple, action_probs2: lambda x, y: x.belief(y), lambda x: x.nodes), (games.create_mixed_behav_game_efg(), PROBS_1A_rat, PROBS_2A_rat, True, lambda x, y: x.belief(y), lambda x: x.nodes), - (games.create_myerson_2_card_poker_efg(), PROBS_1B_doub, PROBS_2B_doub, False, + (games.create_stripped_down_poker_efg(), PROBS_1B_doub, PROBS_2B_doub, False, lambda x, y: x.belief(y), lambda x: x.nodes), - (games.create_myerson_2_card_poker_efg(), PROBS_1A_rat, PROBS_2A_rat, True, + (games.create_stripped_down_poker_efg(), PROBS_1A_rat, PROBS_2A_rat, True, lambda x, y: x.belief(y), lambda x: x.nodes), ###################################################################################### # realiz_prob (at nodes) @@ -1093,9 +1087,9 @@ def _get_and_check_answers(game: gbt.Game, action_probs1: tuple, action_probs2: lambda x, y: x.realiz_prob(y), lambda x: x.nodes), (games.create_mixed_behav_game_efg(), PROBS_1A_rat, PROBS_2A_rat, True, lambda x, y: x.realiz_prob(y), lambda x: x.nodes), - (games.create_myerson_2_card_poker_efg(), PROBS_1B_doub, PROBS_2B_doub, False, + (games.create_stripped_down_poker_efg(), PROBS_1B_doub, PROBS_2B_doub, False, lambda x, y: x.realiz_prob(y), lambda x: x.nodes), - (games.create_myerson_2_card_poker_efg(), PROBS_1A_rat, PROBS_2A_rat, True, + (games.create_stripped_down_poker_efg(), PROBS_1A_rat, PROBS_2A_rat, True, lambda x, y: x.realiz_prob(y), lambda x: x.nodes), ###################################################################################### # infoset_prob @@ -1103,9 +1097,9 @@ def _get_and_check_answers(game: gbt.Game, action_probs1: tuple, action_probs2: lambda x, y: x.infoset_prob(y), lambda x: x.infosets), (games.create_mixed_behav_game_efg(), PROBS_1A_rat, PROBS_2A_rat, True, lambda x, y: x.infoset_prob(y), lambda x: x.infosets), - (games.create_myerson_2_card_poker_efg(), PROBS_1B_doub, PROBS_2B_doub, False, + (games.create_stripped_down_poker_efg(), PROBS_1B_doub, PROBS_2B_doub, False, lambda x, y: x.infoset_prob(y), lambda x: x.infosets), - (games.create_myerson_2_card_poker_efg(), PROBS_1A_rat, PROBS_2A_rat, True, + (games.create_stripped_down_poker_efg(), PROBS_1A_rat, PROBS_2A_rat, True, lambda x, y: x.infoset_prob(y), lambda x: x.infosets), ###################################################################################### # infoset_value @@ -1113,9 +1107,9 @@ def _get_and_check_answers(game: gbt.Game, action_probs1: tuple, action_probs2: lambda x, y: x.infoset_value(y), lambda x: x.infosets), (games.create_mixed_behav_game_efg(), PROBS_1A_rat, PROBS_2A_rat, True, lambda x, y: x.infoset_value(y), lambda x: x.infosets), - (games.create_myerson_2_card_poker_efg(), PROBS_1B_doub, PROBS_2B_doub, False, + (games.create_stripped_down_poker_efg(), PROBS_1B_doub, PROBS_2B_doub, False, lambda x, y: x.infoset_value(y), lambda x: x.infosets), - (games.create_myerson_2_card_poker_efg(), PROBS_1A_rat, PROBS_2A_rat, True, + (games.create_stripped_down_poker_efg(), PROBS_1A_rat, PROBS_2A_rat, True, lambda x, y: x.infoset_value(y), lambda x: x.infosets), ###################################################################################### # action_value @@ -1123,9 +1117,9 @@ def _get_and_check_answers(game: gbt.Game, action_probs1: tuple, action_probs2: lambda x, y: x.action_value(y), lambda x: x.actions), (games.create_mixed_behav_game_efg(), PROBS_1A_rat, PROBS_2A_rat, True, lambda x, y: x.action_value(y), lambda x: x.actions), - (games.create_myerson_2_card_poker_efg(), PROBS_1B_doub, PROBS_2B_doub, False, + (games.create_stripped_down_poker_efg(), PROBS_1B_doub, PROBS_2B_doub, False, lambda x, y: x.action_value(y), lambda x: x.actions), - (games.create_myerson_2_card_poker_efg(), PROBS_1A_rat, PROBS_2A_rat, True, + (games.create_stripped_down_poker_efg(), PROBS_1A_rat, PROBS_2A_rat, True, lambda x, y: x.action_value(y), lambda x: x.actions), ###################################################################################### # regret (for actions) @@ -1133,9 +1127,9 @@ def _get_and_check_answers(game: gbt.Game, action_probs1: tuple, action_probs2: lambda x, y: x.action_regret(y), lambda x: x.actions), (games.create_mixed_behav_game_efg(), PROBS_1A_rat, PROBS_2A_rat, True, lambda x, y: x.action_regret(y), lambda x: x.actions), - (games.create_myerson_2_card_poker_efg(), PROBS_1B_doub, PROBS_2B_doub, False, + (games.create_stripped_down_poker_efg(), PROBS_1B_doub, PROBS_2B_doub, False, lambda x, y: x.action_regret(y), lambda x: x.actions), - (games.create_myerson_2_card_poker_efg(), PROBS_1A_rat, PROBS_2A_rat, True, + (games.create_stripped_down_poker_efg(), PROBS_1A_rat, PROBS_2A_rat, True, lambda x, y: x.action_regret(y), lambda x: x.actions), ###################################################################################### # node_value @@ -1145,10 +1139,10 @@ def _get_and_check_answers(game: gbt.Game, action_probs1: tuple, action_probs2: (games.create_mixed_behav_game_efg(), PROBS_1A_rat, PROBS_2A_rat, True, lambda x, y: x.node_value(player=y[0], node=y[1]), lambda x: list(product(x.players, x.nodes))), - (games.create_myerson_2_card_poker_efg(), PROBS_1B_doub, PROBS_2B_doub, False, + (games.create_stripped_down_poker_efg(), PROBS_1B_doub, PROBS_2B_doub, False, lambda x, y: x.node_value(player=y[0], node=y[1]), lambda x: list(product(x.players, x.nodes))), - (games.create_myerson_2_card_poker_efg(), PROBS_1A_rat, PROBS_2A_rat, True, + (games.create_stripped_down_poker_efg(), PROBS_1A_rat, PROBS_2A_rat, True, lambda x, y: x.node_value(player=y[0], node=y[1]), lambda x: list(product(x.players, x.nodes))), ###################################################################################### @@ -1157,9 +1151,9 @@ def _get_and_check_answers(game: gbt.Game, action_probs1: tuple, action_probs2: lambda x, y: x.liap_value(), lambda x: [1]), (games.create_mixed_behav_game_efg(), PROBS_1A_rat, PROBS_2A_rat, True, lambda x, y: x.liap_value(), lambda x: [1]), - (games.create_myerson_2_card_poker_efg(), PROBS_1B_doub, PROBS_2B_doub, False, + (games.create_stripped_down_poker_efg(), PROBS_1B_doub, PROBS_2B_doub, False, lambda x, y: x.liap_value(), lambda x: [1]), - (games.create_myerson_2_card_poker_efg(), PROBS_1A_rat, PROBS_2A_rat, True, + (games.create_stripped_down_poker_efg(), PROBS_1A_rat, PROBS_2A_rat, True, lambda x, y: x.liap_value(), lambda x: [1]), ] ) @@ -1176,10 +1170,10 @@ def test_profile_order_consistency(game: gbt.Game, "game,rational_flag,data", [(games.create_mixed_behav_game_efg(), True, [[[0, 1]], [[0, 1]], [[1, 0]]]), (games.create_mixed_behav_game_efg(), True, [[["1/5", "4/5"]], [["1/4", "3/4"]], [[1, 0]]]), - (games.create_myerson_2_card_poker_efg(), True, [[[1/5, 4/5], [3/5, 2/5]], [[1/4, 3/4]]]), + (games.create_stripped_down_poker_efg(), True, [[[1/5, 4/5], [3/5, 2/5]], [[1/4, 3/4]]]), (games.create_mixed_behav_game_efg(), False, [[[0, 1]], [[1, 0]], [[1, 0]]]), (games.create_mixed_behav_game_efg(), False, [[[1/5, 4/5]], [[1/4, 3/4]], [[1, 0]]]), - (games.create_myerson_2_card_poker_efg(), False, [[[1/5, 4/5], [3/5, 2/5]], [[1/4, 3/4]]]) + (games.create_stripped_down_poker_efg(), False, [[[1/5, 4/5], [3/5, 2/5]], [[1/4, 3/4]]]) ] ) def test_specific_profile(game: gbt.Game, rational_flag: bool, data: list): @@ -1197,7 +1191,7 @@ def test_specific_profile(game: gbt.Game, rational_flag: bool, data: list): [[[0, 1, 0]], [[1, 0]], [["1/2", "1/2"]]]), (games.create_mixed_behav_game_efg(), True, [[[0, 1]], [[1, 0]], [[1, 0]], [[0, 1]]]), - (games.create_myerson_2_card_poker_efg(), True, + (games.create_stripped_down_poker_efg(), True, [[["1/5", "4/5"], ["3/5", "2/5"]], [["1/4", "3/4"], ["1/4", "3/4"]]]), (games.create_el_farol_bar_game_efg(), True, [[4/9, 5/9], [0], [1/2, 1/2], [11/12, 1/12], [1/2, 1/2]]), @@ -1207,7 +1201,7 @@ def test_specific_profile(game: gbt.Game, rational_flag: bool, data: list): [[[0, 1, 0]], [[1, 0]], [[1, 0]]]), (games.create_mixed_behav_game_efg(), False, [[[0, 1]], [[1, 0]], [[1, 0]], [[0, 1]]]), - (games.create_myerson_2_card_poker_efg(), False, + (games.create_stripped_down_poker_efg(), False, [[[1/5, 4/5], [3/5, 2/5]], [[1/4, 3/4], [1/4, 3/4]]]), (games.create_el_farol_bar_game_efg(), False, [[4/9, 5/9], [0], [1/2, 1/2], [11/12, 1/12], [1/2, 1/2]]), diff --git a/tests/test_extensive.py b/tests/test_extensive.py index 6d86dd463..416621732 100644 --- a/tests/test_extensive.py +++ b/tests/test_extensive.py @@ -54,7 +54,7 @@ def test_game_add_players_nolabel(): ("e01.efg", True), ("e02.efg", True), ("cent3.efg", True), - ("myerson_2_card_poker.efg", True), + ("stripped_down_poker.efg", True), ("basic_extensive_game.efg", True), # Games with perfect recall from generated games (game_input is a gbt.Game object) @@ -283,13 +283,13 @@ def test_outcome_index_exception_label(): ), ], ), - # Stripped down "Myerson" 2-card poker; 2 player zero-sum game with chance at the root + # Stripped-down poker; 2 player zero-sum game with chance at the root ( - games.create_myerson_2_card_poker_efg(), + games.create_stripped_down_poker_efg(), [["11", "12", "21", "22"], ["1", "2"]], [ - np.array([[-1, 0], ["-1/2", -1], ["-5/2", -1], [-2, -2]]), - np.array([[1, 0], ["1/2", 1], ["5/2", 1], [2, 2]]), + np.array([[0, 1], ["1/2", 0], ["-3/2", 0], [-1, -1]]), + np.array([[0, -1], ["-1/2", 0], ["3/2", 0], [1, 1]]), ], ), # Nature playing at the root, 2 players, no reduction, non-generic payoffs diff --git a/tests/test_games/myerson_2_card_poker.efg b/tests/test_games/myerson_2_card_poker.efg deleted file mode 100644 index f0b1707b2..000000000 --- a/tests/test_games/myerson_2_card_poker.efg +++ /dev/null @@ -1,14 +0,0 @@ -EFG 2 R "" { "Player 1" "Player 2" } -"" - -c "" 1 "(0,1)" { "RED" 0.500000 "BLACK" 0.500000 } 1 "Outcome 3" { -1, 1 } -p "" 1 1 "(1,1)" { "RAISE" "FOLD" } 0 -p "" 2 1 "(2,1)" { "MEET" "PASS" } 0 -t "" 2 "Outcome 2" { 2, -2 } -t "" 3 "Outcome 1" { 1, -1 } -t "" 1 "Outcome 3" { -1, 1 } -p "" 1 2 "(1,2)" { "RAISE" "FOLD" } 0 -p "" 2 1 "(2,1)" { "MEET" "PASS" } 0 -t "" 4 "Outcome 4" { -2, 2 } -t "" 3 "Outcome 1" { 1, -1 } -t "" 1 "Outcome 3" { -1, 1 } diff --git a/tests/test_games/poker.efg b/tests/test_games/poker.efg deleted file mode 100644 index b55de5be1..000000000 --- a/tests/test_games/poker.efg +++ /dev/null @@ -1,14 +0,0 @@ -EFG 2 R "A simple Poker game" { "Fred" "Alice" } -"This is a simple game of one-card poker from Myerson (1991)." - -c "" 1 "" { "Red" 1/2 "Black" 1/2 } 0 -p "" 1 1 "" { "Raise" "Fold" } 0 -p "" 2 1 "" { "Meet" "Pass" } 0 -t "" 1 "Win Big" { 2, -2 } -t "" 2 "Win" { 1, -1 } -t "" 2 "Win" { 1, -1 } -p "" 1 2 "" { "Raise" "Fold" } 0 -p "" 2 1 "" { "Meet" "Pass" } 0 -t "" 3 "Lose Big" { -2, 2 } -t "" 2 "Win" { 1, -1 } -t "" 4 "Lose" { -1, 1 } diff --git a/tests/test_mixed.py b/tests/test_mixed.py index 43dd8a09b..b37763d74 100644 --- a/tests/test_mixed.py +++ b/tests/test_mixed.py @@ -107,13 +107,13 @@ def test_normalize(game, profile_data, expected_data, rational_flag): (games.create_coord_4x4_nfg(outcome_version=True), "1-1", 0.25, False), (games.create_coord_4x4_nfg(outcome_version=True), "1-1", "1/4", True), ############################################################################### - # myerson 2 card poker efg - (games.create_myerson_2_card_poker_efg(), "11", 0.25, False), - (games.create_myerson_2_card_poker_efg(), "12", 0.15, False), - (games.create_myerson_2_card_poker_efg(), "21", 0.99, False), - (games.create_myerson_2_card_poker_efg(), "11", "1/4", True), - (games.create_myerson_2_card_poker_efg(), "12", "3/4", True), - (games.create_myerson_2_card_poker_efg(), "21", "7/9", True), + # stripped-down poker efg + (games.create_stripped_down_poker_efg(), "11", 0.25, False), + (games.create_stripped_down_poker_efg(), "12", 0.15, False), + (games.create_stripped_down_poker_efg(), "21", 0.99, False), + (games.create_stripped_down_poker_efg(), "11", "1/4", True), + (games.create_stripped_down_poker_efg(), "12", "3/4", True), + (games.create_stripped_down_poker_efg(), "21", "7/9", True), ], ) def test_set_and_get_probability_by_strategy_label(game: gbt.Game, strategy_label: str, @@ -137,11 +137,11 @@ def test_set_and_get_probability_by_strategy_label(game: gbt.Game, strategy_labe (games.create_coord_4x4_nfg(), P1, False, [0.25, 0, 0, 0.75]), (games.create_coord_4x4_nfg(), P1, True, ["1/4", 0, 0, "3/4"]), ############################################################################## - # myerson 2 card poker efg - (games.create_myerson_2_card_poker_efg(), P1, False, [0.25, 0.75, 0, 0]), - (games.create_myerson_2_card_poker_efg(), P2, False, [1, 0]), - (games.create_myerson_2_card_poker_efg(), P1, True, ["1/4", "3/4", 0, 0]), - (games.create_myerson_2_card_poker_efg(), P2, True, [1, 0]), + # stripped-down poker efg + (games.create_stripped_down_poker_efg(), "Fred", False, [0.25, 0.75, 0, 0]), + (games.create_stripped_down_poker_efg(), "Alice", False, [1, 0]), + (games.create_stripped_down_poker_efg(), "Fred", True, ["1/4", "3/4", 0, 0]), + (games.create_stripped_down_poker_efg(), "Alice", True, [1, 0]), ], ) def test_set_and_get_probabilities_by_player_label(game: gbt.Game, player_label: str, @@ -156,21 +156,21 @@ def test_set_and_get_probabilities_by_player_label(game: gbt.Game, player_label: "game,player_label,strategy_label,prob,rational_flag", [ ############################################################################## - # myerson 2 card poker efg + # stripped-down poker efg # Player 1 - (games.create_myerson_2_card_poker_efg(), P1, "11", 0.25, False), - (games.create_myerson_2_card_poker_efg(), P1, "12", 0.25, False), - (games.create_myerson_2_card_poker_efg(), P1, "21", 0.25, False), - (games.create_myerson_2_card_poker_efg(), P1, "22", 0.25, False), - (games.create_myerson_2_card_poker_efg(), P1, "11", "1/4", True), - (games.create_myerson_2_card_poker_efg(), P1, "12", "1/4", True), - (games.create_myerson_2_card_poker_efg(), P1, "21", "1/4", True), - (games.create_myerson_2_card_poker_efg(), P1, "22", "1/4", True), + (games.create_stripped_down_poker_efg(), "Fred", "11", 0.25, False), + (games.create_stripped_down_poker_efg(), "Fred", "12", 0.25, False), + (games.create_stripped_down_poker_efg(), "Fred", "21", 0.25, False), + (games.create_stripped_down_poker_efg(), "Fred", "22", 0.25, False), + (games.create_stripped_down_poker_efg(), "Fred", "11", "1/4", True), + (games.create_stripped_down_poker_efg(), "Fred", "12", "1/4", True), + (games.create_stripped_down_poker_efg(), "Fred", "21", "1/4", True), + (games.create_stripped_down_poker_efg(), "Fred", "22", "1/4", True), # Player 2 - (games.create_myerson_2_card_poker_efg(), P2, "1", 0.5, False), - (games.create_myerson_2_card_poker_efg(), P2, "2", 0.5, False), - (games.create_myerson_2_card_poker_efg(), P2, "1", "1/2", True), - (games.create_myerson_2_card_poker_efg(), P2, "2", "1/2", True), + (games.create_stripped_down_poker_efg(), "Alice", "1", 0.5, False), + (games.create_stripped_down_poker_efg(), "Alice", "2", 0.5, False), + (games.create_stripped_down_poker_efg(), "Alice", "1", "1/2", True), + (games.create_stripped_down_poker_efg(), "Alice", "2", "1/2", True), ############################################################################## # coordination 4x4 nfg outcome version with strategy labels (games.create_coord_4x4_nfg(outcome_version=True), P1, "1-1", "1/4", True), @@ -190,13 +190,13 @@ def test_profile_indexing_by_player_and_strategy_label_reference(game: gbt.Game, "game,player_label,strategy_label,rational_flag", [ ############################################################################## - # myerson 2 card poker efg - (games.create_myerson_2_card_poker_efg(), P2, "11", True), - (games.create_myerson_2_card_poker_efg(), P2, "11", False), - (games.create_myerson_2_card_poker_efg(), P1, "1", True), - (games.create_myerson_2_card_poker_efg(), P1, "1", False), - (games.create_myerson_2_card_poker_efg(), P1, "2", True), - (games.create_myerson_2_card_poker_efg(), P1, "2", False), + # stripped-down poker efg + (games.create_stripped_down_poker_efg(), "Alice", "11", True), + (games.create_stripped_down_poker_efg(), "Alice", "11", False), + (games.create_stripped_down_poker_efg(), "Fred", "1", True), + (games.create_stripped_down_poker_efg(), "Fred", "1", False), + (games.create_stripped_down_poker_efg(), "Fred", "2", True), + (games.create_stripped_down_poker_efg(), "Fred", "2", False), ############################################################################## # coordination 4x4 nfg outcome version with strategy labels (games.create_coord_4x4_nfg(outcome_version=True), P1, "2-1", True), @@ -216,8 +216,8 @@ def test_profile_indexing_by_player_and_invalid_strategy_label(game: gbt.Game, "game,strategy_label,rational_flag,error,message", [ ############################################################################## - # myerson 2 card poker efg - (games.create_myerson_2_card_poker_efg(), "13", True, KeyError, "player or strategy"), + # stripped-down poker efg + (games.create_stripped_down_poker_efg(), "13", True, KeyError, "player or strategy"), ############################################################################## # coordination 4x4 nfg payoff version (default strategy labels created with duplicates) (games.create_coord_4x4_nfg(), "1", True, ValueError, "multiple strategies"), @@ -249,21 +249,21 @@ def test_profile_indexing_by_player_and_duplicate_strategy_label(): "game,strategy_label,prob,rational_flag", [ ########################################################################### - # myerson 2 card poker efg + # stripped-down poker efg # Player 1 - (games.create_myerson_2_card_poker_efg(), "11", 0.25, False), - (games.create_myerson_2_card_poker_efg(), "12", 0.25, False), - (games.create_myerson_2_card_poker_efg(), "21", 0.25, False), - (games.create_myerson_2_card_poker_efg(), "22", 0.25, False), - (games.create_myerson_2_card_poker_efg(), "11", "1/4", True), - (games.create_myerson_2_card_poker_efg(), "12", "1/4", True), - (games.create_myerson_2_card_poker_efg(), "21", "1/4", True), - (games.create_myerson_2_card_poker_efg(), "22", "1/4", True), + (games.create_stripped_down_poker_efg(), "11", 0.25, False), + (games.create_stripped_down_poker_efg(), "12", 0.25, False), + (games.create_stripped_down_poker_efg(), "21", 0.25, False), + (games.create_stripped_down_poker_efg(), "22", 0.25, False), + (games.create_stripped_down_poker_efg(), "11", "1/4", True), + (games.create_stripped_down_poker_efg(), "12", "1/4", True), + (games.create_stripped_down_poker_efg(), "21", "1/4", True), + (games.create_stripped_down_poker_efg(), "22", "1/4", True), # Player 2 - (games.create_myerson_2_card_poker_efg(), "1", 0.5, False), - (games.create_myerson_2_card_poker_efg(), "2", 0.5, False), - (games.create_myerson_2_card_poker_efg(), "1", "1/2", True), - (games.create_myerson_2_card_poker_efg(), "2", "1/2", True), + (games.create_stripped_down_poker_efg(), "1", 0.5, False), + (games.create_stripped_down_poker_efg(), "2", 0.5, False), + (games.create_stripped_down_poker_efg(), "1", "1/2", True), + (games.create_stripped_down_poker_efg(), "2", "1/2", True), ############################################################################ # coordination 4x4 nfg outcome version with strategy labels # Player 1 @@ -294,11 +294,11 @@ def test_profile_indexing_by_strategy_label_reference(game: gbt.Game, strategy_l (games.create_mixed_behav_game_efg(), P2, ["1/2", "1/2"], True), (games.create_mixed_behav_game_efg(), P3, ["1/2", "1/2"], True), ############################################################################ - # myerson 2 card poker efg - (games.create_myerson_2_card_poker_efg(), P1, [0.25, 0.25, 0.25, 0.25], False), - (games.create_myerson_2_card_poker_efg(), P2, [0.5, 0.5], False), - (games.create_myerson_2_card_poker_efg(), P1, ["1/4", "1/4", "1/4", "1/4"], True), - (games.create_myerson_2_card_poker_efg(), P2, ["1/2", "1/2"], True), + # stripped-down poker efg + (games.create_stripped_down_poker_efg(), "Fred", [0.25, 0.25, 0.25, 0.25], False), + (games.create_stripped_down_poker_efg(), "Alice", [0.5, 0.5], False), + (games.create_stripped_down_poker_efg(), "Fred", ["1/4", "1/4", "1/4", "1/4"], True), + (games.create_stripped_down_poker_efg(), "Alice", ["1/2", "1/2"], True), ############################################################################ # coordination 4x4 nfg (games.create_coord_4x4_nfg(), P1, [0.25, 0.25, 0.25, 0.25], False), @@ -337,25 +337,25 @@ def test_profile_indexing_by_player_label_reference(game: gbt.Game, player_label (games.create_coord_4x4_nfg(), False, [[1, 0, 0, 0], [0, 1, 0, 0]], P2, 0), (games.create_coord_4x4_nfg(), True, [[1, 0, 0, 0], [0, 1, 0, 0]], P2, 0), ######################################################################### - # myerson 2 card poker efg - (games.create_myerson_2_card_poker_efg(), False, None, P1, -1.25), - (games.create_myerson_2_card_poker_efg(), False, None, P2, 1.25), - (games.create_myerson_2_card_poker_efg(), True, None, P1, "-5/4"), - (games.create_myerson_2_card_poker_efg(), True, None, P2, "5/4"), + # stripped-down poker efg + (games.create_stripped_down_poker_efg(), False, None, "Fred", -0.25), + (games.create_stripped_down_poker_efg(), False, None, "Alice", 0.25), + (games.create_stripped_down_poker_efg(), True, None, "Fred", "-1/4"), + (games.create_stripped_down_poker_efg(), True, None, "Alice", "1/4"), # Raise/Raise for player 1 - (games.create_myerson_2_card_poker_efg(), False, [[1, 0, 0, 0], [1, 0]], P1, -1), - (games.create_myerson_2_card_poker_efg(), False, [[1, 0, 0, 0], [1, 0]], P2, 1), - (games.create_myerson_2_card_poker_efg(), True, [[1, 0, 0, 0], [1, 0]], P1, -1), - (games.create_myerson_2_card_poker_efg(), True, [[1, 0, 0, 0], [1, 0]], P2, 1), + (games.create_stripped_down_poker_efg(), False, [[1, 0, 0, 0], [1, 0]], "Fred", 0), + (games.create_stripped_down_poker_efg(), False, [[1, 0, 0, 0], [1, 0]], "Alice", 0), + (games.create_stripped_down_poker_efg(), True, [[1, 0, 0, 0], [1, 0]], "Fred", 0), + (games.create_stripped_down_poker_efg(), True, [[1, 0, 0, 0], [1, 0]], "Alice", 0), # Fold/Fold for player 1 (player 2's strategy is payoff-irrelevant) - (games.create_myerson_2_card_poker_efg(), False, [[0, 0, 0, 1], [1, 0]], P1, -2), - (games.create_myerson_2_card_poker_efg(), False, [[0, 0, 0, 1], [1, 0]], P2, 2), - (games.create_myerson_2_card_poker_efg(), True, [[0, 0, 0, 1], [1, 0]], P1, -2), - (games.create_myerson_2_card_poker_efg(), True, [[0, 0, 0, 1], [1, 0]], P2, 2), - (games.create_myerson_2_card_poker_efg(), False, [[0, 0, 0, 1], [0.5, 0.5]], P1, -2), - (games.create_myerson_2_card_poker_efg(), False, [[0, 0, 0, 1], [0.5, 0.5]], P2, 2), - (games.create_myerson_2_card_poker_efg(), True, [[0, 0, 0, 1], ["1/2", "1/2"]], P1, -2), - (games.create_myerson_2_card_poker_efg(), True, [[0, 0, 0, 1], ["1/2", "1/2"]], P2, 2), + (games.create_stripped_down_poker_efg(), False, [[0, 0, 0, 1], [1, 0]], "Fred", -1), + (games.create_stripped_down_poker_efg(), False, [[0, 0, 0, 1], [1, 0]], "Alice", 1), + (games.create_stripped_down_poker_efg(), True, [[0, 0, 0, 1], [1, 0]], "Fred", -1), + (games.create_stripped_down_poker_efg(), True, [[0, 0, 0, 1], [1, 0]], "Alice", 1), + (games.create_stripped_down_poker_efg(), False, [[0, 0, 0, 1], [0.5, 0.5]], "Fred", -1), + (games.create_stripped_down_poker_efg(), False, [[0, 0, 0, 1], [0.5, 0.5]], "Alice", 1), + (games.create_stripped_down_poker_efg(), True, [[0, 0, 0, 1], ["1/2", "1/2"]], "Fred", -1), + (games.create_stripped_down_poker_efg(), True, [[0, 0, 0, 1], ["1/2", "1/2"]], "Alice", 1), ######################################################################### (games.create_mixed_behav_game_efg(), False, None, P1, 3.0), (games.create_mixed_behav_game_efg(), False, None, P2, 3.0), @@ -384,15 +384,15 @@ def test_payoff_by_label_reference(game: gbt.Game, rational_flag: bool, profile_ (games.create_coord_4x4_nfg(outcome_version=True), False, "1-1", 0.25), (games.create_coord_4x4_nfg(outcome_version=True), True, "1-1", "1/4"), ############################################################################## - # myerson 2 card poker efg - (games.create_myerson_2_card_poker_efg(), False, "11", -0.5), # Raise/Raise - (games.create_myerson_2_card_poker_efg(), False, "12", -0.75), # Raise Red/Fold Black - (games.create_myerson_2_card_poker_efg(), False, "21", -1.75), # Fold Red/Raise Black - (games.create_myerson_2_card_poker_efg(), False, "22", -2), # Fold/Fold - (games.create_myerson_2_card_poker_efg(), True, "11", "-1/2"), - (games.create_myerson_2_card_poker_efg(), True, "12", "-3/4"), - (games.create_myerson_2_card_poker_efg(), True, "21", "-7/4"), - (games.create_myerson_2_card_poker_efg(), True, "22", -2), + # stripped-down poker efg + (games.create_stripped_down_poker_efg(), False, "11", 0.5), # Bet/Bet + (games.create_stripped_down_poker_efg(), False, "12", 0.25), # Bet King/Fold Queen + (games.create_stripped_down_poker_efg(), False, "21", -0.75), # Fold King/Bet Queen + (games.create_stripped_down_poker_efg(), False, "22", -1), # Fold/Fold + (games.create_stripped_down_poker_efg(), True, "11", "1/2"), + (games.create_stripped_down_poker_efg(), True, "12", "1/4"), + (games.create_stripped_down_poker_efg(), True, "21", "-3/4"), + (games.create_stripped_down_poker_efg(), True, "22", -1), ] ) def test_strategy_value_by_label_reference(game: gbt.Game, rational_flag: bool, label: str, @@ -483,8 +483,8 @@ def test_payoffs_reference(game: gbt.Game, profile_data: list, rational_flag: bo (games.create_2x2x2_nfg(), None, True, (["1/2", "1/2"], [2, 2], ["1/2", "1/2"])), (games.create_2x2x2_nfg(), [[1, 0], [1, 0], [1, 0]], True, ([0, 1], [0, 4], [0, 1])), ############################################################################### - # myerson 2 card poker efg - (games.create_myerson_2_card_poker_efg(), None, False, [(-0.5, -0.75, -1.75, -2), (1.5, 1)]), + # stripped-down poker efg + (games.create_stripped_down_poker_efg(), None, False, [(0.5, 0.25, -0.75, -1), (0.5, 0)]), ] ) def test_strategy_value_reference(game: gbt.Game, profile_data: list, rational_flag: bool, @@ -821,11 +821,11 @@ def _get_and_check_answers(game: gbt.Game, action_probs1: tuple, action_probs2: pytest.param(games.create_2x2x2_nfg(), PROBS_1B_rat, PROBS_2B_rat, True, lambda profile, player: profile.payoff(player), lambda game: game.players, id="payoffs_2x2x2_rat"), - # Myerson 2-card poker efg - pytest.param(games.create_myerson_2_card_poker_efg(), PROBS_1B_doub, PROBS_2B_doub, False, + # stripped-down poker + pytest.param(games.create_stripped_down_poker_efg(), PROBS_1B_doub, PROBS_2B_doub, False, lambda profile, player: profile.payoff(player), lambda game: game.players, id="payoffs_poker_doub"), - pytest.param(games.create_myerson_2_card_poker_efg(), PROBS_1B_rat, PROBS_2B_rat, True, + pytest.param(games.create_stripped_down_poker_efg(), PROBS_1B_rat, PROBS_2B_rat, True, lambda profile, player: profile.payoff(player), lambda game: game.players, id="payoffs_poker_rat"), ################################################################################# @@ -844,11 +844,11 @@ def _get_and_check_answers(game: gbt.Game, action_probs1: tuple, action_probs2: pytest.param(games.create_2x2x2_nfg(), PROBS_1B_rat, PROBS_2B_rat, True, lambda profile, strategy: profile.strategy_regret(strategy), lambda game: game.strategies, id="regret_2x2x2_rat"), - # Myerson 2-card poker efg - pytest.param(games.create_myerson_2_card_poker_efg(), PROBS_1B_doub, PROBS_2B_doub, False, + # stripped-down poker + pytest.param(games.create_stripped_down_poker_efg(), PROBS_1B_doub, PROBS_2B_doub, False, lambda profile, strategy: profile.strategy_regret(strategy), lambda game: game.strategies, id="regret_poker_doub"), - pytest.param(games.create_myerson_2_card_poker_efg(), PROBS_1B_rat, PROBS_2B_rat, True, + pytest.param(games.create_stripped_down_poker_efg(), PROBS_1B_rat, PROBS_2B_rat, True, lambda profile, strategy: profile.strategy_regret(strategy), lambda game: game.strategies, id="regret_poker_rat"), ################################################################################# @@ -867,11 +867,11 @@ def _get_and_check_answers(game: gbt.Game, action_probs1: tuple, action_probs2: pytest.param(games.create_2x2x2_nfg(), PROBS_1B_rat, PROBS_2B_rat, True, lambda profile, strategy: profile.strategy_value(strategy), lambda game: game.strategies, id="strat_value_2x2x2_rat"), - # Myerson 2-card poker efg - pytest.param(games.create_myerson_2_card_poker_efg(), PROBS_1B_doub, PROBS_2B_doub, False, + # stripped-down poker + pytest.param(games.create_stripped_down_poker_efg(), PROBS_1B_doub, PROBS_2B_doub, False, lambda profile, strategy: profile.strategy_value(strategy), lambda game: game.strategies, id="strat_value_poker_doub"), - pytest.param(games.create_myerson_2_card_poker_efg(), PROBS_1B_rat, PROBS_2B_rat, True, + pytest.param(games.create_stripped_down_poker_efg(), PROBS_1B_rat, PROBS_2B_rat, True, lambda profile, strategy: profile.strategy_value(strategy), lambda game: game.strategies, id="strat_value_poker_rat"), ################################################################################# @@ -898,13 +898,13 @@ def _get_and_check_answers(game: gbt.Game, action_probs1: tuple, action_probs2: other=strat_pair[1]), lambda game: list(product(game.strategies, game.strategies)), id="strat_value_deriv_2x2x2_rat"), - # Myerson 2-card poker efg - pytest.param(games.create_myerson_2_card_poker_efg(), PROBS_1B_doub, PROBS_2B_doub, False, + # stripped-down poker + pytest.param(games.create_stripped_down_poker_efg(), PROBS_1B_doub, PROBS_2B_doub, False, lambda profile, strat_pair: profile.strategy_value_deriv(strategy=strat_pair[0], other=strat_pair[1]), lambda game: list(product(game.strategies, game.strategies)), id="strat_value_deriv_poker_doub"), - pytest.param(games.create_myerson_2_card_poker_efg(), PROBS_1B_rat, PROBS_2B_rat, True, + pytest.param(games.create_stripped_down_poker_efg(), PROBS_1B_rat, PROBS_2B_rat, True, lambda profile, strat_pair: profile.strategy_value_deriv(strategy=strat_pair[0], other=strat_pair[1]), lambda game: list(product(game.strategies, game.strategies)), @@ -925,11 +925,11 @@ def _get_and_check_answers(game: gbt.Game, action_probs1: tuple, action_probs2: pytest.param(games.create_2x2x2_nfg(), PROBS_1B_rat, PROBS_2B_rat, True, lambda profile, y: profile.liap_value(), lambda x: [1], id="liap_value_2x2x2_rat"), - # Myerson 2-card poker efg - pytest.param(games.create_myerson_2_card_poker_efg(), PROBS_1B_doub, PROBS_2B_doub, False, + # stripped-down poker + pytest.param(games.create_stripped_down_poker_efg(), PROBS_1B_doub, PROBS_2B_doub, False, lambda profile, y: profile.liap_value(), lambda x: [1], id="liap_value_poker_doub"), - pytest.param(games.create_myerson_2_card_poker_efg(), PROBS_1B_rat, PROBS_2B_rat, True, + pytest.param(games.create_stripped_down_poker_efg(), PROBS_1B_rat, PROBS_2B_rat, True, lambda profile, y: profile.liap_value(), lambda x: [1], id="liap_value_poker_rat"), ] diff --git a/tests/test_nash.py b/tests/test_nash.py index 49a078888..7fbf7c02b 100644 --- a/tests/test_nash.py +++ b/tests/test_nash.py @@ -19,20 +19,20 @@ def test_enumpure_strategy(): """Test calls of enumeration of pure strategies.""" - game = games.read_from_file("myerson_2_card_poker.efg") + game = games.read_from_file("stripped_down_poker.efg") assert len(gbt.nash.enumpure_solve(game, use_strategic=True).equilibria) == 0 def test_enumpure_agent(): """Test calls of enumeration of pure agent strategies.""" - game = games.read_from_file("myerson_2_card_poker.efg") + game = games.read_from_file("stripped_down_poker.efg") assert len(gbt.nash.enumpure_solve(game, use_strategic=False).equilibria) == 0 def test_enummixed_double(): """Test calls of enumeration of mixed strategy equilibria for 2-player games, floating-point. """ - game = games.read_from_file("myerson_2_card_poker.efg") + game = games.read_from_file("stripped_down_poker.efg") result = gbt.nash.enummixed_solve(game, rational=False) assert len(result.equilibria) == 1 # For floating-point results are not exact, so we skip testing exact values for now @@ -44,7 +44,7 @@ def test_enummixed_double(): "game,mixed_strategy_prof_data", [ # Zero-sum games - (games.create_myerson_2_card_poker_efg(), [[["1/3", "2/3", 0, 0], ["2/3", "1/3"]]]), + (games.create_stripped_down_poker_efg(), [[["1/3", "2/3", 0, 0], ["2/3", "1/3"]]]), # Non-zero-sum games (games.create_one_shot_trust_efg(), [[[0, 1], ["1/2", "1/2"]], [[0, 1], [0, 1]]]), @@ -90,7 +90,7 @@ def test_enummixed_rational(game: gbt.Game, mixed_strategy_prof_data: list): [ # 2-player zero-sum games ( - games.create_myerson_2_card_poker_efg(), + games.create_stripped_down_poker_efg(), [[[[1, 0], ["1/3", "2/3"]], [["2/3", "1/3"]]]], None, ), @@ -234,7 +234,7 @@ def are_the_same(game, found, candidate): def test_lcp_strategy_double(): """Test calls of LCP for mixed strategy equilibria, floating-point.""" - game = games.read_from_file("myerson_2_card_poker.efg") + game = games.read_from_file("stripped_down_poker.efg") result = gbt.nash.lcp_solve(game, use_strategic=True, rational=False) assert len(result.equilibria) == 1 # For floating-point results are not exact, so we skip testing exact values for now @@ -246,7 +246,7 @@ def test_lcp_strategy_double(): "game,mixed_strategy_prof_data,stop_after", [ # Zero-sum games - (games.create_myerson_2_card_poker_efg(), [[["1/3", "2/3", 0, 0], ["2/3", "1/3"]]], None), + (games.create_stripped_down_poker_efg(), [[["1/3", "2/3", 0, 0], ["2/3", "1/3"]]], None), (games.create_kuhn_poker_efg(), [games.kuhn_poker_lcp_first_mixed_strategy_prof()], 1), # Non-zero-sum games (games.create_one_shot_trust_efg(), [[[0, 1], ["1/2", "1/2"]]], None), @@ -304,7 +304,7 @@ def test_lcp_strategy_rational(game: gbt.Game, mixed_strategy_prof_data: list, def test_lcp_behavior_double(): """Test calls of LCP for mixed behavior equilibria, floating-point.""" - game = games.read_from_file("myerson_2_card_poker.efg") + game = games.read_from_file("stripped_down_poker.efg") result = gbt.nash.lcp_solve(game, use_strategic=False, rational=False) assert len(result.equilibria) == 1 # For floating-point results are not exact, so we skip testing exact values for now @@ -316,7 +316,7 @@ def test_lcp_behavior_double(): "game,mixed_behav_prof_data", [ # Zero-sum games (also tested with lp solve) - (games.create_myerson_2_card_poker_efg(), [[[1, 0], ["1/3", "2/3"]], [["2/3", "1/3"]]]), + (games.create_stripped_down_poker_efg(), [[[1, 0], ["1/3", "2/3"]], [["2/3", "1/3"]]]), ( games.create_kuhn_poker_efg(), [ @@ -372,7 +372,7 @@ def test_lcp_behavior_rational(game: gbt.Game, mixed_behav_prof_data: list): def test_lp_strategy_double(): """Test calls of LP for mixed strategy equilibria, floating-point.""" - game = games.read_from_file("myerson_2_card_poker.efg") + game = games.read_from_file("stripped_down_poker.efg") result = gbt.nash.lp_solve(game, use_strategic=True, rational=False) assert len(result.equilibria) == 1 # For floating-point results are not exact, so we skip testing exact values for now @@ -382,7 +382,7 @@ def test_lp_strategy_double(): @pytest.mark.nash_lp_strategy def test_lp_strategy_rational(): """Test calls of LP for mixed strategy equilibria, rational precision.""" - game = games.read_from_file("myerson_2_card_poker.efg") + game = games.read_from_file("stripped_down_poker.efg") result = gbt.nash.lp_solve(game, use_strategic=True, rational=True) assert len(result.equilibria) == 1 expected = game.mixed_strategy_profile( @@ -397,7 +397,7 @@ def test_lp_strategy_rational(): def test_lp_behavior_double(): """Test calls of LP for mixed behavior equilibria, floating-point.""" - game = games.read_from_file("myerson_2_card_poker.efg") + game = games.read_from_file("stripped_down_poker.efg") result = gbt.nash.lp_solve(game, use_strategic=False, rational=False) assert len(result.equilibria) == 1 # For floating-point results are not exact, so we skip testing exact values for now @@ -413,7 +413,7 @@ def test_lp_behavior_double(): [[[0, 1], [1, 0]], [[1, 0], [1, 0]]], ), ( - games.create_myerson_2_card_poker_efg(), + games.create_stripped_down_poker_efg(), [[[1, 0], ["1/3", "2/3"]], [["2/3", "1/3"]]], ), ( @@ -447,47 +447,47 @@ def test_lp_behavior_rational(game: gbt.Game, mixed_behav_prof_data: list): def test_liap_strategy(): """Test calls of liap for mixed strategy equilibria.""" - game = games.read_from_file("myerson_2_card_poker.efg") + game = games.read_from_file("stripped_down_poker.efg") _ = gbt.nash.liap_solve(game.mixed_strategy_profile()) def test_liap_behavior(): """Test calls of liap for mixed behavior equilibria.""" - game = games.read_from_file("myerson_2_card_poker.efg") + game = games.read_from_file("stripped_down_poker.efg") _ = gbt.nash.liap_solve(game.mixed_behavior_profile()) def test_simpdiv_strategy(): """Test calls of simplicial subdivision for mixed strategy equilibria.""" - game = games.read_from_file("myerson_2_card_poker.efg") + game = games.read_from_file("stripped_down_poker.efg") result = gbt.nash.simpdiv_solve(game.mixed_strategy_profile(rational=True)) assert len(result.equilibria) == 1 def test_ipa_strategy(): """Test calls of IPA for mixed strategy equilibria.""" - game = games.read_from_file("myerson_2_card_poker.efg") + game = games.read_from_file("stripped_down_poker.efg") result = gbt.nash.ipa_solve(game) assert len(result.equilibria) == 1 def test_gnm_strategy(): """Test calls of GNM for mixed strategy equilibria.""" - game = games.read_from_file("myerson_2_card_poker.efg") + game = games.read_from_file("stripped_down_poker.efg") result = gbt.nash.gnm_solve(game) assert len(result.equilibria) == 1 def test_logit_strategy(): """Test calls of logit for mixed strategy equilibria.""" - game = games.read_from_file("myerson_2_card_poker.efg") + game = games.read_from_file("stripped_down_poker.efg") result = gbt.nash.logit_solve(game, use_strategic=True) assert len(result.equilibria) == 1 def test_logit_behavior(): """Test calls of logit for behavior equilibria.""" - game = games.read_from_file("myerson_2_card_poker.efg") + game = games.read_from_file("stripped_down_poker.efg") result = gbt.nash.logit_solve(game, use_strategic=False) assert len(result.equilibria) == 1 diff --git a/tests/test_node.py b/tests/test_node.py index 3f20da2c7..e11524522 100644 --- a/tests/test_node.py +++ b/tests/test_node.py @@ -791,26 +791,26 @@ def test_node_plays(): def test_node_children_action_label(): - game = games.read_from_file("myerson_2_card_poker.efg") - assert game.root.children["RED"] == game.root.children[0] - assert game.root.children["BLACK"].children["FOLD"] == game.root.children[1].children[1] + game = games.read_from_file("stripped_down_poker.efg") + assert game.root.children["King"] == game.root.children[0] + assert game.root.children["Queen"].children["Fold"] == game.root.children[1].children[1] def test_node_children_action(): - game = games.read_from_file("myerson_2_card_poker.efg") - assert game.root.children[game.root.infoset.actions["RED"]] == game.root.children[0] + game = games.read_from_file("stripped_down_poker.efg") + assert game.root.children[game.root.infoset.actions["King"]] == game.root.children[0] def test_node_children_nonexistent_action(): - game = games.read_from_file("myerson_2_card_poker.efg") + game = games.read_from_file("stripped_down_poker.efg") with pytest.raises(ValueError): - _ = game.root.children["GREEN"] + _ = game.root.children["Jack"] def test_node_children_other_infoset_action(): - game = games.read_from_file("myerson_2_card_poker.efg") + game = games.read_from_file("stripped_down_poker.efg") with pytest.raises(ValueError): - _ = game.root.children[game.root.children[0].infoset.actions["RAISE"]] + _ = game.root.children[game.root.children[0].infoset.actions["Bet"]] @pytest.mark.parametrize( @@ -821,7 +821,7 @@ def test_node_children_other_infoset_action(): pytest.param(games.read_from_file("cent3.efg")), pytest.param(games.read_from_file("e01.efg")), pytest.param(games.read_from_file("e02.efg")), - pytest.param(games.read_from_file("myerson_2_card_poker.efg")), + pytest.param(games.read_from_file("stripped_down_poker.efg")), pytest.param(gbt.Game.new_tree()), ], ) From d79174e3c895da1ad8509db5a88b07b483d6adae Mon Sep 17 00:00:00 2001 From: rahulsavani Date: Thu, 13 Nov 2025 18:41:44 +0000 Subject: [PATCH 207/240] added the file tests/test_games/stripped_down_poker.efg --- tests/test_games/stripped_down_poker.efg | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 tests/test_games/stripped_down_poker.efg diff --git a/tests/test_games/stripped_down_poker.efg b/tests/test_games/stripped_down_poker.efg new file mode 100644 index 000000000..9c7eb66ec --- /dev/null +++ b/tests/test_games/stripped_down_poker.efg @@ -0,0 +1,14 @@ +EFG 2 R "A simple Poker game" { "Fred" "Alice" } +"Stripped-Down Poker: a simple game of one-card poker from Reiley et al (2008)." + +c "" 1 "(0,1)" { "King" 1/2 "Queen" 1/2 } 0 +p "" 1 1 "(1,1)" { "Bet" "Fold" } 0 +p "" 2 1 "(2,1)" { "Call" "Fold" } 0 +t "" 1 "Win Big" { 2, -2 } +t "" 2 "Win" { 1, -1 } +t "" 4 "Lose" { -1, 1 } +p "" 1 2 "(1,2)" { "Bet" "Fold" } 0 +p "" 2 1 "(2,1)" { "Call" "Fold" } 0 +t "" 3 "Lose Big" { -2, 2 } +t "" 2 "Win" { 1, -1 } +t "" 4 "Lose" { -1, 1 } From 4b0a3dc732c2b9f0fa6a78a14192310327d90ab0 Mon Sep 17 00:00:00 2001 From: Rahul Savani Date: Mon, 17 Nov 2025 13:21:59 +0000 Subject: [PATCH 208/240] Fred/Alice -> Alice/Bob; new infoset labels --- tests/test_behav.py | 120 +++++++++++------------ tests/test_games/stripped_down_poker.efg | 12 +-- tests/test_mixed.py | 86 ++++++++-------- 3 files changed, 109 insertions(+), 109 deletions(-) diff --git a/tests/test_behav.py b/tests/test_behav.py index dbf096167..638a8baf8 100644 --- a/tests/test_behav.py +++ b/tests/test_behav.py @@ -49,10 +49,10 @@ def test_payoff_reference(game: gbt.Game, player_idx: int, payoff: typing.Union[ (games.create_mixed_behav_game_efg(), "Player 1", "3", True), (games.create_mixed_behav_game_efg(), "Player 2", "3", True), (games.create_mixed_behav_game_efg(), "Player 3", "13/4", True), - (games.create_stripped_down_poker_efg(), "Fred", -0.25, False), - (games.create_stripped_down_poker_efg(), "Alice", 0.25, False), - (games.create_stripped_down_poker_efg(), "Fred", "-1/4", True), - (games.create_stripped_down_poker_efg(), "Alice", "1/4", True), + (games.create_stripped_down_poker_efg(), "Alice", -0.25, False), + (games.create_stripped_down_poker_efg(), "Bob", 0.25, False), + (games.create_stripped_down_poker_efg(), "Alice", "-1/4", True), + (games.create_stripped_down_poker_efg(), "Bob", "1/4", True), ] ) def test_payoff_by_label_reference(game: gbt.Game, label: str, payoff: typing.Union[str, float], @@ -85,12 +85,12 @@ def test_is_defined_at(game: gbt.Game, rational_flag: bool): (games.create_mixed_behav_game_efg(), "Infoset 1:1", True), (games.create_mixed_behav_game_efg(), "Infoset 2:1", True), (games.create_mixed_behav_game_efg(), "Infoset 3:1", True), - (games.create_stripped_down_poker_efg(), "(1,1)", False), - (games.create_stripped_down_poker_efg(), "(1,2)", False), - (games.create_stripped_down_poker_efg(), "(2,1)", False), - (games.create_stripped_down_poker_efg(), "(1,1)", True), - (games.create_stripped_down_poker_efg(), "(1,2)", True), - (games.create_stripped_down_poker_efg(), "(2,1)", True), + (games.create_stripped_down_poker_efg(), "Alice has King", False), + (games.create_stripped_down_poker_efg(), "Alice has Queen", False), + (games.create_stripped_down_poker_efg(), "Bob's response", False), + (games.create_stripped_down_poker_efg(), "Alice has King", True), + (games.create_stripped_down_poker_efg(), "Alice has Queen", True), + (games.create_stripped_down_poker_efg(), "Bob's response", True), ] ) def test_is_defined_at_by_label(game: gbt.Game, label: str, rational_flag: bool): @@ -212,14 +212,14 @@ def test_profile_indexing_by_invalid_infoset_label(rational_flag: bool): (games.create_mixed_behav_game_efg(), "Infoset 1:1", "D1", 0.5, False), (games.create_mixed_behav_game_efg(), "Infoset 1:1", "U1", "1/2", True), (games.create_mixed_behav_game_efg(), "Infoset 1:1", "D1", "1/2", True), - (games.create_stripped_down_poker_efg(), "(1,1)", "Bet", 0.5, False), - (games.create_stripped_down_poker_efg(), "(1,1)", "Fold", 0.5, False), - (games.create_stripped_down_poker_efg(), "(1,2)", "Bet", 0.5, False), - (games.create_stripped_down_poker_efg(), "(1,2)", "Fold", 0.5, False), - (games.create_stripped_down_poker_efg(), "(2,1)", "Call", 0.5, False), - (games.create_stripped_down_poker_efg(), "(2,1)", "Fold", 0.5, False), - (games.create_stripped_down_poker_efg(), "(2,1)", "Call", "1/2", True), - (games.create_stripped_down_poker_efg(), "(2,1)", "Fold", "1/2", True), + (games.create_stripped_down_poker_efg(), "Alice has King", "Bet", 0.5, False), + (games.create_stripped_down_poker_efg(), "Alice has King", "Fold", 0.5, False), + (games.create_stripped_down_poker_efg(), "Alice has Queen", "Bet", 0.5, False), + (games.create_stripped_down_poker_efg(), "Alice has Queen", "Fold", 0.5, False), + (games.create_stripped_down_poker_efg(), "Bob's response", "Call", 0.5, False), + (games.create_stripped_down_poker_efg(), "Bob's response", "Fold", 0.5, False), + (games.create_stripped_down_poker_efg(), "Bob's response", "Call", "1/2", True), + (games.create_stripped_down_poker_efg(), "Bob's response", "Fold", "1/2", True), ] ) def test_profile_indexing_by_infoset_and_action_labels_reference(game: gbt.Game, @@ -241,14 +241,14 @@ def test_profile_indexing_by_infoset_and_action_labels_reference(game: gbt.Game, (games.create_mixed_behav_game_efg(), "Player 1", "Infoset 1:1", "D1", 0.5, False), (games.create_mixed_behav_game_efg(), "Player 1", "Infoset 1:1", "U1", "1/2", True), (games.create_mixed_behav_game_efg(), "Player 1", "Infoset 1:1", "D1", "1/2", True), - (games.create_stripped_down_poker_efg(), "Fred", "(1,1)", "Bet", 0.5, False), - (games.create_stripped_down_poker_efg(), "Fred", "(1,1)", "Fold", 0.5, False), - (games.create_stripped_down_poker_efg(), "Fred", "(1,2)", "Bet", 0.5, False), - (games.create_stripped_down_poker_efg(), "Fred", "(1,2)", "Fold", 0.5, False), - (games.create_stripped_down_poker_efg(), "Alice", "(2,1)", "Call", 0.5, False), - (games.create_stripped_down_poker_efg(), "Alice", "(2,1)", "Fold", 0.5, False), - (games.create_stripped_down_poker_efg(), "Alice", "(2,1)", "Call", "1/2", True), - (games.create_stripped_down_poker_efg(), "Alice", "(2,1)", "Fold", "1/2", True), + (games.create_stripped_down_poker_efg(), "Alice", "Alice has King", "Bet", 0.5, False), + (games.create_stripped_down_poker_efg(), "Alice", "Alice has King", "Fold", 0.5, False), + (games.create_stripped_down_poker_efg(), "Alice", "Alice has Queen", "Bet", 0.5, False), + (games.create_stripped_down_poker_efg(), "Alice", "Alice has Queen", "Fold", 0.5, False), + (games.create_stripped_down_poker_efg(), "Bob", "Bob's response", "Call", 0.5, False), + (games.create_stripped_down_poker_efg(), "Bob", "Bob's response", "Fold", 0.5, False), + (games.create_stripped_down_poker_efg(), "Bob", "Bob's response", "Call", "1/2", True), + (games.create_stripped_down_poker_efg(), "Bob", "Bob's response", "Fold", "1/2", True), ] ) def test_profile_indexing_by_player_infoset_action_labels_reference(game: gbt.Game, @@ -271,8 +271,8 @@ def test_profile_indexing_by_player_infoset_action_labels_reference(game: gbt.Ga (games.create_mixed_behav_game_efg(), "1:1", "U2", False), (games.create_mixed_behav_game_efg(), "1:1", "U4", True), # U4 isn't in the game (games.create_mixed_behav_game_efg(), "1:1", "U4", False), - (games.create_stripped_down_poker_efg(), "(1,1)", "MEET", True), # MEET at different iset - (games.create_stripped_down_poker_efg(), "(1,1)", "MEET", False), + (games.create_stripped_down_poker_efg(), "Alice has King", "MEET", True), + (games.create_stripped_down_poker_efg(), "Alice has King", "MEET", False), ] ) def test_profile_indexing_by_invalid_infoset_or_action_label(game: gbt.Game, infoset_label: str, @@ -316,12 +316,12 @@ def test_profile_indexing_by_player_and_infoset_idx_reference(game: gbt.Game, (games.create_mixed_behav_game_efg(), 0, "Infoset 1:1", ["1/2", "1/2"], True), (games.create_mixed_behav_game_efg(), 1, "Infoset 2:1", ["1/2", "1/2"], True), (games.create_mixed_behav_game_efg(), 2, "Infoset 3:1", ["1/2", "1/2"], True), - (games.create_stripped_down_poker_efg(), 0, "(1,1)", [0.5, 0.5], False), - (games.create_stripped_down_poker_efg(), 0, "(1,2)", [0.5, 0.5], False), - (games.create_stripped_down_poker_efg(), 1, "(2,1)", [0.5, 0.5], False), - (games.create_stripped_down_poker_efg(), 0, "(1,1)", ["1/2", "1/2"], True), - (games.create_stripped_down_poker_efg(), 0, "(1,2)", ["1/2", "1/2"], True), - (games.create_stripped_down_poker_efg(), 1, "(2,1)", ["1/2", "1/2"], True), + (games.create_stripped_down_poker_efg(), 0, "Alice has King", [0.5, 0.5], False), + (games.create_stripped_down_poker_efg(), 0, "Alice has Queen", [0.5, 0.5], False), + (games.create_stripped_down_poker_efg(), 1, "Bob's response", [0.5, 0.5], False), + (games.create_stripped_down_poker_efg(), 0, "Alice has King", ["1/2", "1/2"], True), + (games.create_stripped_down_poker_efg(), 0, "Alice has Queen", ["1/2", "1/2"], True), + (games.create_stripped_down_poker_efg(), 1, "Bob's response", ["1/2", "1/2"], True), ] ) def test_profile_indexing_by_player_idx_infoset_label_reference(game: gbt.Game, player_idx: int, @@ -400,11 +400,11 @@ def test_profile_indexing_by_player_idx_reference(game: gbt.Game, player_idx: in (games.create_mixed_behav_game_efg(), "Player 1", [["1/2", "1/2"]], True), (games.create_mixed_behav_game_efg(), "Player 2", [["1/2", "1/2"]], True), (games.create_mixed_behav_game_efg(), "Player 3", [["1/2", "1/2"]], True), - (games.create_stripped_down_poker_efg(), "Fred", [[0.5, 0.5], [0.5, 0.5]], False), - (games.create_stripped_down_poker_efg(), "Alice", [[0.5, 0.5]], False), - (games.create_stripped_down_poker_efg(), "Fred", [["1/2", "1/2"], ["1/2", "1/2"]], + (games.create_stripped_down_poker_efg(), "Alice", [[0.5, 0.5], [0.5, 0.5]], False), + (games.create_stripped_down_poker_efg(), "Bob", [[0.5, 0.5]], False), + (games.create_stripped_down_poker_efg(), "Alice", [["1/2", "1/2"], ["1/2", "1/2"]], True), - (games.create_stripped_down_poker_efg(), "Alice", [["1/2", "1/2"]], True), + (games.create_stripped_down_poker_efg(), "Bob", [["1/2", "1/2"]], True), ] ) def test_profile_indexing_by_player_label_reference(game: gbt.Game, player_label: str, @@ -513,12 +513,12 @@ def test_set_probabilities_infoset(game: gbt.Game, player_idx: int, infoset_idx: (games.create_mixed_behav_game_efg(), "Infoset 1:1", ["7/9", "2/9"], True), (games.create_mixed_behav_game_efg(), "Infoset 2:1", ["4/13", "9/13"], True), (games.create_mixed_behav_game_efg(), "Infoset 3:1", ["1/98", "97/98"], True), - (games.create_stripped_down_poker_efg(), "(1,1)", [0.1, 0.9], False), - (games.create_stripped_down_poker_efg(), "(1,2)", [0.2, 0.8], False), - (games.create_stripped_down_poker_efg(), "(2,1)", [0.3, 0.7], False), - (games.create_stripped_down_poker_efg(), "(1,1)", ["1/10", "9/10"], True), - (games.create_stripped_down_poker_efg(), "(1,2)", ["2/10", "8/10"], True), - (games.create_stripped_down_poker_efg(), "(2,1)", ["3/10", "7/10"], True), + (games.create_stripped_down_poker_efg(), "Alice has King", [0.1, 0.9], False), + (games.create_stripped_down_poker_efg(), "Alice has Queen", [0.2, 0.8], False), + (games.create_stripped_down_poker_efg(), "Bob's response", [0.3, 0.7], False), + (games.create_stripped_down_poker_efg(), "Alice has King", ["1/10", "9/10"], True), + (games.create_stripped_down_poker_efg(), "Alice has Queen", ["2/10", "8/10"], True), + (games.create_stripped_down_poker_efg(), "Bob's response", ["3/10", "7/10"], True), ] ) def test_set_probabilities_infoset_by_label(game: gbt.Game, infoset_label: str, probs: list, @@ -562,11 +562,11 @@ def test_set_probabilities_player(game: gbt.Game, player_idx: int, behav_data: l (games.create_mixed_behav_game_efg(), "Player 1", [["7/9", "2/9"]], True), (games.create_mixed_behav_game_efg(), "Player 2", [["4/13", "9/13"]], True), (games.create_mixed_behav_game_efg(), "Player 3", [["1/98", "97/98"]], True), - (games.create_stripped_down_poker_efg(), "Fred", [[0.1, 0.9], [0.5, 0.5]], False), - (games.create_stripped_down_poker_efg(), "Alice", [[0.6, 0.4]], False), - (games.create_stripped_down_poker_efg(), "Fred", [["1/3", "2/3"], ["1/2", "1/2"]], + (games.create_stripped_down_poker_efg(), "Alice", [[0.1, 0.9], [0.5, 0.5]], False), + (games.create_stripped_down_poker_efg(), "Bob", [[0.6, 0.4]], False), + (games.create_stripped_down_poker_efg(), "Alice", [["1/3", "2/3"], ["1/2", "1/2"]], True), - (games.create_stripped_down_poker_efg(), "Alice", [["2/3", "1/3"]], True), + (games.create_stripped_down_poker_efg(), "Bob", [["2/3", "1/3"]], True), ] ) def test_set_probabilities_player_by_label(game: gbt.Game, player_label: str, behav_data: list, @@ -672,12 +672,12 @@ def test_infoset_prob_reference(game: gbt.Game, player_idx: int, infoset_idx: in (games.create_mixed_behav_game_efg(), "Infoset 1:1", "1", True), (games.create_mixed_behav_game_efg(), "Infoset 2:1", "1", True), (games.create_mixed_behav_game_efg(), "Infoset 3:1", "1", True), - (games.create_stripped_down_poker_efg(), "(1,1)", 0.5, False), - (games.create_stripped_down_poker_efg(), "(1,2)", 0.5, False), - (games.create_stripped_down_poker_efg(), "(2,1)", 0.5, False), - (games.create_stripped_down_poker_efg(), "(1,1)", "1/2", True), - (games.create_stripped_down_poker_efg(), "(1,2)", "1/2", True), - (games.create_stripped_down_poker_efg(), "(2,1)", "1/2", True), + (games.create_stripped_down_poker_efg(), "Alice has King", 0.5, False), + (games.create_stripped_down_poker_efg(), "Alice has Queen", 0.5, False), + (games.create_stripped_down_poker_efg(), "Bob's response", 0.5, False), + (games.create_stripped_down_poker_efg(), "Alice has King", "1/2", True), + (games.create_stripped_down_poker_efg(), "Alice has Queen", "1/2", True), + (games.create_stripped_down_poker_efg(), "Bob's response", "1/2", True), ] ) def test_infoset_prob_by_label_reference(game: gbt.Game, label: str, @@ -717,12 +717,12 @@ def test_infoset_payoff_reference(game: gbt.Game, player_idx: int, infoset_idx: (games.create_mixed_behav_game_efg(), "Infoset 1:1", "3", True), (games.create_mixed_behav_game_efg(), "Infoset 2:1", "3", True), (games.create_mixed_behav_game_efg(), "Infoset 3:1", "13/4", True), - (games.create_stripped_down_poker_efg(), "(1,1)", 0.25, False), - (games.create_stripped_down_poker_efg(), "(1,2)", -0.75, False), - (games.create_stripped_down_poker_efg(), "(2,1)", -0.5, False), - (games.create_stripped_down_poker_efg(), "(1,1)", "1/4", True), - (games.create_stripped_down_poker_efg(), "(1,2)", "-3/4", True), - (games.create_stripped_down_poker_efg(), "(2,1)", "-1/2", True), + (games.create_stripped_down_poker_efg(), "Alice has King", 0.25, False), + (games.create_stripped_down_poker_efg(), "Alice has Queen", -0.75, False), + (games.create_stripped_down_poker_efg(), "Bob's response", -0.5, False), + (games.create_stripped_down_poker_efg(), "Alice has King", "1/4", True), + (games.create_stripped_down_poker_efg(), "Alice has Queen", "-3/4", True), + (games.create_stripped_down_poker_efg(), "Bob's response", "-1/2", True), ] ) def test_infoset_payoff_by_label_reference(game: gbt.Game, label: str, diff --git a/tests/test_games/stripped_down_poker.efg b/tests/test_games/stripped_down_poker.efg index 9c7eb66ec..8a21af1ff 100644 --- a/tests/test_games/stripped_down_poker.efg +++ b/tests/test_games/stripped_down_poker.efg @@ -1,14 +1,14 @@ -EFG 2 R "A simple Poker game" { "Fred" "Alice" } +EFG 2 R "A simple Poker game" { "Alice" "Bob" } "Stripped-Down Poker: a simple game of one-card poker from Reiley et al (2008)." -c "" 1 "(0,1)" { "King" 1/2 "Queen" 1/2 } 0 -p "" 1 1 "(1,1)" { "Bet" "Fold" } 0 -p "" 2 1 "(2,1)" { "Call" "Fold" } 0 +c "" 1 "Deal" { "King" 1/2 "Queen" 1/2 } 0 +p "" 1 1 "Alice has King" { "Bet" "Fold" } 0 +p "" 2 1 "Bob's response" { "Call" "Fold" } 0 t "" 1 "Win Big" { 2, -2 } t "" 2 "Win" { 1, -1 } t "" 4 "Lose" { -1, 1 } -p "" 1 2 "(1,2)" { "Bet" "Fold" } 0 -p "" 2 1 "(2,1)" { "Call" "Fold" } 0 +p "" 1 2 "Alice has Queen" { "Bet" "Fold" } 0 +p "" 2 1 "Bob's response" { "Call" "Fold" } 0 t "" 3 "Lose Big" { -2, 2 } t "" 2 "Win" { 1, -1 } t "" 4 "Lose" { -1, 1 } diff --git a/tests/test_mixed.py b/tests/test_mixed.py index b37763d74..82658bfd1 100644 --- a/tests/test_mixed.py +++ b/tests/test_mixed.py @@ -138,10 +138,10 @@ def test_set_and_get_probability_by_strategy_label(game: gbt.Game, strategy_labe (games.create_coord_4x4_nfg(), P1, True, ["1/4", 0, 0, "3/4"]), ############################################################################## # stripped-down poker efg - (games.create_stripped_down_poker_efg(), "Fred", False, [0.25, 0.75, 0, 0]), - (games.create_stripped_down_poker_efg(), "Alice", False, [1, 0]), - (games.create_stripped_down_poker_efg(), "Fred", True, ["1/4", "3/4", 0, 0]), - (games.create_stripped_down_poker_efg(), "Alice", True, [1, 0]), + (games.create_stripped_down_poker_efg(), "Alice", False, [0.25, 0.75, 0, 0]), + (games.create_stripped_down_poker_efg(), "Bob", False, [1, 0]), + (games.create_stripped_down_poker_efg(), "Alice", True, ["1/4", "3/4", 0, 0]), + (games.create_stripped_down_poker_efg(), "Bob", True, [1, 0]), ], ) def test_set_and_get_probabilities_by_player_label(game: gbt.Game, player_label: str, @@ -158,19 +158,19 @@ def test_set_and_get_probabilities_by_player_label(game: gbt.Game, player_label: ############################################################################## # stripped-down poker efg # Player 1 - (games.create_stripped_down_poker_efg(), "Fred", "11", 0.25, False), - (games.create_stripped_down_poker_efg(), "Fred", "12", 0.25, False), - (games.create_stripped_down_poker_efg(), "Fred", "21", 0.25, False), - (games.create_stripped_down_poker_efg(), "Fred", "22", 0.25, False), - (games.create_stripped_down_poker_efg(), "Fred", "11", "1/4", True), - (games.create_stripped_down_poker_efg(), "Fred", "12", "1/4", True), - (games.create_stripped_down_poker_efg(), "Fred", "21", "1/4", True), - (games.create_stripped_down_poker_efg(), "Fred", "22", "1/4", True), + (games.create_stripped_down_poker_efg(), "Alice", "11", 0.25, False), + (games.create_stripped_down_poker_efg(), "Alice", "12", 0.25, False), + (games.create_stripped_down_poker_efg(), "Alice", "21", 0.25, False), + (games.create_stripped_down_poker_efg(), "Alice", "22", 0.25, False), + (games.create_stripped_down_poker_efg(), "Alice", "11", "1/4", True), + (games.create_stripped_down_poker_efg(), "Alice", "12", "1/4", True), + (games.create_stripped_down_poker_efg(), "Alice", "21", "1/4", True), + (games.create_stripped_down_poker_efg(), "Alice", "22", "1/4", True), # Player 2 - (games.create_stripped_down_poker_efg(), "Alice", "1", 0.5, False), - (games.create_stripped_down_poker_efg(), "Alice", "2", 0.5, False), - (games.create_stripped_down_poker_efg(), "Alice", "1", "1/2", True), - (games.create_stripped_down_poker_efg(), "Alice", "2", "1/2", True), + (games.create_stripped_down_poker_efg(), "Bob", "1", 0.5, False), + (games.create_stripped_down_poker_efg(), "Bob", "2", 0.5, False), + (games.create_stripped_down_poker_efg(), "Bob", "1", "1/2", True), + (games.create_stripped_down_poker_efg(), "Bob", "2", "1/2", True), ############################################################################## # coordination 4x4 nfg outcome version with strategy labels (games.create_coord_4x4_nfg(outcome_version=True), P1, "1-1", "1/4", True), @@ -191,12 +191,12 @@ def test_profile_indexing_by_player_and_strategy_label_reference(game: gbt.Game, [ ############################################################################## # stripped-down poker efg - (games.create_stripped_down_poker_efg(), "Alice", "11", True), - (games.create_stripped_down_poker_efg(), "Alice", "11", False), - (games.create_stripped_down_poker_efg(), "Fred", "1", True), - (games.create_stripped_down_poker_efg(), "Fred", "1", False), - (games.create_stripped_down_poker_efg(), "Fred", "2", True), - (games.create_stripped_down_poker_efg(), "Fred", "2", False), + (games.create_stripped_down_poker_efg(), "Bob", "11", True), + (games.create_stripped_down_poker_efg(), "Bob", "11", False), + (games.create_stripped_down_poker_efg(), "Alice", "1", True), + (games.create_stripped_down_poker_efg(), "Alice", "1", False), + (games.create_stripped_down_poker_efg(), "Alice", "2", True), + (games.create_stripped_down_poker_efg(), "Alice", "2", False), ############################################################################## # coordination 4x4 nfg outcome version with strategy labels (games.create_coord_4x4_nfg(outcome_version=True), P1, "2-1", True), @@ -295,10 +295,10 @@ def test_profile_indexing_by_strategy_label_reference(game: gbt.Game, strategy_l (games.create_mixed_behav_game_efg(), P3, ["1/2", "1/2"], True), ############################################################################ # stripped-down poker efg - (games.create_stripped_down_poker_efg(), "Fred", [0.25, 0.25, 0.25, 0.25], False), - (games.create_stripped_down_poker_efg(), "Alice", [0.5, 0.5], False), - (games.create_stripped_down_poker_efg(), "Fred", ["1/4", "1/4", "1/4", "1/4"], True), - (games.create_stripped_down_poker_efg(), "Alice", ["1/2", "1/2"], True), + (games.create_stripped_down_poker_efg(), "Alice", [0.25, 0.25, 0.25, 0.25], False), + (games.create_stripped_down_poker_efg(), "Bob", [0.5, 0.5], False), + (games.create_stripped_down_poker_efg(), "Alice", ["1/4", "1/4", "1/4", "1/4"], True), + (games.create_stripped_down_poker_efg(), "Bob", ["1/2", "1/2"], True), ############################################################################ # coordination 4x4 nfg (games.create_coord_4x4_nfg(), P1, [0.25, 0.25, 0.25, 0.25], False), @@ -338,24 +338,24 @@ def test_profile_indexing_by_player_label_reference(game: gbt.Game, player_label (games.create_coord_4x4_nfg(), True, [[1, 0, 0, 0], [0, 1, 0, 0]], P2, 0), ######################################################################### # stripped-down poker efg - (games.create_stripped_down_poker_efg(), False, None, "Fred", -0.25), - (games.create_stripped_down_poker_efg(), False, None, "Alice", 0.25), - (games.create_stripped_down_poker_efg(), True, None, "Fred", "-1/4"), - (games.create_stripped_down_poker_efg(), True, None, "Alice", "1/4"), - # Raise/Raise for player 1 - (games.create_stripped_down_poker_efg(), False, [[1, 0, 0, 0], [1, 0]], "Fred", 0), - (games.create_stripped_down_poker_efg(), False, [[1, 0, 0, 0], [1, 0]], "Alice", 0), - (games.create_stripped_down_poker_efg(), True, [[1, 0, 0, 0], [1, 0]], "Fred", 0), - (games.create_stripped_down_poker_efg(), True, [[1, 0, 0, 0], [1, 0]], "Alice", 0), + (games.create_stripped_down_poker_efg(), False, None, "Alice", -0.25), + (games.create_stripped_down_poker_efg(), False, None, "Bob", 0.25), + (games.create_stripped_down_poker_efg(), True, None, "Alice", "-1/4"), + (games.create_stripped_down_poker_efg(), True, None, "Bob", "1/4"), + # Bet/Call + (games.create_stripped_down_poker_efg(), False, [[1, 0, 0, 0], [1, 0]], "Alice", 0), + (games.create_stripped_down_poker_efg(), False, [[1, 0, 0, 0], [1, 0]], "Bob", 0), + (games.create_stripped_down_poker_efg(), True, [[1, 0, 0, 0], [1, 0]], "Alice", 0), + (games.create_stripped_down_poker_efg(), True, [[1, 0, 0, 0], [1, 0]], "Bob", 0), # Fold/Fold for player 1 (player 2's strategy is payoff-irrelevant) - (games.create_stripped_down_poker_efg(), False, [[0, 0, 0, 1], [1, 0]], "Fred", -1), - (games.create_stripped_down_poker_efg(), False, [[0, 0, 0, 1], [1, 0]], "Alice", 1), - (games.create_stripped_down_poker_efg(), True, [[0, 0, 0, 1], [1, 0]], "Fred", -1), - (games.create_stripped_down_poker_efg(), True, [[0, 0, 0, 1], [1, 0]], "Alice", 1), - (games.create_stripped_down_poker_efg(), False, [[0, 0, 0, 1], [0.5, 0.5]], "Fred", -1), - (games.create_stripped_down_poker_efg(), False, [[0, 0, 0, 1], [0.5, 0.5]], "Alice", 1), - (games.create_stripped_down_poker_efg(), True, [[0, 0, 0, 1], ["1/2", "1/2"]], "Fred", -1), - (games.create_stripped_down_poker_efg(), True, [[0, 0, 0, 1], ["1/2", "1/2"]], "Alice", 1), + (games.create_stripped_down_poker_efg(), False, [[0, 0, 0, 1], [1, 0]], "Alice", -1), + (games.create_stripped_down_poker_efg(), False, [[0, 0, 0, 1], [1, 0]], "Bob", 1), + (games.create_stripped_down_poker_efg(), True, [[0, 0, 0, 1], [1, 0]], "Alice", -1), + (games.create_stripped_down_poker_efg(), True, [[0, 0, 0, 1], [1, 0]], "Bob", 1), + (games.create_stripped_down_poker_efg(), False, [[0, 0, 0, 1], [0.5, 0.5]], "Alice", -1), + (games.create_stripped_down_poker_efg(), False, [[0, 0, 0, 1], [0.5, 0.5]], "Bob", 1), + (games.create_stripped_down_poker_efg(), True, [[0, 0, 0, 1], ["1/2", "1/2"]], "Alice", -1), + (games.create_stripped_down_poker_efg(), True, [[0, 0, 0, 1], ["1/2", "1/2"]], "Bob", 1), ######################################################################### (games.create_mixed_behav_game_efg(), False, None, P1, 3.0), (games.create_mixed_behav_game_efg(), False, None, P2, 3.0), From 346ce45185a61c7f31665c449b86e09030359013 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 17 Nov 2025 15:16:43 +0000 Subject: [PATCH 209/240] update game title in tutorial 3 --- doc/tutorials/03_poker.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 14292df75..8389dbc49 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -53,14 +53,14 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "ad6a1119", "metadata": {}, "outputs": [], "source": [ "g = gbt.Game.new_tree(\n", " players=[\"Alice\", \"Bob\"],\n", - " title=\"One card poker\"\n", + " title=\"Stripped-Down Poker: a simple game of one-card poker from Reiley et al (2008).\"\n", ")" ] }, From a96b03f18fc92bdfc576b96c82e92567175c4162 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 17 Nov 2025 15:22:59 +0000 Subject: [PATCH 210/240] change action labels to Bet/Call and Fold --- doc/tutorials/03_poker.ipynb | 272 +++++++++++++++++------------------ 1 file changed, 136 insertions(+), 136 deletions(-) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 8389dbc49..ec401eccc 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -22,12 +22,12 @@ " - A card is dealt at random to Alice\n", " - Alice observes her card\n", " - Bob does not observe the card\n", - "- Alice then chooses either to **Raise** or to **Fold**.\n", + "- Alice then chooses either to **Bet** or to **Fold**.\n", " - If she chooses to Fold, Bob wins the pot and the game ends.\n", - " - If she chooses to Raise, she adds another \\$1 to the pot.\n", - "- Bob then chooses either to **Meet** or **Pass**.\n", - " - If he chooses to Pass, Alice wins the pot and the game ends.\n", - " - If he chooses to Meet, he adds another $1 to the pot.\n", + " - If she chooses to Bet, she adds another \\$1 to the pot.\n", + "- Bob then chooses either to **Call** or **Fold**.\n", + " - If he chooses to Fold, Alice wins the pot and the game ends.\n", + " - If he chooses to Call, he adds another $1 to the pot.\n", "- There is then a showdown, in which Alice reveals her card.\n", " - If she has a King, then she wins the pot;\n", " - If she has a Queen, then Bob wins the pot." @@ -35,7 +35,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 20, "id": "69cbfe81", "metadata": {}, "outputs": [], @@ -53,7 +53,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "ad6a1119", "metadata": {}, "outputs": [], @@ -74,7 +74,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 22, "id": "841f9f74", "metadata": {}, "outputs": [ @@ -82,9 +82,9 @@ "name": "stdout", "output_type": "stream", "text": [ - "Player(game=Game(title='One card poker'), label='Alice')\n", - "Player(game=Game(title='One card poker'), label='Bob')\n", - "ChancePlayer(game=Game(title='One card poker'))\n" + "Player(game=Game(title='Stripped-Down Poker: a simple game of one-card poker from Reiley et al (2008).'), label='Alice')\n", + "Player(game=Game(title='Stripped-Down Poker: a simple game of one-card poker from Reiley et al (2008).'), label='Bob')\n", + "ChancePlayer(game=Game(title='Stripped-Down Poker: a simple game of one-card poker from Reiley et al (2008).'))\n" ] } ], @@ -110,7 +110,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 23, "id": "fe80c64c", "metadata": {}, "outputs": [], @@ -138,7 +138,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 24, "id": "0e3bb5ef", "metadata": {}, "outputs": [], @@ -147,7 +147,7 @@ " g.append_move(\n", " node,\n", " player=\"Alice\",\n", - " actions=[\"Raise\", \"Fold\"]\n", + " actions=[\"Bet\", \"Fold\"]\n", " )" ] }, @@ -160,27 +160,27 @@ "\n", "In contrast, Bob does not know Alice’s card, and therefore cannot distinguish between the two nodes at which he has to make his decision:\n", "\n", - " - Chance player chooses King, then Alice Raises: `g.root.children[\"King\"].children[\"Raise\"]`\n", - " - Chance player chooses Queen, then Alice Raises: `g.root.children[\"Queen\"].children[\"Raise\"]`\n", + " - Chance player chooses King, then Alice Bets: `g.root.children[\"King\"].children[\"Bet\"]`\n", + " - Chance player chooses Queen, then Alice Bets: `g.root.children[\"Queen\"].children[\"Bet\"]`\n", "\n", - "In other words, Bob's decision when Alice raises with a Queen should be part of the same information set as Bob's decision when Alice raises with a King.\n", + "In other words, Bob's decision when Alice Bets with a Queen should be part of the same information set as Bob's decision when Alice Bets with a King.\n", "\n", "To set this scenario up in Gambit, we'll need to use `Game.append_infoset` to add a move as part of an existing information set (represented in Gambit as an `Infoset`).\n", "\n", - "First, let's add Bob's move to the node where Alice has raised with a King." + "First, let's add Bob's move to the node where Alice has Betd with a King." ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 25, "id": "dbfa7035", "metadata": {}, "outputs": [], "source": [ "g.append_move(\n", - " g.root.children[\"King\"].children[\"Raise\"],\n", + " g.root.children[\"King\"].children[\"Bet\"],\n", " player=\"Bob\",\n", - " actions=[\"Meet\", \"Pass\"]\n", + " actions=[\"Call\", \"Fold\"]\n", ")" ] }, @@ -189,19 +189,19 @@ "id": "689ce12c", "metadata": {}, "source": [ - "Now let's add the information set we created at the node where Alice raised with a King, to the node where Alice raised with a Queen." + "Now let's add the information set we created at the node where Alice Betd with a King, to the node where Alice Betd with a Queen." ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 26, "id": "655cdae3", "metadata": {}, "outputs": [], "source": [ "g.append_infoset(\n", - " g.root.children[\"Queen\"].children[\"Raise\"],\n", - " infoset=g.root.children[\"King\"].children[\"Raise\"].infoset\n", + " g.root.children[\"Queen\"].children[\"Bet\"],\n", + " infoset=g.root.children[\"King\"].children[\"Bet\"].infoset\n", ")" ] }, @@ -211,7 +211,7 @@ "metadata": {}, "source": [ "In game theory terms, this creates \"imperfect information\".\n", - "Bob cannot distinguish between these two nodes in the game tree, so he must use the same strategy (same probabilities for Meet vs. Pass) in both situations.\n", + "Bob cannot distinguish between these two nodes in the game tree, so he must use the same strategy (same probabilities for Call vs. Fold) in both situations.\n", "\n", "This is crucial in games where players must make decisions without complete knowledge of their opponents' private information.\n", "\n", @@ -220,7 +220,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 27, "id": "87c988be", "metadata": {}, "outputs": [], @@ -241,7 +241,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 28, "id": "29aa60a0", "metadata": {}, "outputs": [], @@ -250,15 +250,15 @@ "g.set_outcome(g.root.children[\"King\"].children[\"Fold\"], bob_wins)\n", "g.set_outcome(g.root.children[\"Queen\"].children[\"Fold\"], bob_wins)\n", "\n", - "# Bob sees Alice raise and calls, correctly believing she is bluffing, Bob wins big\n", - "g.set_outcome(g.root.children[\"Queen\"].children[\"Raise\"].children[\"Meet\"], bob_winsbig)\n", + "# Bob sees Alice Bet and calls, correctly believing she is bluffing, Bob wins big\n", + "g.set_outcome(g.root.children[\"Queen\"].children[\"Bet\"].children[\"Call\"], bob_winsbig)\n", "\n", - "# Bob sees Alice raise and calls, incorrectly believing she is bluffing, Alice wins big\n", - "g.set_outcome(g.root.children[\"King\"].children[\"Raise\"].children[\"Meet\"], alice_winsbig)\n", + "# Bob sees Alice Bet and calls, incorrectly believing she is bluffing, Alice wins big\n", + "g.set_outcome(g.root.children[\"King\"].children[\"Bet\"].children[\"Call\"], alice_winsbig)\n", "\n", - "# Bob does not call Alice's raise, Alice wins small\n", - "g.set_outcome(g.root.children[\"King\"].children[\"Raise\"].children[\"Pass\"], alice_wins)\n", - "g.set_outcome(g.root.children[\"Queen\"].children[\"Raise\"].children[\"Pass\"], alice_wins)" + "# Bob does not call Alice's Bet, Alice wins small\n", + "g.set_outcome(g.root.children[\"King\"].children[\"Bet\"].children[\"Fold\"], alice_wins)\n", + "g.set_outcome(g.root.children[\"Queen\"].children[\"Bet\"].children[\"Fold\"], alice_wins)" ] }, { @@ -274,7 +274,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 29, "id": "4d92c8d9", "metadata": {}, "outputs": [ @@ -284,7 +284,7 @@ "NashComputationResult(method='lcp', rational=True, use_strategic=False, equilibria=[[[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]], [[Rational(2, 3), Rational(1, 3)]]]], parameters={'stop_after': 0, 'max_depth': 0})" ] }, - "execution_count": 10, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } @@ -308,7 +308,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 30, "id": "9967d6f7", "metadata": {}, "outputs": [ @@ -327,7 +327,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 31, "id": "3293e818", "metadata": {}, "outputs": [ @@ -337,7 +337,7 @@ "pygambit.gambit.MixedBehaviorProfileRational" ] }, - "execution_count": 12, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -360,7 +360,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 32, "id": "4cf38264", "metadata": {}, "outputs": [ @@ -370,7 +370,7 @@ "pygambit.gambit.MixedBehavior" ] }, - "execution_count": 13, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -381,7 +381,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 33, "id": "85e7fdda", "metadata": {}, "outputs": [ @@ -394,7 +394,7 @@ "[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]]" ] }, - "execution_count": 14, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -408,7 +408,7 @@ "id": "6615115d", "metadata": {}, "source": [ - "In this case, at Alice's first information set, the one at which she has the King, she always raises.\n", + "In this case, at Alice's first information set, the one at which she has the King, she always Bets.\n", "\n", "At her second information set, where she has the Queen, she sometimes bluffs, raising with probability one-third.\n", "\n", @@ -419,7 +419,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 34, "id": "f45a82b6", "metadata": {}, "outputs": [ @@ -427,8 +427,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "At information set 0, Alice plays Raise with probability: 1 and Fold with probability: 0\n", - "At information set 1, Alice plays Raise with probability: 1/3 and Fold with probability: 2/3\n" + "At information set 0, Alice plays Bet with probability: 1 and Fold with probability: 0\n", + "At information set 1, Alice plays Bet with probability: 1/3 and Fold with probability: 2/3\n" ] } ], @@ -436,7 +436,7 @@ "for infoset, mixed_action in eqm[\"Alice\"].mixed_actions():\n", " print(\n", " f\"At information set {infoset.number}, \"\n", - " f\"Alice plays Raise with probability: {mixed_action['Raise']}\"\n", + " f\"Alice plays Bet with probability: {mixed_action['Bet']}\"\n", " f\" and Fold with probability: {mixed_action['Fold']}\"\n", " )" ] @@ -451,7 +451,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 35, "id": "83bbd3e5", "metadata": {}, "outputs": [ @@ -459,9 +459,9 @@ "name": "stdout", "output_type": "stream", "text": [ - "At information set 0, Alice plays Raise with probability: 1\n", + "At information set 0, Alice plays Bet with probability: 1\n", "At information set 0, Alice plays Fold with probability: 0\n", - "At information set 1, Alice plays Raise with probability: 1/3\n", + "At information set 1, Alice plays Bet with probability: 1/3\n", "At information set 1, Alice plays Fold with probability: 2/3\n" ] } @@ -484,7 +484,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 36, "id": "6bf51b38", "metadata": {}, "outputs": [ @@ -497,7 +497,7 @@ "[[Rational(2, 3), Rational(1, 3)]]" ] }, - "execution_count": 17, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } @@ -511,16 +511,16 @@ "id": "e906c4c4", "metadata": {}, "source": [ - "Bob meets Alice’s raise two-thirds of the time.\n", - "The label “Raise” is used in more than one information set for Alice, so in the above we had to specify information sets when indexing.\n", + "Bob Calls Alice’s Bet two-thirds of the time.\n", + "The label “Bet” is used in more than one information set for Alice, so in the above we had to specify information sets when indexing.\n", "\n", "When there is no ambiguity, we can specify action labels directly.\n", - "So for example, because Bob has only one action named “Meet” in the game, we can extract the probability that Bob plays “Meet” by:" + "So for example, because Bob has only one action named “Call” in the game, we can extract the probability that Bob plays “Call” by:" ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 37, "id": "2966e700", "metadata": {}, "outputs": [ @@ -533,13 +533,13 @@ "Rational(2, 3)" ] }, - "execution_count": 18, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "eqm[\"Bob\"][\"Meet\"]" + "eqm[\"Bob\"][\"Call\"]" ] }, { @@ -552,7 +552,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 38, "id": "f5a7f110", "metadata": {}, "outputs": [ @@ -565,13 +565,13 @@ "Rational(2, 3)" ] }, - "execution_count": 19, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "eqm[\"Meet\"]" + "eqm[\"Call\"]" ] }, { @@ -586,7 +586,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 39, "id": "a7d3816d", "metadata": {}, "outputs": [ @@ -594,8 +594,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "When Bob plays Meet his expected payoff is -1\n", - "When Bob plays Pass his expected payoff is -1\n" + "When Bob plays Call his expected payoff is -1\n", + "When Bob plays Fold his expected payoff is -1\n" ] } ], @@ -616,12 +616,12 @@ "\n", "`MixedBehaviorProfile.belief` returns the probability of reaching a node, conditional on its information set being reached.\n", "\n", - "Recall that the two nodes in Bob's only information set are `g.root.children[\"King\"].children[\"Raise\"]` and `g.root.children[\"Queen\"].children[\"Raise\"]`):" + "Recall that the two nodes in Bob's only information set are `g.root.children[\"King\"].children[\"Bet\"]` and `g.root.children[\"Queen\"].children[\"Bet\"]`):" ] }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 40, "id": "4a54b20c", "metadata": {}, "outputs": [ @@ -629,8 +629,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "Bob's belief in reaching the King -> Raise node is: 3/4\n", - "Bob's belief in reaching the Queen -> Raise node is: 1/4\n" + "Bob's belief in reaching the King -> Bet node is: 3/4\n", + "Bob's belief in reaching the Queen -> Bet node is: 1/4\n" ] } ], @@ -647,14 +647,14 @@ "id": "351bb3ce", "metadata": {}, "source": [ - "Bob believes that, conditional on Alice raising, there's a 3/4 chance that she has the King; therefore, the expected payoff to meeting is in fact -1 as computed.\n", + "Bob believes that, conditional on Alice raising, there's a 3/4 chance that she has the King; therefore, the expected payoff to Calling is in fact -1 as computed.\n", "\n", "`MixedBehaviorProfile.infoset_prob` returns the probability that an information set is reached:" ] }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 41, "id": "b250c1cd", "metadata": {}, "outputs": [ @@ -667,7 +667,7 @@ "Rational(2, 3)" ] }, - "execution_count": 22, + "execution_count": 41, "metadata": {}, "output_type": "execute_result" } @@ -686,7 +686,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 42, "id": "6f01846b", "metadata": {}, "outputs": [ @@ -694,8 +694,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "The probability that the node King -> Raise is reached is: 1/2. Bob's expected payoff conditional on reaching this node is -5/3\n", - "The probability that the node Queen -> Raise is reached is: 1/6. Bob's expected payoff conditional on reaching this node is 1\n" + "The probability that the node King -> Bet is reached is: 1/2. Bob's expected payoff conditional on reaching this node is -5/3\n", + "The probability that the node Queen -> Bet is reached is: 1/6. Bob's expected payoff conditional on reaching this node is 1\n" ] } ], @@ -718,7 +718,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 43, "id": "5079d231", "metadata": {}, "outputs": [ @@ -731,7 +731,7 @@ "Rational(1, 3)" ] }, - "execution_count": 24, + "execution_count": 43, "metadata": {}, "output_type": "execute_result" } @@ -742,7 +742,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 44, "id": "c55f2c7a", "metadata": {}, "outputs": [ @@ -755,7 +755,7 @@ "Rational(-1, 3)" ] }, - "execution_count": 25, + "execution_count": 44, "metadata": {}, "output_type": "execute_result" } @@ -782,7 +782,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 45, "id": "d4ecff88", "metadata": {}, "outputs": [ @@ -792,7 +792,7 @@ "['11', '12', '21', '22']" ] }, - "execution_count": 26, + "execution_count": 45, "metadata": {}, "output_type": "execute_result" } @@ -809,14 +809,14 @@ "In the strategic form of this game, Alice has four strategies.\n", "\n", "The generated strategy labels list the action numbers taken at each information set.\n", - "For example, label '11' refers to the strategy gets dealt the King, then raises.\n", + "For example, label '11' refers to the strategy gets dealt the King, then Bets.\n", "\n", "We can therefore apply a method which operates on a strategic game to any game with an extensive representation." ] }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 46, "id": "24e4b6e8", "metadata": {}, "outputs": [ @@ -826,7 +826,7 @@ "NashComputationResult(method='gnm', rational=False, use_strategic=True, equilibria=[[[0.33333333333866677, 0.6666666666613335, 0.0, 0.0], [0.6666666666559997, 0.3333333333440004]]], parameters={'perturbation': [[1.0, 0.0, 0.0, 0.0], [1.0, 0.0]], 'end_lambda': -10.0, 'steps': 100, 'local_newton_interval': 3, 'local_newton_maxits': 10})" ] }, - "execution_count": 27, + "execution_count": 46, "metadata": {}, "output_type": "execute_result" } @@ -848,7 +848,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 47, "id": "d9ffb4b8", "metadata": {}, "outputs": [ @@ -858,7 +858,7 @@ "pygambit.gambit.MixedStrategyProfileDouble" ] }, - "execution_count": 28, + "execution_count": 47, "metadata": {}, "output_type": "execute_result" } @@ -880,7 +880,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 48, "id": "56e2f847", "metadata": {}, "outputs": [ @@ -933,7 +933,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 49, "id": "d18a91f0", "metadata": {}, "outputs": [ @@ -942,14 +942,14 @@ "output_type": "stream", "text": [ "Alice's expected payoffs:\n", - "At information set 0, when playing Raise - gnm: 1.6667, lcp: 1.6667\n", + "At information set 0, when playing Bet - gnm: 1.6667, lcp: 1.6667\n", "At information set 0, when playing Fold - gnm: -1.0000, lcp: -1.0000\n", - "At information set 1, when playing Raise - gnm: -1.0000, lcp: -1.0000\n", + "At information set 1, when playing Bet - gnm: -1.0000, lcp: -1.0000\n", "At information set 1, when playing Fold - gnm: -1.0000, lcp: -1.0000\n", "\n", "Bob's expected payoffs:\n", - "At information set 0, when playing Meet - gnm: -1.0000, lcp: -1.0000\n", - "At information set 0, when playing Pass - gnm: -1.0000, lcp: -1.0000\n", + "At information set 0, when playing Call - gnm: -1.0000, lcp: -1.0000\n", + "At information set 0, when playing Fold - gnm: -1.0000, lcp: -1.0000\n", "\n" ] } @@ -999,7 +999,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 50, "id": "0c55f745", "metadata": {}, "outputs": [ @@ -1009,7 +1009,7 @@ "(Rational(2, 1), Rational(-2, 1))" ] }, - "execution_count": 31, + "execution_count": 50, "metadata": {}, "output_type": "execute_result" } @@ -1031,7 +1031,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 51, "id": "101598c6", "metadata": {}, "outputs": [ @@ -1041,7 +1041,7 @@ "1" ] }, - "execution_count": 32, + "execution_count": 51, "metadata": {}, "output_type": "execute_result" } @@ -1053,7 +1053,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 52, "id": "9b142728", "metadata": {}, "outputs": [ @@ -1063,7 +1063,7 @@ "3.987411578698641e-08" ] }, - "execution_count": 33, + "execution_count": 52, "metadata": {}, "output_type": "execute_result" } @@ -1084,7 +1084,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 53, "id": "ff405409", "metadata": {}, "outputs": [ @@ -1094,7 +1094,7 @@ "9.968528946746602e-09" ] }, - "execution_count": 34, + "execution_count": 53, "metadata": {}, "output_type": "execute_result" } @@ -1115,7 +1115,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 54, "id": "31b0143c", "metadata": {}, "outputs": [ @@ -1125,7 +1125,7 @@ "9.395259956013202e-05" ] }, - "execution_count": 35, + "execution_count": 54, "metadata": {}, "output_type": "execute_result" } @@ -1144,7 +1144,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 55, "id": "7cfba34a", "metadata": {}, "outputs": [ @@ -1152,8 +1152,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 2.84 ms, sys: 19 μs, total: 2.86 ms\n", - "Wall time: 2.86 ms\n" + "CPU times: user 10 ms, sys: 113 μs, total: 10.1 ms\n", + "Wall time: 10.2 ms\n" ] }, { @@ -1162,7 +1162,7 @@ "NashComputationResult(method='logit', rational=False, use_strategic=False, equilibria=[[[[1.0, 0.0], [0.3338351656285655, 0.666164834417892]], [[0.6670407651644307, 0.3329592348608147]]]], parameters={'first_step': 0.03, 'max_accel': 1.1})" ] }, - "execution_count": 36, + "execution_count": 55, "metadata": {}, "output_type": "execute_result" } @@ -1174,7 +1174,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 56, "id": "6f1809a7", "metadata": {}, "outputs": [ @@ -1182,8 +1182,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 5.51 ms, sys: 72 μs, total: 5.58 ms\n", - "Wall time: 5.59 ms\n" + "CPU times: user 20.2 ms, sys: 430 μs, total: 20.6 ms\n", + "Wall time: 21.7 ms\n" ] }, { @@ -1192,7 +1192,7 @@ "NashComputationResult(method='logit', rational=False, use_strategic=False, equilibria=[[[[1.0, 0.0], [0.33333338649882943, 0.6666666135011706]], [[0.6666667065407631, 0.3333332934592369]]]], parameters={'first_step': 0.03, 'max_accel': 1.1})" ] }, - "execution_count": 37, + "execution_count": 56, "metadata": {}, "output_type": "execute_result" } @@ -1214,17 +1214,17 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 57, "id": "414b6f65", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "5.5099518433632255e-05" + "5.509533871672634e-05" ] }, - "execution_count": 38, + "execution_count": 57, "metadata": {}, "output_type": "execute_result" } @@ -1246,17 +1246,17 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 58, "id": "a892dc2b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "5.5099518433632255e-05" + "5.509533871672634e-05" ] }, - "execution_count": 39, + "execution_count": 58, "metadata": {}, "output_type": "execute_result" } @@ -1287,7 +1287,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 59, "id": "2f79695a", "metadata": {}, "outputs": [ @@ -1297,7 +1297,7 @@ "[Rational(1, 3), Rational(1, 3), Rational(1, 3)]" ] }, - "execution_count": 40, + "execution_count": 59, "metadata": {}, "output_type": "execute_result" } @@ -1321,7 +1321,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 60, "id": "5de6acb2", "metadata": {}, "outputs": [ @@ -1331,7 +1331,7 @@ "[Rational(1, 4), Rational(1, 2), Rational(1, 4)]" ] }, - "execution_count": 41, + "execution_count": 60, "metadata": {}, "output_type": "execute_result" } @@ -1354,7 +1354,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 61, "id": "c47d2ab6", "metadata": {}, "outputs": [ @@ -1364,7 +1364,7 @@ "[Decimal('0.25'), Decimal('0.50'), Decimal('0.25')]" ] }, - "execution_count": 42, + "execution_count": 61, "metadata": {}, "output_type": "execute_result" } @@ -1391,7 +1391,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 62, "id": "04329084", "metadata": {}, "outputs": [ @@ -1401,7 +1401,7 @@ "[Rational(1, 4), Rational(1, 2), Rational(1, 4)]" ] }, - "execution_count": 43, + "execution_count": 62, "metadata": {}, "output_type": "execute_result" } @@ -1413,7 +1413,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 63, "id": "9015e129", "metadata": {}, "outputs": [ @@ -1423,7 +1423,7 @@ "[Decimal('0.25'), Decimal('0.50'), Decimal('0.25')]" ] }, - "execution_count": 44, + "execution_count": 63, "metadata": {}, "output_type": "execute_result" } @@ -1448,7 +1448,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 64, "id": "0a019aa5", "metadata": {}, "outputs": [ @@ -1458,7 +1458,7 @@ "[Decimal('0.25'), Decimal('0.5'), Decimal('0.25')]" ] }, - "execution_count": 45, + "execution_count": 64, "metadata": {}, "output_type": "execute_result" } @@ -1478,7 +1478,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 65, "id": "1991d288", "metadata": {}, "outputs": [ @@ -1508,7 +1508,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 66, "id": "b1dc37fd", "metadata": {}, "outputs": [ @@ -1518,7 +1518,7 @@ "1.0" ] }, - "execution_count": 47, + "execution_count": 66, "metadata": {}, "output_type": "execute_result" } @@ -1537,7 +1537,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 67, "id": "dc1edea2", "metadata": {}, "outputs": [ @@ -1547,7 +1547,7 @@ "Decimal('0.3333333333333333')" ] }, - "execution_count": 48, + "execution_count": 67, "metadata": {}, "output_type": "execute_result" } @@ -1566,7 +1566,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 68, "id": "1edd90d6", "metadata": {}, "outputs": [ @@ -1576,7 +1576,7 @@ "Decimal('0.9999999999999999')" ] }, - "execution_count": 49, + "execution_count": 68, "metadata": {}, "output_type": "execute_result" } From 6b75c080426223f6b5849a36867357b2a946ce5e Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 17 Nov 2025 15:55:32 +0000 Subject: [PATCH 211/240] finish merge --- doc/tutorials/01_quickstart.ipynb | 42 --- doc/tutorials/02_extensive_form.ipynb | 76 ---- doc/tutorials/03_poker.ipynb | 100 ------ doc/tutorials/04_starting_points.ipynb | 449 ------------------------ doc/tutorials/05_quantal_response.ipynb | 336 ------------------ 5 files changed, 1003 deletions(-) delete mode 100644 doc/tutorials/04_starting_points.ipynb delete mode 100644 doc/tutorials/05_quantal_response.ipynb diff --git a/doc/tutorials/01_quickstart.ipynb b/doc/tutorials/01_quickstart.ipynb index 33af603e7..a6c80d98d 100644 --- a/doc/tutorials/01_quickstart.ipynb +++ b/doc/tutorials/01_quickstart.ipynb @@ -38,9 +38,6 @@ }, { "cell_type": "code", -<<<<<<< HEAD - "execution_count": 1, -======= "execution_count": null, "id": "c58d382d", "metadata": {}, @@ -54,7 +51,6 @@ { "cell_type": "code", "execution_count": null, ->>>>>>> master "id": "2060c1ed", "metadata": {}, "outputs": [ @@ -70,11 +66,6 @@ } ], "source": [ -<<<<<<< HEAD - "import pygambit as gbt\n", - "\n", -======= ->>>>>>> master "n_strategies = [2, 2]\n", "g = gbt.Game.new_table(n_strategies, title=\"Prisoner's Dilemma\")\n", "type(g)" @@ -198,11 +189,7 @@ }, { "cell_type": "code", -<<<<<<< HEAD - "execution_count": 5, -======= "execution_count": null, ->>>>>>> master "id": "843ba7f3", "metadata": {}, "outputs": [ @@ -222,10 +209,6 @@ } ], "source": [ -<<<<<<< HEAD - "import numpy as np\n", -======= ->>>>>>> master "player1_payoffs = np.array([[-1, -3], [0, -2]])\n", "player2_payoffs = np.transpose(player1_payoffs)\n", "\n", @@ -279,11 +262,7 @@ "Computing the Nash equilibria in one line of code\n", "-----------------------------\n", "\n", -<<<<<<< HEAD - "We can use Gambit to compute the Nash equilibria for our Prisoner's Dilemma game in a single line of code; a Nash equilibrium tells us the strategies that players can adopt to maximize their payoffs, given the setup of the game.\n", -======= "We can use Gambit to compute the Nash equilibria for our Prisoner's Dilemma game in a single line of code. A Nash equilibrium describes a profile of strategies, one for each player, such that each player is maximizing their payoff given the strategies the other players are adopting.\n", ->>>>>>> master "\n", "For a two-player normal form game, let's use `enumpure_solve` to search for a pure-strategy Nash equilibria.\n", "The returned object will be a `NashComputationResult`." @@ -454,20 +433,12 @@ }, { "cell_type": "code", -<<<<<<< HEAD - "execution_count": 12, -======= "execution_count": null, ->>>>>>> master "id": "f58eaa77", "metadata": {}, "outputs": [], "source": [ -<<<<<<< HEAD - "g.to_nfg(\"games/prisoners_dilemma.nfg\")" -======= "# g.to_nfg(\"prisoners_dilemma.nfg\")" ->>>>>>> master ] }, { @@ -480,11 +451,7 @@ }, { "cell_type": "code", -<<<<<<< HEAD - "execution_count": 13, -======= "execution_count": null, ->>>>>>> master "id": "4119a2ac", "metadata": {}, "outputs": [ @@ -500,22 +467,13 @@ } ], "source": [ -<<<<<<< HEAD - "restored_game = gbt.read_nfg(\"games/prisoners_dilemma.nfg\")\n", - "type(restored_game)" -======= "# gbt.read_nfg(\"test_games/prisoners_dilemma.nfg\")" ->>>>>>> master ] } ], "metadata": { "kernelspec": { -<<<<<<< HEAD - "display_name": "gambitvenv313", -======= "display_name": "Python 3 (ipykernel)", ->>>>>>> master "language": "python", "name": "python3" }, diff --git a/doc/tutorials/02_extensive_form.ipynb b/doc/tutorials/02_extensive_form.ipynb index e44f487bd..99c5bf9b3 100644 --- a/doc/tutorials/02_extensive_form.ipynb +++ b/doc/tutorials/02_extensive_form.ipynb @@ -117,31 +117,6 @@ }, { "cell_type": "markdown", -<<<<<<< HEAD - "id": "43e28b1e", - "metadata": {}, - "source": [ - "We can also optionally specify labels for nodes when defining a game.\n", - "This isn't strictly necessary, but doing so makes the game easier to understand and work with than referring to nodes by their indices.\n", - "\n", - "Here we'll label the nodes according to the actions that precede them in the game tree." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "65b21e37", - "metadata": {}, - "outputs": [], - "source": [ - "for node in g.root.children:\n", - " node.label = node.prior_action.label" - ] - }, - { - "cell_type": "markdown", -======= ->>>>>>> master "id": "bba61594", "metadata": {}, "source": [ @@ -150,11 +125,7 @@ }, { "cell_type": "code", -<<<<<<< HEAD - "execution_count": 6, -======= "execution_count": 5, ->>>>>>> master "id": "47c4a31b", "metadata": {}, "outputs": [], @@ -163,13 +134,7 @@ " g.root.children[\"Trust\"],\n", " player=\"Seller\",\n", " actions=[\"Honor\", \"Abuse\"]\n", -<<<<<<< HEAD - ")\n", - "for node in g.root.children[\"Trust\"].children:\n", - " node.label = node.prior_action.label" -======= ")" ->>>>>>> master ] }, { @@ -186,11 +151,7 @@ }, { "cell_type": "code", -<<<<<<< HEAD - "execution_count": 7, -======= "execution_count": 6, ->>>>>>> master "id": "716e9b9a", "metadata": {}, "outputs": [], @@ -214,11 +175,7 @@ }, { "cell_type": "code", -<<<<<<< HEAD - "execution_count": 8, -======= "execution_count": 7, ->>>>>>> master "id": "695b1aad", "metadata": {}, "outputs": [], @@ -242,11 +199,7 @@ }, { "cell_type": "code", -<<<<<<< HEAD - "execution_count": 9, -======= "execution_count": 8, ->>>>>>> master "id": "0704ef86", "metadata": {}, "outputs": [], @@ -286,20 +239,12 @@ }, { "cell_type": "code", -<<<<<<< HEAD - "execution_count": 10, -======= "execution_count": 9, ->>>>>>> master "id": "37c51152", "metadata": {}, "outputs": [], "source": [ -<<<<<<< HEAD - "g.to_efg(\"games/trust_game.efg\")" -======= "# g.to_efg(\"trust_game.efg\")" ->>>>>>> master ] }, { @@ -312,33 +257,12 @@ }, { "cell_type": "code", -<<<<<<< HEAD - "execution_count": 11, - "id": "0d86a750", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "pygambit.gambit.Game" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "restored_game = gbt.read_efg(\"games/trust_game.efg\")\n", - "type(restored_game)" -======= "execution_count": 10, "id": "0d86a750", "metadata": {}, "outputs": [], "source": [ "# gbt.read_efg(\"trust_game.efg\")" ->>>>>>> master ] }, { diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_poker.ipynb index 1eede49b9..14292df75 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_poker.ipynb @@ -18,22 +18,13 @@ "\n", "In our version of the game, there are two players, **Alice** and **Bob**, and a deck of cards, with equal numbers of **King** and **Queen** cards.\n", "\n", -<<<<<<< HEAD - "- The game begins with each player putting $1 in the pot.\n", - "- A card is dealt at random to Alice\n", -======= "- The game begins with each player putting \\$1 in the pot.\n", " - A card is dealt at random to Alice\n", ->>>>>>> master " - Alice observes her card\n", " - Bob does not observe the card\n", "- Alice then chooses either to **Raise** or to **Fold**.\n", " - If she chooses to Fold, Bob wins the pot and the game ends.\n", -<<<<<<< HEAD - " - If she chooses to Raise, she adds another $1 to the pot.\n", -======= " - If she chooses to Raise, she adds another \\$1 to the pot.\n", ->>>>>>> master "- Bob then chooses either to **Meet** or **Pass**.\n", " - If he chooses to Pass, Alice wins the pot and the game ends.\n", " - If he chooses to Meet, he adds another $1 to the pot.\n", @@ -68,11 +59,7 @@ "outputs": [], "source": [ "g = gbt.Game.new_tree(\n", -<<<<<<< HEAD - " players=[\"Alice\", \"Bob\"], \n", -======= " players=[\"Alice\", \"Bob\"],\n", ->>>>>>> master " title=\"One card poker\"\n", ")" ] @@ -118,13 +105,7 @@ "\n", "The first step in this game is that Alice is dealt a card which could be a King or Queen, each with probability 1/2.\n", "\n", -<<<<<<< HEAD - "To simulate this in Gambit, we create a chance player move at the root node of the game.\n", - "\n", - "Note: throughout this tutorial, we'll also label nodes according to the actions that precede them in the game tree to improve code readability." -======= "To simulate this in Gambit, we create a chance player move at the root node of the game." ->>>>>>> master ] }, { @@ -138,13 +119,7 @@ " g.root,\n", " player=g.players.chance,\n", " actions=[\"King\", \"Queen\"] # By default, chance actions have equal probabilities\n", -<<<<<<< HEAD - ")\n", - "for node in g.root.children: # Add labels to the new child nodes to improve code readability\n", - " node.label = node.prior_action.label" -======= ")" ->>>>>>> master ] }, { @@ -173,13 +148,7 @@ " node,\n", " player=\"Alice\",\n", " actions=[\"Raise\", \"Fold\"]\n", -<<<<<<< HEAD - " )\n", - " for child_node in node.children:\n", - " child_node.label = child_node.prior_action.label" -======= " )" ->>>>>>> master ] }, { @@ -212,13 +181,7 @@ " g.root.children[\"King\"].children[\"Raise\"],\n", " player=\"Bob\",\n", " actions=[\"Meet\", \"Pass\"]\n", -<<<<<<< HEAD - ")\n", - "for node in g.root.children[\"King\"].children[\"Raise\"].children:\n", - " node.label = node.prior_action.label" -======= ")" ->>>>>>> master ] }, { @@ -239,13 +202,7 @@ "g.append_infoset(\n", " g.root.children[\"Queen\"].children[\"Raise\"],\n", " infoset=g.root.children[\"King\"].children[\"Raise\"].infoset\n", -<<<<<<< HEAD - ")\n", - "for node in g.root.children[\"Queen\"].children[\"Raise\"].children:\n", - " node.label = node.prior_action.label" -======= ")" ->>>>>>> master ] }, { @@ -386,12 +343,8 @@ } ], "source": [ -<<<<<<< HEAD - "# Note: MixedBehaviorProfileRational is a subclass of MixedBehaviorProfile that uses rational numbers for probabilities.\n", -======= "# MixedBehaviorProfileRational is a subclass of MixedBehaviorProfile that uses\n", "# rational numbers for probabilities.\n", ->>>>>>> master "type(eqm)" ] }, @@ -641,13 +594,8 @@ "name": "stdout", "output_type": "stream", "text": [ -<<<<<<< HEAD - "When Bob plays Meet he can expect the payoff: -1\n", - "When Bob plays Pass he can expect the payoff: -1\n" -======= "When Bob plays Meet his expected payoff is -1\n", "When Bob plays Pass his expected payoff is -1\n" ->>>>>>> master ] } ], @@ -655,11 +603,7 @@ "# Remember that Bob has a single information set\n", "for action in g.players[\"Bob\"].infosets[0].actions:\n", " print(\n", -<<<<<<< HEAD - " f\"When Bob plays {action.label} he can expect the payoff: {eqm.action_value(action)}\"\n", -======= " f\"When Bob plays {action.label} his expected payoff is {eqm.action_value(action)}\"\n", ->>>>>>> master " )" ] }, @@ -693,12 +637,8 @@ "source": [ "for node in g.players[\"Bob\"].infosets[0].members:\n", " print(\n", -<<<<<<< HEAD - " f\"Bob's belief in reaching the {node.parent.label} -> {node.label} node is: {eqm.belief(node)}\"\n", -======= " f\"Bob's belief in reaching the {node.parent.prior_action.label} -> \"\n", " f\"{node.prior_action.label} node is: {eqm.belief(node)}\"\n", ->>>>>>> master " )" ] }, @@ -754,27 +694,17 @@ "name": "stdout", "output_type": "stream", "text": [ -<<<<<<< HEAD - "The probability that the node King -> Raise is reached is: 1/2. Bob's expected payoff conditional on reaching this node is: -5/3\n", - "The probability that the node Queen -> Raise is reached is: 1/6. Bob's expected payoff conditional on reaching this node is: 1\n" -======= "The probability that the node King -> Raise is reached is: 1/2. Bob's expected payoff conditional on reaching this node is -5/3\n", "The probability that the node Queen -> Raise is reached is: 1/6. Bob's expected payoff conditional on reaching this node is 1\n" ->>>>>>> master ] } ], "source": [ "for node in g.players[\"Bob\"].infosets[0].members:\n", " print(\n", -<<<<<<< HEAD - " f\"The probability that the node {node.parent.label} -> {node.label} is reached is: {eqm.realiz_prob(node)}. \",\n", - " f\"Bob's expected payoff conditional on reaching this node is: {eqm.node_value(\"Bob\", node)}\"\n", -======= " f\"The probability that the node {node.parent.prior_action.label} -> \"\n", " f\"{node.prior_action.label} is reached is: {eqm.realiz_prob(node)}. \",\n", " f\"Bob's expected payoff conditional on reaching this node is {eqm.node_value('Bob', node)}\"\n", ->>>>>>> master " )" ] }, @@ -1222,13 +1152,8 @@ "name": "stdout", "output_type": "stream", "text": [ -<<<<<<< HEAD - "CPU times: user 10.5 ms, sys: 269 μs, total: 10.7 ms\n", - "Wall time: 10.7 ms\n" -======= "CPU times: user 2.84 ms, sys: 19 μs, total: 2.86 ms\n", "Wall time: 2.86 ms\n" ->>>>>>> master ] }, { @@ -1257,13 +1182,8 @@ "name": "stdout", "output_type": "stream", "text": [ -<<<<<<< HEAD - "CPU times: user 20.1 ms, sys: 610 μs, total: 20.7 ms\n", - "Wall time: 21.5 ms\n" -======= "CPU times: user 5.51 ms, sys: 72 μs, total: 5.58 ms\n", "Wall time: 5.59 ms\n" ->>>>>>> master ] }, { @@ -1301,11 +1221,7 @@ { "data": { "text/plain": [ -<<<<<<< HEAD - "5.509533871672634e-05" -======= "5.5099518433632255e-05" ->>>>>>> master ] }, "execution_count": 38, @@ -1314,14 +1230,10 @@ } ], "source": [ -<<<<<<< HEAD - "gbt.nash.liap_solve(g.mixed_behavior_profile(), maxregret=1.0e-4).equilibria[0].max_regret() / (g.max_payoff - g.min_payoff)" -======= "(\n", " gbt.nash.liap_solve(g.mixed_behavior_profile(), maxregret=1.0e-4)\n", " .equilibria[0].max_regret() / (g.max_payoff - g.min_payoff)\n", ")" ->>>>>>> master ] }, { @@ -1341,11 +1253,7 @@ { "data": { "text/plain": [ -<<<<<<< HEAD - "5.509533871672634e-05" -======= "5.5099518433632255e-05" ->>>>>>> master ] }, "execution_count": 39, @@ -1358,14 +1266,10 @@ " outcome[\"Alice\"] = outcome[\"Alice\"] * 2\n", " outcome[\"Bob\"] = outcome[\"Bob\"] * 2\n", "\n", -<<<<<<< HEAD - "gbt.nash.liap_solve(g.mixed_behavior_profile(), maxregret=1.0e-4).equilibria[0].max_regret() / (g.max_payoff - g.min_payoff)" -======= "(\n", " gbt.nash.liap_solve(g.mixed_behavior_profile(), maxregret=1.0e-4)\n", " .equilibria[0].max_regret() / (g.max_payoff - g.min_payoff)\n", ")" ->>>>>>> master ] }, { @@ -1708,11 +1612,7 @@ ], "metadata": { "kernelspec": { -<<<<<<< HEAD - "display_name": "gambitvenv313", -======= "display_name": "Python 3 (ipykernel)", ->>>>>>> master "language": "python", "name": "python3" }, diff --git a/doc/tutorials/04_starting_points.ipynb b/doc/tutorials/04_starting_points.ipynb deleted file mode 100644 index c3555943c..000000000 --- a/doc/tutorials/04_starting_points.ipynb +++ /dev/null @@ -1,449 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "6818538c", - "metadata": {}, - "source": [ - "# 4) Generating starting points for algorithms\n", - "\n", - "In the previous tutorial, we demonstrated how to calculate the Nash equilibria of a game set up using Gambit and interpret the `MixedStrategyProfile` or `MixedBehaviorProfile` objects returned by the solver.\n", - "In this tutorial, we will demonstrate how to use a `MixedStrategyProfile` or `MixedBehaviorProfile` as an initial condition, a starting point, for some methods of computing Nash equilibria.\n", - "The equilibria found will depend on which starting point is selected.\n", - "\n", - "To facilitate generating starting points, Gambit's `Game` class provides the methods `random_strategy_profile` and `random_behavior_profile`, to generate profiles which are drawn from the uniform distribution on the product of simplices. In other words, the profiles are sampled from a uniform distribution so that each possible mixed strategy profile (or mixed behaviour profile) is equally likely to be selected.\n", - "\n", - "As an example, we consider a three-player game from McKelvey and McLennan (1997), in which each player has two strategies.\n", - "This game has nine equilibria in total, and in particular has two totally mixed Nash equilibria, which is the maximum possible number of regular totally mixed equilbria in games of this size.\n", - "\n", - "Pure and mixed strategies:\n", - "\n", - "- **Pure strategy**: A player chooses the action with probability 1 (always picks the same move)\n", - "- **Mixed strategy**: A player assigns probabilities to their available actions (some actions may have probability 0)\n", - "- **Totally mixed strategy**: Mixed strategy where every available action is chosen with strictly positive probability (no action has probability 0)" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "493cafb8", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "

2x2x2 Example from McKelvey-McLennan, with 9 Nash equilibria, 2 totally mixed

\n", - "
Subtable with strategies:
Player 3 Strategy 1
12
19,8,120,0,0
20,0,09,8,2
Subtable with strategies:
Player 3 Strategy 2
12
10,0,03,4,6
23,4,60,0,0
\n" - ], - "text/plain": [ - "Game(title='2x2x2 Example from McKelvey-McLennan, with 9 Nash equilibria, 2 totally mixed')" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import pygambit as gbt\n", - "g = gbt.read_nfg(\"../2x2x2.nfg\")\n", - "g" - ] - }, - { - "cell_type": "markdown", - "id": "1e68a5bd", - "metadata": {}, - "source": [ - "We first consider finding Nash equilibria in this game using `liap_solve`.\n", - "If we run this method starting from the centroid (uniform randomization across all strategies for each player), `liap_solve` finds one of the totally-mixed equilibria. Without providing a list to `Game.mixed_strategy_profile`, the method will return the centroid mixed strategy profile." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "b32adf22", - "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[[0.5, 0.5],[0.5, 0.5],[0.5, 0.5]\\right]$" - ], - "text/plain": [ - "[[0.5, 0.5], [0.5, 0.5], [0.5, 0.5]]" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "centroid_start = g.mixed_strategy_profile()\n", - "centroid_start" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "c0b62502", - "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[[0.3999999026224355, 0.6000000973775644],[0.49999981670851457, 0.5000001832914854],[0.3333329684317666, 0.6666670315682334]\\right]$" - ], - "text/plain": [ - "[[0.3999999026224355, 0.6000000973775644], [0.49999981670851457, 0.5000001832914854], [0.3333329684317666, 0.6666670315682334]]" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "gbt.nash.liap_solve(centroid_start).equilibria[0]" - ] - }, - { - "cell_type": "markdown", - "id": "df507eda", - "metadata": {}, - "source": [ - "As you can see, in this totally mixed strategy equilibrium, no action has probability 0.\n", - "\n", - "Which equilibrium is found depends on the starting point.\n", - "With a different starting point, we can find, for example, one of the pure-strategy equilibria." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "cf22064e", - "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[[0.9, 0.1],[0.9, 0.1],[0.9, 0.1]\\right]$" - ], - "text/plain": [ - "[[0.9, 0.1], [0.9, 0.1], [0.9, 0.1]]" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "new_start = g.mixed_strategy_profile([[.9, .1], [.9, .1], [.9, .1]])\n", - "new_start" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "08a22505", - "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[[1.0, 0.0],[0.9999999944750116, 5.524988446860122e-09],[0.9999999991845827, 8.154173380971617e-10]\\right]$" - ], - "text/plain": [ - "[[1.0, 0.0], [0.9999999944750116, 5.524988446860122e-09], [0.9999999991845827, 8.154173380971617e-10]]" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "gbt.nash.liap_solve(new_start).equilibria[0]" - ] - }, - { - "cell_type": "markdown", - "id": "3977088f", - "metadata": {}, - "source": [ - "To search for more equilibria, we can instead generate strategy profiles at random." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "cfbc2714", - "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[[0.7187961367413075, 0.2812038632586925],[0.1291105793795489, 0.8708894206204512],[0.12367227612277114, 0.876327723877229]\\right]$" - ], - "text/plain": [ - "[[0.7187961367413075, 0.2812038632586925], [0.1291105793795489, 0.8708894206204512], [0.12367227612277114, 0.876327723877229]]" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "random_start = g.random_strategy_profile()\n", - "random_start" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "eb53062a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[[0.5000003932357804, 0.4999996067642197],[0.3999998501612186, 0.6000001498387814],[0.2500001518113522, 0.7499998481886477]\\right]$" - ], - "text/plain": [ - "[[0.5000003932357804, 0.4999996067642197], [0.3999998501612186, 0.6000001498387814], [0.2500001518113522, 0.7499998481886477]]" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "gbt.nash.liap_solve(random_start).equilibria[0]" - ] - }, - { - "cell_type": "markdown", - "id": "185c6abb", - "metadata": {}, - "source": [ - "Note that methods which take starting points do record the starting points used in the result object returned.\n", - "However, the random profiles which are generated will differ in different runs of a program.\n", - "\n", - "To support making the generation of random strategy profiles reproducible, and for finer-grained control of the generation of these profiles if desired, `Game.random_strategy_profile` and `Game.random_behavior_profile` optionally take a `numpy.random.Generator` object, which is used as the source of randomness for creating the profile." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "4293343a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import numpy as np\n", - "gen = np.random.default_rng(seed=1234567890)\n", - "p1 = g.random_strategy_profile(gen=gen)\n", - "gen = np.random.default_rng(seed=1234567890)\n", - "p2 = g.random_strategy_profile(gen=gen)\n", - "p1 == p2" - ] - }, - { - "cell_type": "markdown", - "id": "a98e0b66", - "metadata": {}, - "source": [ - "When creating profiles in which probabilities are represented as floating-point numbers, `Game.random_strategy_profile` and `Game.random_behavior_profile` internally use the Dirichlet distribution for each simplex to generate correctly uniform sampling over probabilities.\n", - "However, in some applications generation of random profiles with probabilities as rational numbers is desired.\n", - "\n", - "For example, `simpdiv_solve` takes such a starting point, because it operates by successively refining a triangulation over the space of mixed strategy profiles.\n", - "`Game.random_strategy_profile` and `Game.random_behavior_profile` both take an optional parameter `denom` which, if specified, generates a profile in which probabilities are generated uniformly from the grid in each simplex in which all probabilities have denominator `denom`.\n", - "\n", - "These can then be used in conjunction with `simpdiv_solve` to search for equilibria from different starting points." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "e9716ae0", - "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[\\left[\\frac{1}{2},\\frac{1}{2}\\right],\\left[\\frac{7}{10},\\frac{3}{10}\\right],\\left[0,1\\right]\\right]$" - ], - "text/plain": [ - "[[Rational(1, 2), Rational(1, 2)], [Rational(7, 10), Rational(3, 10)], [Rational(0, 1), Rational(1, 1)]]" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "gen = np.random.default_rng(seed=1234567890)\n", - "rsp = g.random_strategy_profile(denom=10, gen=gen)\n", - "rsp" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "c153918a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[\\left[1,0\\right],\\left[1,0\\right],\\left[1,0\\right]\\right]$" - ], - "text/plain": [ - "[[Rational(1, 1), Rational(0, 1)], [Rational(1, 1), Rational(0, 1)], [Rational(1, 1), Rational(0, 1)]]" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "gbt.nash.simpdiv_solve(rsp).equilibria[0]" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "70a57b26", - "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[\\left[\\frac{1}{10},\\frac{9}{10}\\right],\\left[\\frac{3}{5},\\frac{2}{5}\\right],\\left[\\frac{3}{5},\\frac{2}{5}\\right]\\right]$" - ], - "text/plain": [ - "[[Rational(1, 10), Rational(9, 10)], [Rational(3, 5), Rational(2, 5)], [Rational(3, 5), Rational(2, 5)]]" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "rsp1 = g.random_strategy_profile(denom=10, gen=gen)\n", - "rsp1" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "11995836", - "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[\\left[0,1\\right],\\left[0,1\\right],\\left[1,0\\right]\\right]$" - ], - "text/plain": [ - "[[Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1)], [Rational(1, 1), Rational(0, 1)]]" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "gbt.nash.simpdiv_solve(rsp1).equilibria[0]" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "2791ffe2", - "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[\\left[\\frac{7}{10},\\frac{3}{10}\\right],\\left[\\frac{4}{5},\\frac{1}{5}\\right],\\left[0,1\\right]\\right]$" - ], - "text/plain": [ - "[[Rational(7, 10), Rational(3, 10)], [Rational(4, 5), Rational(1, 5)], [Rational(0, 1), Rational(1, 1)]]" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "rsp2 = g.random_strategy_profile(denom=10, gen=gen)\n", - "rsp2" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "2ab2caa4", - "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[\\left[1,0\\right],\\left[1,0\\right],\\left[1,0\\right]\\right]$" - ], - "text/plain": [ - "[[Rational(1, 1), Rational(0, 1)], [Rational(1, 1), Rational(0, 1)], [Rational(1, 1), Rational(0, 1)]]" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "gbt.nash.simpdiv_solve(rsp2).equilibria[0]" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "gambitvenv313", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.13.5" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/doc/tutorials/05_quantal_response.ipynb b/doc/tutorials/05_quantal_response.ipynb deleted file mode 100644 index d04b94ae7..000000000 --- a/doc/tutorials/05_quantal_response.ipynb +++ /dev/null @@ -1,336 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "ef7d397e", - "metadata": {}, - "source": [ - "# 5) Quantal response equilibria\n", - "\n", - "Gambit implements the idea of [McKPal95](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts) and [McKPal98](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts) to compute Nash equilibria via path-following a branch of the logit quantal response equilibrium (LQRE) correspondence using the function `logit_solve`.\n", - "As an example, we will consider an asymmetric matching pennies game from [Och95](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts) as analyzed in [McKPal95](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts)." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "ebc4c60e", - "metadata": {}, - "outputs": [], - "source": [ - "import pygambit as gbt" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "202786ef", - "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[[0.5000000234106035, 0.49999997658939654],[0.19998563837426647, 0.8000143616257336]\\right]$" - ], - "text/plain": [ - "[[0.5000000234106035, 0.49999997658939654], [0.19998563837426647, 0.8000143616257336]]" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "g = gbt.Game.from_arrays(\n", - " [[1.1141, 0], [0, 0.2785]],\n", - " [[0, 1.1141], [1.1141, 0]],\n", - " title=\"Ochs (1995) asymmetric matching pennies as transformed in McKelvey-Palfrey (1995)\"\n", - ")\n", - "gbt.nash.logit_solve(g).equilibria[0]" - ] - }, - { - "cell_type": "markdown", - "id": "1ce76964", - "metadata": {}, - "source": [ - "`logit_solve` returns only the limiting (approximate) Nash equilibrium found.\n", - "Profiles along the QRE correspondence are frequently of interest in their own right.\n", - "Gambit offers several functions for more detailed examination of branches of the QRE correspondence.\n", - "\n", - "The function `logit_solve_branch` uses the same procedure as `logit_solve`, but returns a list of LQRE profiles computed along the branch instead of just the limiting approximate Nash equilibrium." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "840d9203", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "193" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "qres = gbt.qre.logit_solve_branch(g)\n", - "len(qres)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "be419db2", - "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[[0.5, 0.5],[0.5, 0.5]\\right]$" - ], - "text/plain": [ - "[[0.5, 0.5], [0.5, 0.5]]" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "qres[0].profile" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "582838de", - "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[[0.5182276540742868, 0.4817723459257562],[0.49821668880066783, 0.5017833111993909]\\right]$" - ], - "text/plain": [ - "[[0.5182276540742868, 0.4817723459257562], [0.49821668880066783, 0.5017833111993909]]" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "qres[5].profile" - ] - }, - { - "cell_type": "markdown", - "id": "61e86949", - "metadata": {}, - "source": [ - "`logit_solve_branch` uses an adaptive step size heuristic to find points on the branch.\n", - "The parameters `first_step` and `max_accel` are used to adjust the initial step size and the maximum rate at which the step size changes adaptively.\n", - "The step size used is computed as the distance traveled along the path, and, importantly, not the distance as measured by changes in the precision parameter lambda.\n", - "As a result the lambda values for which profiles are computed cannot be controlled in advance.\n", - "\n", - "In some situations, the LQRE profiles at specified values of lambda are of interest.\n", - "For this, Gambit provides `logit_solve_lambda`.\n", - "This function provides accurate values of strategy profiles at one or more specified values of lambda." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "ce354b49", - "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[[0.5867840364385154, 0.4132159635614846],[0.4518070316997103, 0.5481929683002897]\\right]$" - ], - "text/plain": [ - "[[0.5867840364385154, 0.4132159635614846], [0.4518070316997103, 0.5481929683002897]]" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "qres = gbt.qre.logit_solve_lambda(g, lam=[1, 2, 3])\n", - "qres[0].profile" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "280fa428", - "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[[0.6175219458400859, 0.3824780541599141],[0.3719816648492249, 0.6280183351507751]\\right]$" - ], - "text/plain": [ - "[[0.6175219458400859, 0.3824780541599141], [0.3719816648492249, 0.6280183351507751]]" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "qres[1].profile" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "3dee57df", - "metadata": {}, - "outputs": [ - { - "data": { - "text/latex": [ - "$\\left[[0.6168968501329284, 0.3831031498670716],[0.31401636202001226, 0.6859836379799877]\\right]$" - ], - "text/plain": [ - "[[0.6168968501329284, 0.3831031498670716], [0.31401636202001226, 0.6859836379799877]]" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "qres[2].profile" - ] - }, - { - "cell_type": "markdown", - "id": "5601be33", - "metadata": {}, - "source": [ - "LQRE are frequently taken to data by using maximum likelihood estimation to find the LQRE profile that best fits an observed profile of play.\n", - "This is provided by the function `logit_estimate`.\n", - "We replicate the analysis of a block of the data from [Och95](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts) for which [McKPal95](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts) estimated an LQRE." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "b34a9278", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "pygambit.qre.LogitQREMixedStrategyFitResult" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "data = g.mixed_strategy_profile([[128*0.527, 128*(1-0.527)], [128*0.366, 128*(1-0.366)]])\n", - "fit = gbt.qre.logit_estimate(data)\n", - "type(fit)" - ] - }, - { - "cell_type": "markdown", - "id": "12534924", - "metadata": {}, - "source": [ - "The returned `LogitQREMixedStrategyFitResult` object contains the results of the estimation.\n", - "The results replicate those reported in [McKPal95](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts), including the estimated value of lambda, the QRE profile probabilities, and the log-likelihood.\n", - "\n", - "Because `data` contains the empirical counts of play, and not just frequencies, the resulting log-likelihood is correct for use in likelihoood-ratio tests.\n", - "[[1](#f1)]" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "e10e9abd", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1.8456097536855862\n", - "[[0.615651314427859, 0.3843486855721409], [0.38329094004562914, 0.6167090599543709]]\n", - "-174.76453191087447\n" - ] - } - ], - "source": [ - "print(fit.lam)\n", - "print(fit.profile)\n", - "print(fit.log_like)" - ] - }, - { - "cell_type": "markdown", - "id": "0316795f", - "metadata": {}, - "source": [ - "All of the functions above also support working with the agent LQRE of [McKPal98](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts).\n", - "Agent QRE are computed as the default behavior whenever the game has a extensive (tree) representation.\n", - "\n", - "For `logit_solve`, `logit_solve_branch`, and `logit_solve_lambda`, this can be overriden by passing `use_strategic=True`;\n", - "this will compute LQRE using the reduced strategy set of the game instead.\n", - "\n", - "Likewise, `logit_estimate` will perform estimation using agent LQRE if the data passed are a `MixedBehaviorProfile`, and will return a `LogitQREMixedBehaviorFitResult` object." - ] - }, - { - "cell_type": "markdown", - "id": "486f68a7", - "metadata": {}, - "source": [ - "**Footnotes:**\n", - "\n", - " The log-likelihoods quoted in [McKPal95](https://gambitproject.readthedocs.io/en/latest/biblio.html#general-game-theory-articles-and-texts) are exactly a factor of 10 larger than those obtained by replicating the calculation." - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "gambitvenv313", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.13.5" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} From 5381d6c83d4c925a0c54def49105ae04ed486a17 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 17 Nov 2025 15:57:11 +0000 Subject: [PATCH 212/240] merge fixes --- doc/developer.contributing.rst | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/doc/developer.contributing.rst b/doc/developer.contributing.rst index 4a5adfd94..96d66953f 100644 --- a/doc/developer.contributing.rst +++ b/doc/developer.contributing.rst @@ -24,8 +24,6 @@ When reporting a bug, please be sure to include the following: .. _contributing-code: -.. _contributing-code: - Contributing code ---------------- @@ -109,7 +107,7 @@ You can also build the documentation locally to preview your changes before subm cd doc make html # or make livehtml for live server with auto-rebuild -5. Open ``doc/_build/html/index.html`` in your browser to view the documentation. +4. Open ``doc/_build/html/index.html`` in your browser to view the documentation. From f351a2e5ad478aa97771a4b49ac1f1a704d51f96 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 17 Nov 2025 15:57:54 +0000 Subject: [PATCH 213/240] merge fixes --- doc/pygambit.external_programs.rst | 31 ------------------------------ 1 file changed, 31 deletions(-) delete mode 100644 doc/pygambit.external_programs.rst diff --git a/doc/pygambit.external_programs.rst b/doc/pygambit.external_programs.rst deleted file mode 100644 index 8877ad241..000000000 --- a/doc/pygambit.external_programs.rst +++ /dev/null @@ -1,31 +0,0 @@ -Using external programs to compute Nash equilibria -================================================== - -Because the problem of finding Nash equilibria can be expressed in various -mathematical formulations (see [McKMcL96]_), it is helpful to make use -of other software packages designed specifically for solving those problems. - -There are currently two integrations offered for using external programs to solve -for equilibria: - -- :py:func:`.enummixed_solve` supports enumeration of equilibria in - two-player games via `lrslib`. [#lrslib]_ -- :py:func:`.enumpoly_solve` supports computation of totally-mixed equilibria - on supports in strategic games via `PHCpack`. [#phcpack]_ - -For both calls, using the external program requires passing the path to the -executable (via the `lrsnash_path` and `phcpack_path` arguments, respectively). - -The user must download and compile or install these programs on their own; these are -not packaged with Gambit. The solver calls do take care of producing the required -input files, and reading the output to convert into Gambit objects for further -processing. - - -.. [#lrslib] http://cgm.cs.mcgill.ca/~avis/C/lrs.html - -.. [#phcpack] https://homepages.math.uic.edu/~jan/PHCpack/phcpack.html - -.. [McKMcL96] McKelvey, Richard D. and McLennan, Andrew M. (1996) Computation of equilibria - in finite games. In Handbook of Computational Economics, Volume 1, - pages 87-142. From fa3d22d510d3ed8d6d046a7276e1927f1c387e57 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 17 Nov 2025 15:58:43 +0000 Subject: [PATCH 214/240] merge fixes --- doc/pygambit.rst | 61 +----------------------------------------------- 1 file changed, 1 insertion(+), 60 deletions(-) diff --git a/doc/pygambit.rst b/doc/pygambit.rst index ce28e2601..b77da9f84 100644 --- a/doc/pygambit.rst +++ b/doc/pygambit.rst @@ -67,66 +67,7 @@ CLI command PyGambit function API documentation ---------------- - -For newcomers to Gambit, we recommend reading through the PyGambit tutorials, which demonstrate the API's key capabilities for analyzing and solving Game Theory games. -These tutorials are available to be run interactively as Jupyter notebooks, see :ref:`local_tutorials`. -All of the tutorials assume a basic knowledge of programming in Python. - -Tutorials **1-3** assume no prior knowledge of Game Theory or the PyGambit API and provide detailed explanations of the concepts and code. - -.. toctree:: - :maxdepth: 2 - - tutorials/01_quickstart - tutorials/02_extensive_form - tutorials/03_poker - -Tutorials **4-5** assume some familiarity with the PyGambit API and Game Theory terminology and concepts including: - -- Nash equilibria -- Pure and mixed strategies -- Simplex representations of available strategies -- Logit quantal response equilibrium (LQRE) correspondence - -.. toctree:: - :maxdepth: 2 - - tutorials/04_starting_points - tutorials/05_quantal_response - tutorials/06_gambit_with_openspiel - -You may also wish to read: - -.. toctree:: - :maxdepth: 2 - - tutorials/running_locally - pygambit.external_programs - -Algorithms for computing Nash equilibria ----------------------------------------- - -Interfaces to algorithms for computing Nash equilibria are provided in :py:mod:`pygambit.nash`. -The table below summarizes the available PyGambit functions and the corresponding Gambit CLI commands. - -========================================== ======================================== -CLI command PyGambit function -========================================== ======================================== -:ref:`gambit-enumpure ` :py:func:`pygambit.nash.enumpure_solve` -:ref:`gambit-enummixed ` :py:func:`pygambit.nash.enummixed_solve` -:ref:`gambit-lp ` :py:func:`pygambit.nash.lp_solve` -:ref:`gambit-lcp ` :py:func:`pygambit.nash.lcp_solve` -:ref:`gambit-liap ` :py:func:`pygambit.nash.liap_solve` -:ref:`gambit-logit ` :py:func:`pygambit.nash.logit_solve` -:ref:`gambit-simpdiv ` :py:func:`pygambit.nash.simpdiv_solve` -:ref:`gambit-ipa ` :py:func:`pygambit.nash.ipa_solve` -:ref:`gambit-gnm ` :py:func:`pygambit.nash.gnm_solve` -========================================== ======================================== - -API documentation ----------------- - .. toctree:: :maxdepth: 2 - pygambit.api \ No newline at end of file + pygambit.api From 94ac72d15eca957488e96990c2521f29d061ed5b Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 17 Nov 2025 15:59:17 +0000 Subject: [PATCH 215/240] merge fixes --- doc/tutorials/games/prisoners_dilemma.nfg | 14 -------------- doc/tutorials/games/trust_game.efg | 8 -------- 2 files changed, 22 deletions(-) delete mode 100644 doc/tutorials/games/prisoners_dilemma.nfg delete mode 100644 doc/tutorials/games/trust_game.efg diff --git a/doc/tutorials/games/prisoners_dilemma.nfg b/doc/tutorials/games/prisoners_dilemma.nfg deleted file mode 100644 index a551362f6..000000000 --- a/doc/tutorials/games/prisoners_dilemma.nfg +++ /dev/null @@ -1,14 +0,0 @@ -NFG 1 R "Prisoner's Dilemma" { "Tom" "Jerry" } - -{ { "Cooperate" "Defect" } -{ "Cooperate" "Defect" } -} -"" - -{ -{ "" -1, -1 } -{ "" 0, -3 } -{ "" -3, 0 } -{ "" -2, -2 } -} -1 2 3 4 diff --git a/doc/tutorials/games/trust_game.efg b/doc/tutorials/games/trust_game.efg deleted file mode 100644 index 5b85cac9d..000000000 --- a/doc/tutorials/games/trust_game.efg +++ /dev/null @@ -1,8 +0,0 @@ -EFG 2 R "One-shot trust game, after Kreps (1990)" { "Buyer" "Seller" } -"" - -p "" 1 1 "" { "Trust" "Not trust" } 0 -p "Trust" 2 1 "" { "Honor" "Abuse" } 0 -t "Honor" 1 "Trustworthy" { 1, 1 } -t "Abuse" 2 "Untrustworthy" { -1, 2 } -t "Not trust" 3 "Opt-out" { 0, 0 } From 5cd601028aafc8a3257cd1b2fbf6a1f94afd041f Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 17 Nov 2025 16:02:18 +0000 Subject: [PATCH 216/240] Move openspiel tutorial to its own section --- doc/pygambit.rst | 10 ++++++++++ .../openspiel.ipynb} | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) rename doc/tutorials/{06_gambit_with_openspiel.ipynb => interoperability_tutorials/openspiel.ipynb} (99%) diff --git a/doc/pygambit.rst b/doc/pygambit.rst index b77da9f84..4d9a128dd 100644 --- a/doc/pygambit.rst +++ b/doc/pygambit.rst @@ -44,6 +44,16 @@ Advanced tutorials: tutorials/advanced_tutorials/quantal_response .. pygambit.external_programs +Interoperability tutorials +-------------------------- + +These tutorials demonstrate how to use PyGambit alongside other game-theoretic software packages: + +.. toctree:: + :maxdepth: 2 + + interoperability_tutorials/openspiel + Algorithms for computing Nash equilibria ---------------------------------------- diff --git a/doc/tutorials/06_gambit_with_openspiel.ipynb b/doc/tutorials/interoperability_tutorials/openspiel.ipynb similarity index 99% rename from doc/tutorials/06_gambit_with_openspiel.ipynb rename to doc/tutorials/interoperability_tutorials/openspiel.ipynb index 20f6ff4ef..2bd950871 100644 --- a/doc/tutorials/06_gambit_with_openspiel.ipynb +++ b/doc/tutorials/interoperability_tutorials/openspiel.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# 6) Using Gambit with OpenSpiel\n", + "# Using Gambit with OpenSpiel\n", "\n", "This tutorial demonstrates the interoperability of the Gambit and OpenSpiel Python packages for game-theoretic analysis.\n", "\n", From 82b5dd7660226fd4f6b5fcbda4ed29c59a69de27 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 17 Nov 2025 16:11:21 +0000 Subject: [PATCH 217/240] Add requirements file and update installation instructions in running_locally.rst --- doc/tutorials/requirements.txt | 3 +++ doc/tutorials/running_locally.rst | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 doc/tutorials/requirements.txt diff --git a/doc/tutorials/requirements.txt b/doc/tutorials/requirements.txt new file mode 100644 index 000000000..455a83f15 --- /dev/null +++ b/doc/tutorials/requirements.txt @@ -0,0 +1,3 @@ +pygambit +jupyterlab==4.4.6 +openspiel==1.6.1 \ No newline at end of file diff --git a/doc/tutorials/running_locally.rst b/doc/tutorials/running_locally.rst index 075511cec..a53b49869 100644 --- a/doc/tutorials/running_locally.rst +++ b/doc/tutorials/running_locally.rst @@ -11,11 +11,11 @@ You will need a working installation of Python 3.9+ on your machine to run PyGam git clone https://github.com/gambitproject/gambit.git cd gambit/doc/tutorials -2. Install `PyGambit` and `JupyterLab`. We recommend creating a new virtual environment and installing both the requirements there. e.g. :: +2. Install the requirements used by the tutorials. These include the latest version of `PyGambit` itself, `JupyterLab` and other packages used by the tutorials. We recommend creating a new virtual environment and installing both the requirements there. e.g. :: python -m venv pygambit-env source pygambit-env/bin/activate - pip install pygambit jupyterlab + pip install -r requirements.txt 3. Open `JupyterLab` and click on any of the tutorial notebooks (files ending in `.ipynb`) :: From 69a4d2f0ac2ba909d2ad9129c0a53690592558b2 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 17 Nov 2025 16:15:18 +0000 Subject: [PATCH 218/240] fix link --- doc/pygambit.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/pygambit.rst b/doc/pygambit.rst index 4d9a128dd..727510a7d 100644 --- a/doc/pygambit.rst +++ b/doc/pygambit.rst @@ -52,7 +52,7 @@ These tutorials demonstrate how to use PyGambit alongside other game-theoretic s .. toctree:: :maxdepth: 2 - interoperability_tutorials/openspiel + tutorials/interoperability_tutorials/openspiel Algorithms for computing Nash equilibria ---------------------------------------- From aa8247bfd2780b717654e5a66bbe7a6baa5987e5 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Mon, 17 Nov 2025 16:22:48 +0000 Subject: [PATCH 219/240] level of understanding --- doc/pygambit.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/pygambit.rst b/doc/pygambit.rst index 727510a7d..a6bf5986f 100644 --- a/doc/pygambit.rst +++ b/doc/pygambit.rst @@ -47,7 +47,8 @@ Advanced tutorials: Interoperability tutorials -------------------------- -These tutorials demonstrate how to use PyGambit alongside other game-theoretic software packages: +These tutorials demonstrate how to use PyGambit alongside other game-theoretic software packages. +These tutorials assume you have read the new user tutorials and are familiar with the PyGambit API, however they do not assume prior knowledge of the other software packages or an advanced understanding of Game Theory: .. toctree:: :maxdepth: 2 From 15ac613d1b715c3b61fd58caf65db08a8145a1b1 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 18 Nov 2025 10:08:24 +0000 Subject: [PATCH 220/240] single requirements for doc and tutorials --- doc/tutorials/requirements.txt | 3 --- doc/tutorials/running_locally.rst | 6 ++++-- 2 files changed, 4 insertions(+), 5 deletions(-) delete mode 100644 doc/tutorials/requirements.txt diff --git a/doc/tutorials/requirements.txt b/doc/tutorials/requirements.txt deleted file mode 100644 index 455a83f15..000000000 --- a/doc/tutorials/requirements.txt +++ /dev/null @@ -1,3 +0,0 @@ -pygambit -jupyterlab==4.4.6 -openspiel==1.6.1 \ No newline at end of file diff --git a/doc/tutorials/running_locally.rst b/doc/tutorials/running_locally.rst index a53b49869..756ae7056 100644 --- a/doc/tutorials/running_locally.rst +++ b/doc/tutorials/running_locally.rst @@ -9,14 +9,16 @@ You will need a working installation of Python 3.9+ on your machine to run PyGam 1. To download the tutorials, open your OS's command prompt and clone the Gambit repository from GitHub, then navigate to the tutorials directory: :: git clone https://github.com/gambitproject/gambit.git - cd gambit/doc/tutorials + cd gambit/doc -2. Install the requirements used by the tutorials. These include the latest version of `PyGambit` itself, `JupyterLab` and other packages used by the tutorials. We recommend creating a new virtual environment and installing both the requirements there. e.g. :: +2. Install `pygambit` and other requirements (including `JupyterLab` and other packages used by the tutorials). We recommend creating a new virtual environment and installing both the requirements there. e.g. :: python -m venv pygambit-env source pygambit-env/bin/activate + pip install pygambit pip install -r requirements.txt 3. Open `JupyterLab` and click on any of the tutorial notebooks (files ending in `.ipynb`) :: + cd tutorials jupyter lab From 98373ca85c92c70394a13ae37e442de19d27bf78 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 18 Nov 2025 13:19:51 +0000 Subject: [PATCH 221/240] refactor: streamline notebook collection in test suite to collect all .ipynb files in doc/tutorials --- tests/test_tutorials.py | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/tests/test_tutorials.py b/tests/test_tutorials.py index 6724235dd..c4d481b12 100644 --- a/tests/test_tutorials.py +++ b/tests/test_tutorials.py @@ -16,17 +16,9 @@ def _find_tutorial_notebooks(): if not root.exists(): pytest.skip(f"Tutorials folder not found: {root}") - # Collect notebooks from the tutorials root (recursive). - notebooks = set(root.rglob("*.ipynb")) + # Collect all notebooks under doc/tutorials (including any subfolders). + notebooks = sorted(set(root.rglob("*.ipynb"))) - # Also explicitly include notebooks under an "advanced_tutorials" subfolder - # (in case they are separate or not picked up for some layouts). Use a set - # to deduplicate if the subfolder is already part of the root search. - advanced = root / "advanced_tutorials" - if advanced.exists(): - notebooks.update(advanced.rglob("*.ipynb")) - - notebooks = sorted(notebooks) if not notebooks: pytest.skip(f"No tutorial notebooks found in: {root}") return notebooks From 31f6c429a373133328a11e703feda604d6942e00 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 18 Nov 2025 13:42:31 +0000 Subject: [PATCH 222/240] make prisoners dilemma game in this nb --- .../openspiel.ipynb | 55 +++++++++++-------- 1 file changed, 32 insertions(+), 23 deletions(-) diff --git a/doc/tutorials/interoperability_tutorials/openspiel.ipynb b/doc/tutorials/interoperability_tutorials/openspiel.ipynb index 2bd950871..3b64a2d55 100644 --- a/doc/tutorials/interoperability_tutorials/openspiel.ipynb +++ b/doc/tutorials/interoperability_tutorials/openspiel.ipynb @@ -463,12 +463,12 @@ "source": [ "## Normal form games created with Gambit\n", "\n", - "You can also set up a normal form game in Gambit and export it to OpenSpiel. Here we demonstrate this with the Prisoner's Dilemma game from tutorial 1." + "You can also set up a normal form game in Gambit and export it to OpenSpiel. Here we demonstrate this with a simple Prisoner's Dilemma game." ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 29, "id": "cdd0bfe0", "metadata": {}, "outputs": [ @@ -476,19 +476,26 @@ "data": { "text/html": [ "

Prisoner's Dilemma

\n", - "
CooperateDefect
Cooperate-1,-1-3,0
Defect0,-3-2,-2
\n" + "
12
1-1,-1-3,0
20,-3-2,-2
\n" ], "text/plain": [ "Game(title='Prisoner's Dilemma')" ] }, - "execution_count": 14, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "gbt_prisoners_dilemma_game = gbt.read_nfg(\"games/prisoners_dilemma.nfg\")\n", + "player1_payoffs = np.array([[-1, -3], [0, -2]])\n", + "player2_payoffs = np.transpose(player1_payoffs)\n", + "\n", + "gbt_prisoners_dilemma_game = gbt.Game.from_arrays(\n", + " player1_payoffs,\n", + " player2_payoffs,\n", + " title=\"Prisoner's Dilemma\"\n", + ")\n", "gbt_prisoners_dilemma_game" ] }, @@ -921,13 +928,13 @@ "output_type": "stream", "text": [ "\n", - "p0:d0 p1:d1\n", - "Agent 0 chooses p0a2\n", + "p0:d1 p1:d0\n", + "Agent 0 chooses p0a0\n", "\n", - "p0:d0 p1:d1 p0:a2\n", + "p0:d1 p1:d0 p0:a0\n", "Agent 1 chooses p1a2\n", "\n", - "p0:d0 p1:d1 p0:a2 p1:a2\n", + "p0:d1 p1:d0 p0:a0 p1:a2\n", "Rewards: [10.0, 10.0]\n" ] } @@ -979,14 +986,16 @@ "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "efg_game()" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" + "ename": "FileNotFoundError", + "evalue": "[Errno 2] No such file or directory: '../poker.efg'", + "output_type": "error", + "traceback": [ + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mFileNotFoundError\u001b[39m Traceback (most recent call last)", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[28]\u001b[39m\u001b[32m, line 1\u001b[39m\n\u001b[32m----> \u001b[39m\u001b[32m1\u001b[39m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28;43mopen\u001b[39;49m\u001b[43m(\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43m../poker.efg\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mr\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mas\u001b[39;00m f:\n\u001b[32m 2\u001b[39m poker_efg_string = f.read()\n\u001b[32m 3\u001b[39m ops_one_card_poker = pyspiel.load_efg_game(poker_efg_string)\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/anaconda3/envs/gbt_pygraphviz/lib/python3.11/site-packages/IPython/core/interactiveshell.py:343\u001b[39m, in \u001b[36m_modified_open\u001b[39m\u001b[34m(file, *args, **kwargs)\u001b[39m\n\u001b[32m 336\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m file \u001b[38;5;129;01min\u001b[39;00m {\u001b[32m0\u001b[39m, \u001b[32m1\u001b[39m, \u001b[32m2\u001b[39m}:\n\u001b[32m 337\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[32m 338\u001b[39m \u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mIPython won\u001b[39m\u001b[33m'\u001b[39m\u001b[33mt let you open fd=\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mfile\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m by default \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 339\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mas it is likely to crash IPython. If you know what you are doing, \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 340\u001b[39m \u001b[33m\"\u001b[39m\u001b[33myou can use builtins\u001b[39m\u001b[33m'\u001b[39m\u001b[33m open.\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 341\u001b[39m )\n\u001b[32m--> \u001b[39m\u001b[32m343\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mio_open\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfile\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "\u001b[31mFileNotFoundError\u001b[39m: [Errno 2] No such file or directory: '../poker.efg'" + ] } ], "source": [ @@ -1008,7 +1017,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": null, "id": "c01c4d6f", "metadata": {}, "outputs": [ @@ -1039,7 +1048,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": null, "id": "3b9cc43b", "metadata": {}, "outputs": [ @@ -1069,7 +1078,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "id": "4dd5d504", "metadata": {}, "outputs": [ @@ -1100,7 +1109,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "id": "bd15369f", "metadata": {}, "outputs": [ @@ -1130,7 +1139,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "id": "8d81ff6b", "metadata": {}, "outputs": [ @@ -1160,7 +1169,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": null, "id": "97913fe5", "metadata": {}, "outputs": [ From ecfb153a41f6a8469dc79b3a0a94f8f47c3d5265 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 18 Nov 2025 15:41:31 +0000 Subject: [PATCH 223/240] rename to stripped-down poker --- doc/tutorials/{03_poker.ipynb => 03_stripped_down_poker.ipynb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename doc/tutorials/{03_poker.ipynb => 03_stripped_down_poker.ipynb} (99%) diff --git a/doc/tutorials/03_poker.ipynb b/doc/tutorials/03_stripped_down_poker.ipynb similarity index 99% rename from doc/tutorials/03_poker.ipynb rename to doc/tutorials/03_stripped_down_poker.ipynb index ec401eccc..d7b8d4c70 100644 --- a/doc/tutorials/03_poker.ipynb +++ b/doc/tutorials/03_stripped_down_poker.ipynb @@ -5,7 +5,7 @@ "id": "98eb65d8", "metadata": {}, "source": [ - "# 3) A one-card poker game with private information\n", + "# 3) Stripped-down poker\n", "\n", "In this tutorial, we'll create an extensive form representation of a one-card poker game [[Mye91](#references)] and use it to demonstrate and explain the following with Gambit:\n", "\n", From 5aa3450e7c490b47a123a5fdd967a83812767af1 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 18 Nov 2025 15:46:59 +0000 Subject: [PATCH 224/240] update references --- doc/tutorials/03_stripped_down_poker.ipynb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/tutorials/03_stripped_down_poker.ipynb b/doc/tutorials/03_stripped_down_poker.ipynb index d7b8d4c70..0de9a0e7a 100644 --- a/doc/tutorials/03_stripped_down_poker.ipynb +++ b/doc/tutorials/03_stripped_down_poker.ipynb @@ -7,14 +7,16 @@ "source": [ "# 3) Stripped-down poker\n", "\n", - "In this tutorial, we'll create an extensive form representation of a one-card poker game [[Mye91](#references)] and use it to demonstrate and explain the following with Gambit:\n", + "In this tutorial, we'll create an extensive form representation of a one-card poker game from [Reiley et al (2008)](#references), a classroom game under the name \"stripped-down poker\".\n", + "This is perhaps the simplest interesting game with imperfect information.\n", + "\n", + "We'll use \"stripped-down poker\" to demonstrate and explain the following with Gambit:\n", "\n", "1. Setting up an extensive form game with imperfect information using [information sets](#information-sets)\n", "2. [Computing and interpreting Nash equilibria](#computing-and-interpreting-nash-equilibria) and understanding mixed behaviour and mixed strategy profiles\n", "3. [Acceptance criteria for Nash equilibria](#acceptance-criteria-for-nash-equilibria)\n", "\n", - "A version of this game also appears in [[RUW08](#references)], as a classroom game under the name \"stripped-down poker\".\n", - "This is perhaps the simplest interesting game with imperfect information.\n", + "A version of this game \n", "\n", "In our version of the game, there are two players, **Alice** and **Bob**, and a deck of cards, with equal numbers of **King** and **Queen** cards.\n", "\n", @@ -1604,8 +1606,6 @@ "source": [ "#### References\n", "\n", - "Myerson, Roger B. (1991) *Game Theory: Analysis of Conflict*. Cambridge: Harvard University Press.\n", - "\n", "Reiley, David H., Michael B. Urbancic and Mark Walker. (2008) \"Stripped-down poker: A classroom game with signaling and bluffing.\" *The Journal of Economic Education* 39(4): 323-341." ] } From d040af98a8e02bafda85b2a7488210991f6dec28 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 18 Nov 2025 15:54:41 +0000 Subject: [PATCH 225/240] match outcome labels to test game --- doc/tutorials/03_stripped_down_poker.ipynb | 192 ++++++++++----------- 1 file changed, 96 insertions(+), 96 deletions(-) diff --git a/doc/tutorials/03_stripped_down_poker.ipynb b/doc/tutorials/03_stripped_down_poker.ipynb index 0de9a0e7a..674fb8b95 100644 --- a/doc/tutorials/03_stripped_down_poker.ipynb +++ b/doc/tutorials/03_stripped_down_poker.ipynb @@ -37,7 +37,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 1, "id": "69cbfe81", "metadata": {}, "outputs": [], @@ -55,7 +55,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 2, "id": "ad6a1119", "metadata": {}, "outputs": [], @@ -76,7 +76,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 3, "id": "841f9f74", "metadata": {}, "outputs": [ @@ -112,7 +112,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 4, "id": "fe80c64c", "metadata": {}, "outputs": [], @@ -140,7 +140,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 5, "id": "0e3bb5ef", "metadata": {}, "outputs": [], @@ -174,7 +174,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 6, "id": "dbfa7035", "metadata": {}, "outputs": [], @@ -196,7 +196,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 7, "id": "655cdae3", "metadata": {}, "outputs": [], @@ -217,20 +217,20 @@ "\n", "This is crucial in games where players must make decisions without complete knowledge of their opponents' private information.\n", "\n", - "Let's now set up the four possible payoff outcomes for the game." + "Let's now set up the four possible payoff outcomes for the game. We'll label them according to player 1 (Alice)." ] }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 8, "id": "87c988be", "metadata": {}, "outputs": [], "source": [ - "alice_winsbig = g.add_outcome([2, -2], label=\"Alice wins big\")\n", - "alice_wins = g.add_outcome([1, -1], label=\"Alice wins\")\n", - "bob_winsbig = g.add_outcome([-2, 2], label=\"Bob wins big\")\n", - "bob_wins = g.add_outcome([-1, 1], label=\"Bob wins\")" + "win_big = g.add_outcome([2, -2], label=\"Win Big\")\n", + "win = g.add_outcome([1, -1], label=\"Win\")\n", + "lose_big = g.add_outcome([-2, 2], label=\"Lose Big\")\n", + "lose = g.add_outcome([-1, 1], label=\"Lose\")" ] }, { @@ -243,24 +243,24 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 9, "id": "29aa60a0", "metadata": {}, "outputs": [], "source": [ "# Alice folds, Bob wins small\n", - "g.set_outcome(g.root.children[\"King\"].children[\"Fold\"], bob_wins)\n", - "g.set_outcome(g.root.children[\"Queen\"].children[\"Fold\"], bob_wins)\n", + "g.set_outcome(g.root.children[\"King\"].children[\"Fold\"], lose)\n", + "g.set_outcome(g.root.children[\"Queen\"].children[\"Fold\"], lose)\n", "\n", "# Bob sees Alice Bet and calls, correctly believing she is bluffing, Bob wins big\n", - "g.set_outcome(g.root.children[\"Queen\"].children[\"Bet\"].children[\"Call\"], bob_winsbig)\n", + "g.set_outcome(g.root.children[\"Queen\"].children[\"Bet\"].children[\"Call\"], lose_big)\n", "\n", "# Bob sees Alice Bet and calls, incorrectly believing she is bluffing, Alice wins big\n", - "g.set_outcome(g.root.children[\"King\"].children[\"Bet\"].children[\"Call\"], alice_winsbig)\n", + "g.set_outcome(g.root.children[\"King\"].children[\"Bet\"].children[\"Call\"], win_big)\n", "\n", "# Bob does not call Alice's Bet, Alice wins small\n", - "g.set_outcome(g.root.children[\"King\"].children[\"Bet\"].children[\"Fold\"], alice_wins)\n", - "g.set_outcome(g.root.children[\"Queen\"].children[\"Bet\"].children[\"Fold\"], alice_wins)" + "g.set_outcome(g.root.children[\"King\"].children[\"Bet\"].children[\"Fold\"], win)\n", + "g.set_outcome(g.root.children[\"Queen\"].children[\"Bet\"].children[\"Fold\"], win)" ] }, { @@ -276,7 +276,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 10, "id": "4d92c8d9", "metadata": {}, "outputs": [ @@ -286,7 +286,7 @@ "NashComputationResult(method='lcp', rational=True, use_strategic=False, equilibria=[[[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]], [[Rational(2, 3), Rational(1, 3)]]]], parameters={'stop_after': 0, 'max_depth': 0})" ] }, - "execution_count": 29, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -310,7 +310,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 11, "id": "9967d6f7", "metadata": {}, "outputs": [ @@ -329,7 +329,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 12, "id": "3293e818", "metadata": {}, "outputs": [ @@ -339,7 +339,7 @@ "pygambit.gambit.MixedBehaviorProfileRational" ] }, - "execution_count": 31, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -362,7 +362,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 13, "id": "4cf38264", "metadata": {}, "outputs": [ @@ -372,7 +372,7 @@ "pygambit.gambit.MixedBehavior" ] }, - "execution_count": 32, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -383,7 +383,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 14, "id": "85e7fdda", "metadata": {}, "outputs": [ @@ -396,7 +396,7 @@ "[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]]" ] }, - "execution_count": 33, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -421,7 +421,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 15, "id": "f45a82b6", "metadata": {}, "outputs": [ @@ -453,7 +453,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 16, "id": "83bbd3e5", "metadata": {}, "outputs": [ @@ -486,7 +486,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 17, "id": "6bf51b38", "metadata": {}, "outputs": [ @@ -499,7 +499,7 @@ "[[Rational(2, 3), Rational(1, 3)]]" ] }, - "execution_count": 36, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -522,7 +522,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 18, "id": "2966e700", "metadata": {}, "outputs": [ @@ -535,7 +535,7 @@ "Rational(2, 3)" ] }, - "execution_count": 37, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -554,7 +554,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 19, "id": "f5a7f110", "metadata": {}, "outputs": [ @@ -567,7 +567,7 @@ "Rational(2, 3)" ] }, - "execution_count": 38, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -588,7 +588,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 20, "id": "a7d3816d", "metadata": {}, "outputs": [ @@ -623,7 +623,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 21, "id": "4a54b20c", "metadata": {}, "outputs": [ @@ -656,7 +656,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 22, "id": "b250c1cd", "metadata": {}, "outputs": [ @@ -669,7 +669,7 @@ "Rational(2, 3)" ] }, - "execution_count": 41, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -688,7 +688,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 23, "id": "6f01846b", "metadata": {}, "outputs": [ @@ -720,7 +720,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 24, "id": "5079d231", "metadata": {}, "outputs": [ @@ -733,7 +733,7 @@ "Rational(1, 3)" ] }, - "execution_count": 43, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -744,7 +744,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 25, "id": "c55f2c7a", "metadata": {}, "outputs": [ @@ -757,7 +757,7 @@ "Rational(-1, 3)" ] }, - "execution_count": 44, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -784,7 +784,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 26, "id": "d4ecff88", "metadata": {}, "outputs": [ @@ -794,7 +794,7 @@ "['11', '12', '21', '22']" ] }, - "execution_count": 45, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -818,7 +818,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 27, "id": "24e4b6e8", "metadata": {}, "outputs": [ @@ -828,7 +828,7 @@ "NashComputationResult(method='gnm', rational=False, use_strategic=True, equilibria=[[[0.33333333333866677, 0.6666666666613335, 0.0, 0.0], [0.6666666666559997, 0.3333333333440004]]], parameters={'perturbation': [[1.0, 0.0, 0.0, 0.0], [1.0, 0.0]], 'end_lambda': -10.0, 'steps': 100, 'local_newton_interval': 3, 'local_newton_maxits': 10})" ] }, - "execution_count": 46, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -850,7 +850,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 28, "id": "d9ffb4b8", "metadata": {}, "outputs": [ @@ -860,7 +860,7 @@ "pygambit.gambit.MixedStrategyProfileDouble" ] }, - "execution_count": 47, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -882,7 +882,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 29, "id": "56e2f847", "metadata": {}, "outputs": [ @@ -935,7 +935,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 30, "id": "d18a91f0", "metadata": {}, "outputs": [ @@ -1001,7 +1001,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 31, "id": "0c55f745", "metadata": {}, "outputs": [ @@ -1011,7 +1011,7 @@ "(Rational(2, 1), Rational(-2, 1))" ] }, - "execution_count": 50, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -1033,7 +1033,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 32, "id": "101598c6", "metadata": {}, "outputs": [ @@ -1043,7 +1043,7 @@ "1" ] }, - "execution_count": 51, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -1055,7 +1055,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 33, "id": "9b142728", "metadata": {}, "outputs": [ @@ -1065,7 +1065,7 @@ "3.987411578698641e-08" ] }, - "execution_count": 52, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -1086,7 +1086,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 34, "id": "ff405409", "metadata": {}, "outputs": [ @@ -1096,7 +1096,7 @@ "9.968528946746602e-09" ] }, - "execution_count": 53, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } @@ -1117,7 +1117,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 35, "id": "31b0143c", "metadata": {}, "outputs": [ @@ -1127,7 +1127,7 @@ "9.395259956013202e-05" ] }, - "execution_count": 54, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -1146,7 +1146,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 36, "id": "7cfba34a", "metadata": {}, "outputs": [ @@ -1154,8 +1154,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 10 ms, sys: 113 μs, total: 10.1 ms\n", - "Wall time: 10.2 ms\n" + "CPU times: user 9.81 ms, sys: 49 μs, total: 9.86 ms\n", + "Wall time: 9.89 ms\n" ] }, { @@ -1164,7 +1164,7 @@ "NashComputationResult(method='logit', rational=False, use_strategic=False, equilibria=[[[[1.0, 0.0], [0.3338351656285655, 0.666164834417892]], [[0.6670407651644307, 0.3329592348608147]]]], parameters={'first_step': 0.03, 'max_accel': 1.1})" ] }, - "execution_count": 55, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } @@ -1176,7 +1176,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 37, "id": "6f1809a7", "metadata": {}, "outputs": [ @@ -1184,8 +1184,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 20.2 ms, sys: 430 μs, total: 20.6 ms\n", - "Wall time: 21.7 ms\n" + "CPU times: user 18.9 ms, sys: 205 μs, total: 19.1 ms\n", + "Wall time: 19.2 ms\n" ] }, { @@ -1194,7 +1194,7 @@ "NashComputationResult(method='logit', rational=False, use_strategic=False, equilibria=[[[[1.0, 0.0], [0.33333338649882943, 0.6666666135011706]], [[0.6666667065407631, 0.3333332934592369]]]], parameters={'first_step': 0.03, 'max_accel': 1.1})" ] }, - "execution_count": 56, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } @@ -1216,7 +1216,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 38, "id": "414b6f65", "metadata": {}, "outputs": [ @@ -1226,7 +1226,7 @@ "5.509533871672634e-05" ] }, - "execution_count": 57, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } @@ -1248,7 +1248,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 39, "id": "a892dc2b", "metadata": {}, "outputs": [ @@ -1258,7 +1258,7 @@ "5.509533871672634e-05" ] }, - "execution_count": 58, + "execution_count": 39, "metadata": {}, "output_type": "execute_result" } @@ -1289,7 +1289,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 40, "id": "2f79695a", "metadata": {}, "outputs": [ @@ -1299,7 +1299,7 @@ "[Rational(1, 3), Rational(1, 3), Rational(1, 3)]" ] }, - "execution_count": 59, + "execution_count": 40, "metadata": {}, "output_type": "execute_result" } @@ -1323,7 +1323,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 41, "id": "5de6acb2", "metadata": {}, "outputs": [ @@ -1333,7 +1333,7 @@ "[Rational(1, 4), Rational(1, 2), Rational(1, 4)]" ] }, - "execution_count": 60, + "execution_count": 41, "metadata": {}, "output_type": "execute_result" } @@ -1356,7 +1356,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 42, "id": "c47d2ab6", "metadata": {}, "outputs": [ @@ -1366,7 +1366,7 @@ "[Decimal('0.25'), Decimal('0.50'), Decimal('0.25')]" ] }, - "execution_count": 61, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" } @@ -1393,7 +1393,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 43, "id": "04329084", "metadata": {}, "outputs": [ @@ -1403,7 +1403,7 @@ "[Rational(1, 4), Rational(1, 2), Rational(1, 4)]" ] }, - "execution_count": 62, + "execution_count": 43, "metadata": {}, "output_type": "execute_result" } @@ -1415,7 +1415,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 44, "id": "9015e129", "metadata": {}, "outputs": [ @@ -1425,7 +1425,7 @@ "[Decimal('0.25'), Decimal('0.50'), Decimal('0.25')]" ] }, - "execution_count": 63, + "execution_count": 44, "metadata": {}, "output_type": "execute_result" } @@ -1450,7 +1450,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 45, "id": "0a019aa5", "metadata": {}, "outputs": [ @@ -1460,7 +1460,7 @@ "[Decimal('0.25'), Decimal('0.5'), Decimal('0.25')]" ] }, - "execution_count": 64, + "execution_count": 45, "metadata": {}, "output_type": "execute_result" } @@ -1480,7 +1480,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 46, "id": "1991d288", "metadata": {}, "outputs": [ @@ -1510,7 +1510,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 47, "id": "b1dc37fd", "metadata": {}, "outputs": [ @@ -1520,7 +1520,7 @@ "1.0" ] }, - "execution_count": 66, + "execution_count": 47, "metadata": {}, "output_type": "execute_result" } @@ -1539,7 +1539,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 48, "id": "dc1edea2", "metadata": {}, "outputs": [ @@ -1549,7 +1549,7 @@ "Decimal('0.3333333333333333')" ] }, - "execution_count": 67, + "execution_count": 48, "metadata": {}, "output_type": "execute_result" } @@ -1568,7 +1568,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 49, "id": "1edd90d6", "metadata": {}, "outputs": [ @@ -1578,7 +1578,7 @@ "Decimal('0.9999999999999999')" ] }, - "execution_count": 68, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } @@ -1612,7 +1612,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "gambitvenv313", "language": "python", "name": "python3" }, From 3999934d4f6279c05a84d01dfa9a179ec120d2b8 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 18 Nov 2025 15:56:20 +0000 Subject: [PATCH 226/240] add full stops --- doc/tutorials/03_stripped_down_poker.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/tutorials/03_stripped_down_poker.ipynb b/doc/tutorials/03_stripped_down_poker.ipynb index 674fb8b95..3eb70fe32 100644 --- a/doc/tutorials/03_stripped_down_poker.ipynb +++ b/doc/tutorials/03_stripped_down_poker.ipynb @@ -22,8 +22,8 @@ "\n", "- The game begins with each player putting \\$1 in the pot.\n", " - A card is dealt at random to Alice\n", - " - Alice observes her card\n", - " - Bob does not observe the card\n", + " - Alice observes her card.\n", + " - Bob does not observe the card.\n", "- Alice then chooses either to **Bet** or to **Fold**.\n", " - If she chooses to Fold, Bob wins the pot and the game ends.\n", " - If she chooses to Bet, she adds another \\$1 to the pot.\n", From 10f25bcd2a2677cc1443e7f6a9d2083be7cfb5c8 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 18 Nov 2025 15:58:03 +0000 Subject: [PATCH 227/240] remove "Betd" typo --- doc/tutorials/03_stripped_down_poker.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/tutorials/03_stripped_down_poker.ipynb b/doc/tutorials/03_stripped_down_poker.ipynb index 3eb70fe32..c85df9028 100644 --- a/doc/tutorials/03_stripped_down_poker.ipynb +++ b/doc/tutorials/03_stripped_down_poker.ipynb @@ -169,7 +169,7 @@ "\n", "To set this scenario up in Gambit, we'll need to use `Game.append_infoset` to add a move as part of an existing information set (represented in Gambit as an `Infoset`).\n", "\n", - "First, let's add Bob's move to the node where Alice has Betd with a King." + "First, let's add Bob's move to the node where Alice has bet with a King." ] }, { @@ -191,7 +191,7 @@ "id": "689ce12c", "metadata": {}, "source": [ - "Now let's add the information set we created at the node where Alice Betd with a King, to the node where Alice Betd with a Queen." + "Now let's add the information set we created at the node where Alice bet with a King, to the node where Alice bet with a Queen." ] }, { From 1d9de388d6cbc732b6333a78ea9fcb7c4fddfdc4 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 18 Nov 2025 16:05:49 +0000 Subject: [PATCH 228/240] add nodes to same infoset with passing a list of nodes to append_move --- doc/tutorials/03_stripped_down_poker.ipynb | 182 +++++++++------------ 1 file changed, 80 insertions(+), 102 deletions(-) diff --git a/doc/tutorials/03_stripped_down_poker.ipynb b/doc/tutorials/03_stripped_down_poker.ipynb index c85df9028..450d13fdf 100644 --- a/doc/tutorials/03_stripped_down_poker.ipynb +++ b/doc/tutorials/03_stripped_down_poker.ipynb @@ -167,9 +167,8 @@ "\n", "In other words, Bob's decision when Alice Bets with a Queen should be part of the same information set as Bob's decision when Alice Bets with a King.\n", "\n", - "To set this scenario up in Gambit, we'll need to use `Game.append_infoset` to add a move as part of an existing information set (represented in Gambit as an `Infoset`).\n", - "\n", - "First, let's add Bob's move to the node where Alice has bet with a King." + "To set this scenario up in Gambit, we'll need to use add both possible moves as part of the same information set (represented in Gambit as an `Infoset`).\n", + "This can be done by passing a list of nodes to the `append_move` method." ] }, { @@ -180,33 +179,12 @@ "outputs": [], "source": [ "g.append_move(\n", - " g.root.children[\"King\"].children[\"Bet\"],\n", + " [g.root.children[\"King\"].children[\"Bet\"], g.root.children[\"Queen\"].children[\"Bet\"]],\n", " player=\"Bob\",\n", " actions=[\"Call\", \"Fold\"]\n", ")" ] }, - { - "cell_type": "markdown", - "id": "689ce12c", - "metadata": {}, - "source": [ - "Now let's add the information set we created at the node where Alice bet with a King, to the node where Alice bet with a Queen." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "655cdae3", - "metadata": {}, - "outputs": [], - "source": [ - "g.append_infoset(\n", - " g.root.children[\"Queen\"].children[\"Bet\"],\n", - " infoset=g.root.children[\"King\"].children[\"Bet\"].infoset\n", - ")" - ] - }, { "cell_type": "markdown", "id": "c4eeb65f", @@ -222,7 +200,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "id": "87c988be", "metadata": {}, "outputs": [], @@ -243,7 +221,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "id": "29aa60a0", "metadata": {}, "outputs": [], @@ -276,7 +254,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "id": "4d92c8d9", "metadata": {}, "outputs": [ @@ -286,7 +264,7 @@ "NashComputationResult(method='lcp', rational=True, use_strategic=False, equilibria=[[[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]], [[Rational(2, 3), Rational(1, 3)]]]], parameters={'stop_after': 0, 'max_depth': 0})" ] }, - "execution_count": 10, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -310,7 +288,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "id": "9967d6f7", "metadata": {}, "outputs": [ @@ -329,7 +307,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "id": "3293e818", "metadata": {}, "outputs": [ @@ -339,7 +317,7 @@ "pygambit.gambit.MixedBehaviorProfileRational" ] }, - "execution_count": 12, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -362,7 +340,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 12, "id": "4cf38264", "metadata": {}, "outputs": [ @@ -372,7 +350,7 @@ "pygambit.gambit.MixedBehavior" ] }, - "execution_count": 13, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -383,7 +361,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "id": "85e7fdda", "metadata": {}, "outputs": [ @@ -396,7 +374,7 @@ "[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]]" ] }, - "execution_count": 14, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -421,7 +399,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 14, "id": "f45a82b6", "metadata": {}, "outputs": [ @@ -453,7 +431,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 15, "id": "83bbd3e5", "metadata": {}, "outputs": [ @@ -486,7 +464,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 16, "id": "6bf51b38", "metadata": {}, "outputs": [ @@ -499,7 +477,7 @@ "[[Rational(2, 3), Rational(1, 3)]]" ] }, - "execution_count": 17, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -522,7 +500,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 17, "id": "2966e700", "metadata": {}, "outputs": [ @@ -535,7 +513,7 @@ "Rational(2, 3)" ] }, - "execution_count": 18, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -554,7 +532,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 18, "id": "f5a7f110", "metadata": {}, "outputs": [ @@ -567,7 +545,7 @@ "Rational(2, 3)" ] }, - "execution_count": 19, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -588,7 +566,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 19, "id": "a7d3816d", "metadata": {}, "outputs": [ @@ -623,7 +601,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 20, "id": "4a54b20c", "metadata": {}, "outputs": [ @@ -656,7 +634,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 21, "id": "b250c1cd", "metadata": {}, "outputs": [ @@ -669,7 +647,7 @@ "Rational(2, 3)" ] }, - "execution_count": 22, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -688,7 +666,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 22, "id": "6f01846b", "metadata": {}, "outputs": [ @@ -720,7 +698,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 23, "id": "5079d231", "metadata": {}, "outputs": [ @@ -733,7 +711,7 @@ "Rational(1, 3)" ] }, - "execution_count": 24, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -744,7 +722,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 24, "id": "c55f2c7a", "metadata": {}, "outputs": [ @@ -757,7 +735,7 @@ "Rational(-1, 3)" ] }, - "execution_count": 25, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -784,7 +762,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 25, "id": "d4ecff88", "metadata": {}, "outputs": [ @@ -794,7 +772,7 @@ "['11', '12', '21', '22']" ] }, - "execution_count": 26, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -818,7 +796,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 26, "id": "24e4b6e8", "metadata": {}, "outputs": [ @@ -828,7 +806,7 @@ "NashComputationResult(method='gnm', rational=False, use_strategic=True, equilibria=[[[0.33333333333866677, 0.6666666666613335, 0.0, 0.0], [0.6666666666559997, 0.3333333333440004]]], parameters={'perturbation': [[1.0, 0.0, 0.0, 0.0], [1.0, 0.0]], 'end_lambda': -10.0, 'steps': 100, 'local_newton_interval': 3, 'local_newton_maxits': 10})" ] }, - "execution_count": 27, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -850,7 +828,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 27, "id": "d9ffb4b8", "metadata": {}, "outputs": [ @@ -860,7 +838,7 @@ "pygambit.gambit.MixedStrategyProfileDouble" ] }, - "execution_count": 28, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -882,7 +860,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 28, "id": "56e2f847", "metadata": {}, "outputs": [ @@ -935,7 +913,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 29, "id": "d18a91f0", "metadata": {}, "outputs": [ @@ -1001,7 +979,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 30, "id": "0c55f745", "metadata": {}, "outputs": [ @@ -1011,7 +989,7 @@ "(Rational(2, 1), Rational(-2, 1))" ] }, - "execution_count": 31, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -1033,7 +1011,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 31, "id": "101598c6", "metadata": {}, "outputs": [ @@ -1043,7 +1021,7 @@ "1" ] }, - "execution_count": 32, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -1055,7 +1033,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 32, "id": "9b142728", "metadata": {}, "outputs": [ @@ -1065,7 +1043,7 @@ "3.987411578698641e-08" ] }, - "execution_count": 33, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -1086,7 +1064,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 33, "id": "ff405409", "metadata": {}, "outputs": [ @@ -1096,7 +1074,7 @@ "9.968528946746602e-09" ] }, - "execution_count": 34, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -1117,7 +1095,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 34, "id": "31b0143c", "metadata": {}, "outputs": [ @@ -1127,7 +1105,7 @@ "9.395259956013202e-05" ] }, - "execution_count": 35, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } @@ -1146,7 +1124,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 35, "id": "7cfba34a", "metadata": {}, "outputs": [ @@ -1154,8 +1132,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 9.81 ms, sys: 49 μs, total: 9.86 ms\n", - "Wall time: 9.89 ms\n" + "CPU times: user 9.9 ms, sys: 230 μs, total: 10.1 ms\n", + "Wall time: 10.1 ms\n" ] }, { @@ -1164,7 +1142,7 @@ "NashComputationResult(method='logit', rational=False, use_strategic=False, equilibria=[[[[1.0, 0.0], [0.3338351656285655, 0.666164834417892]], [[0.6670407651644307, 0.3329592348608147]]]], parameters={'first_step': 0.03, 'max_accel': 1.1})" ] }, - "execution_count": 36, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -1176,7 +1154,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 36, "id": "6f1809a7", "metadata": {}, "outputs": [ @@ -1184,8 +1162,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 18.9 ms, sys: 205 μs, total: 19.1 ms\n", - "Wall time: 19.2 ms\n" + "CPU times: user 18.4 ms, sys: 210 μs, total: 18.6 ms\n", + "Wall time: 18.6 ms\n" ] }, { @@ -1194,7 +1172,7 @@ "NashComputationResult(method='logit', rational=False, use_strategic=False, equilibria=[[[[1.0, 0.0], [0.33333338649882943, 0.6666666135011706]], [[0.6666667065407631, 0.3333332934592369]]]], parameters={'first_step': 0.03, 'max_accel': 1.1})" ] }, - "execution_count": 37, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } @@ -1216,7 +1194,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 37, "id": "414b6f65", "metadata": {}, "outputs": [ @@ -1226,7 +1204,7 @@ "5.509533871672634e-05" ] }, - "execution_count": 38, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } @@ -1248,7 +1226,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 38, "id": "a892dc2b", "metadata": {}, "outputs": [ @@ -1258,7 +1236,7 @@ "5.509533871672634e-05" ] }, - "execution_count": 39, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } @@ -1289,7 +1267,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 39, "id": "2f79695a", "metadata": {}, "outputs": [ @@ -1299,7 +1277,7 @@ "[Rational(1, 3), Rational(1, 3), Rational(1, 3)]" ] }, - "execution_count": 40, + "execution_count": 39, "metadata": {}, "output_type": "execute_result" } @@ -1323,7 +1301,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 40, "id": "5de6acb2", "metadata": {}, "outputs": [ @@ -1333,7 +1311,7 @@ "[Rational(1, 4), Rational(1, 2), Rational(1, 4)]" ] }, - "execution_count": 41, + "execution_count": 40, "metadata": {}, "output_type": "execute_result" } @@ -1356,7 +1334,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 41, "id": "c47d2ab6", "metadata": {}, "outputs": [ @@ -1366,7 +1344,7 @@ "[Decimal('0.25'), Decimal('0.50'), Decimal('0.25')]" ] }, - "execution_count": 42, + "execution_count": 41, "metadata": {}, "output_type": "execute_result" } @@ -1393,7 +1371,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 42, "id": "04329084", "metadata": {}, "outputs": [ @@ -1403,7 +1381,7 @@ "[Rational(1, 4), Rational(1, 2), Rational(1, 4)]" ] }, - "execution_count": 43, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" } @@ -1415,7 +1393,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 43, "id": "9015e129", "metadata": {}, "outputs": [ @@ -1425,7 +1403,7 @@ "[Decimal('0.25'), Decimal('0.50'), Decimal('0.25')]" ] }, - "execution_count": 44, + "execution_count": 43, "metadata": {}, "output_type": "execute_result" } @@ -1450,7 +1428,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 44, "id": "0a019aa5", "metadata": {}, "outputs": [ @@ -1460,7 +1438,7 @@ "[Decimal('0.25'), Decimal('0.5'), Decimal('0.25')]" ] }, - "execution_count": 45, + "execution_count": 44, "metadata": {}, "output_type": "execute_result" } @@ -1480,7 +1458,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 45, "id": "1991d288", "metadata": {}, "outputs": [ @@ -1510,7 +1488,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 46, "id": "b1dc37fd", "metadata": {}, "outputs": [ @@ -1520,7 +1498,7 @@ "1.0" ] }, - "execution_count": 47, + "execution_count": 46, "metadata": {}, "output_type": "execute_result" } @@ -1539,7 +1517,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 47, "id": "dc1edea2", "metadata": {}, "outputs": [ @@ -1549,7 +1527,7 @@ "Decimal('0.3333333333333333')" ] }, - "execution_count": 48, + "execution_count": 47, "metadata": {}, "output_type": "execute_result" } @@ -1568,7 +1546,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 48, "id": "1edd90d6", "metadata": {}, "outputs": [ @@ -1578,7 +1556,7 @@ "Decimal('0.9999999999999999')" ] }, - "execution_count": 49, + "execution_count": 48, "metadata": {}, "output_type": "execute_result" } From 8e87be2f43f6fb7905c9f8418ce9a0e70104cead Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 18 Nov 2025 16:20:19 +0000 Subject: [PATCH 229/240] consistent colons --- doc/tutorials/03_stripped_down_poker.ipynb | 56 ++++++++++++---------- 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/doc/tutorials/03_stripped_down_poker.ipynb b/doc/tutorials/03_stripped_down_poker.ipynb index 450d13fdf..ac9df7792 100644 --- a/doc/tutorials/03_stripped_down_poker.ipynb +++ b/doc/tutorials/03_stripped_down_poker.ipynb @@ -16,12 +16,10 @@ "2. [Computing and interpreting Nash equilibria](#computing-and-interpreting-nash-equilibria) and understanding mixed behaviour and mixed strategy profiles\n", "3. [Acceptance criteria for Nash equilibria](#acceptance-criteria-for-nash-equilibria)\n", "\n", - "A version of this game \n", - "\n", "In our version of the game, there are two players, **Alice** and **Bob**, and a deck of cards, with equal numbers of **King** and **Queen** cards.\n", "\n", "- The game begins with each player putting \\$1 in the pot.\n", - " - A card is dealt at random to Alice\n", + " - A card is dealt at random to Alice.\n", " - Alice observes her card.\n", " - Bob does not observe the card.\n", "- Alice then chooses either to **Bet** or to **Fold**.\n", @@ -31,7 +29,7 @@ " - If he chooses to Fold, Alice wins the pot and the game ends.\n", " - If he chooses to Call, he adds another $1 to the pot.\n", "- There is then a showdown, in which Alice reveals her card.\n", - " - If she has a King, then she wins the pot;\n", + " - If she has a King, then she wins the pot.\n", " - If she has a Queen, then Bob wins the pot." ] }, @@ -50,7 +48,7 @@ "id": "70819881", "metadata": {}, "source": [ - "Create the game with two players." + "Create the game with two players:" ] }, { @@ -107,7 +105,7 @@ "\n", "The first step in this game is that Alice is dealt a card which could be a King or Queen, each with probability 1/2.\n", "\n", - "To simulate this in Gambit, we create a chance player move at the root node of the game." + "To simulate this in Gambit, we create a chance player move at the root node of the game:" ] }, { @@ -135,7 +133,7 @@ "Alice knows her card, so the two nodes at which she has the move are part of different **information sets**.\n", "\n", "We'll therefore need to append Alice's move separately for each of the root node's children, i.e. the scenarios where she has a King or a Queen.\n", - "Let's now add both of these possible moves." + "Let's now add both of these possible moves:" ] }, { @@ -168,7 +166,7 @@ "In other words, Bob's decision when Alice Bets with a Queen should be part of the same information set as Bob's decision when Alice Bets with a King.\n", "\n", "To set this scenario up in Gambit, we'll need to use add both possible moves as part of the same information set (represented in Gambit as an `Infoset`).\n", - "This can be done by passing a list of nodes to the `append_move` method." + "This can be done by passing a list of nodes to the `append_move` method:" ] }, { @@ -195,7 +193,7 @@ "\n", "This is crucial in games where players must make decisions without complete knowledge of their opponents' private information.\n", "\n", - "Let's now set up the four possible payoff outcomes for the game. We'll label them according to player 1 (Alice)." + "Let's now set up the four possible payoff outcomes for the game. We'll label them according to player 1 (Alice):" ] }, { @@ -216,7 +214,7 @@ "id": "467a2c39", "metadata": {}, "source": [ - "Finally, we should assign an outcome to each of the terminal nodes in the game tree." + "Finally, we should assign an outcome to each of the terminal nodes in the game tree:" ] }, { @@ -249,7 +247,7 @@ "## Computing and interpreting Nash equilibria\n", "\n", "\n", - "Since our one-card poker game is extensive form and has two players, we can use the `lcp_solve` algorithm in Gambit to compute the Nash equilibria." + "Since our one-card poker game is extensive form and has two players, we can use the `lcp_solve` algorithm in Gambit to compute the Nash equilibria:" ] }, { @@ -305,9 +303,17 @@ "eqm = result.equilibria[0]" ] }, + { + "cell_type": "markdown", + "id": "1b1cd21e", + "metadata": {}, + "source": [ + "If we inspect the object type, we can see it's a `MixedBehaviorProfileRational` which is a subclass of `MixedBehaviorProfile` that uses rational numbers for probabilities:" + ] + }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "id": "3293e818", "metadata": {}, "outputs": [ @@ -323,8 +329,6 @@ } ], "source": [ - "# MixedBehaviorProfileRational is a subclass of MixedBehaviorProfile that uses\n", - "# rational numbers for probabilities.\n", "type(eqm)" ] }, @@ -661,7 +665,7 @@ "id": "9216ea34", "metadata": {}, "source": [ - "The corresponding probability that a node is reached in the play of the game is given by `MixedBehaviorProfile.realiz_prob`, and the expected payoff to a player conditional on reaching a node is given by `MixedBehaviorProfile.node_value`." + "The corresponding probability that a node is reached in the play of the game is given by `MixedBehaviorProfile.realiz_prob`, and the expected payoff to a player conditional on reaching a node is given by `MixedBehaviorProfile.node_value`:" ] }, { @@ -757,7 +761,7 @@ "\n", "When a game has an extensive representation, equilibrium finding methods default to computing on that representation.\n", "It is also possible to compute using the strategic representation.\n", - "`pygambit` transparently computes the reduced strategic form representation of an extensive game." + "`pygambit` transparently computes the reduced strategic form representation of an extensive game:" ] }, { @@ -823,7 +827,7 @@ "source": [ "`gnm_solve` can be applied to any game with any number of players, and uses a path-following process in floating-point arithmetic, so it returns profiles with probabilities expressed as floating-point numbers.\n", "\n", - "This method operates on the strategic representation of the game, so the returned results are of type `MixedStrategyProfile` (specifically `MixedStrategyProfileDouble`)." + "This method operates on the strategic representation of the game, so the returned results are of type `MixedStrategyProfile` (specifically `MixedStrategyProfileDouble`):" ] }, { @@ -974,7 +978,7 @@ "Any profile returned as an equilibrium is guaranteed to be an $\\varepsilon$-equilibrium, for $\\varepsilon$ no more than `maxregret`\n", "times the difference of the game's maximum and minimum payoffs.\n", "\n", - "As an example, consider solving our one-card poker game using `logit_solve`. The range of the payoffs in this game is 4 (from +2 to -2).\n" + "As an example, consider solving our one-card poker game using `logit_solve`. The range of the payoffs in this game is 4 (from +2 to -2):\n" ] }, { @@ -1119,7 +1123,7 @@ "id": "dc8c8509", "metadata": {}, "source": [ - "The tradeoff comes from some methods being slow to converge on some games, making it useful instead to get a more coarse approximation to an equilibrium (higher `maxregret` value) which is faster to calculate. " + "The tradeoff comes from some methods being slow to converge on some games, making it useful instead to get a more coarse approximation to an equilibrium (higher `maxregret` value) which is faster to calculate:" ] }, { @@ -1189,7 +1193,7 @@ "source": [ "The convention of expressing `maxregret` scaled by the game's payoffs standardises the behavior of methods across games.\n", "\n", - "For example, consider solving the poker game instead using `liap_solve()`." + "For example, consider solving the poker game instead using `liap_solve()`:" ] }, { @@ -1221,7 +1225,7 @@ "id": "c6853432", "metadata": {}, "source": [ - "If, instead, we double all payoffs, the output of the method is unchanged." + "If, instead, we double all payoffs, the output of the method is unchanged:" ] }, { @@ -1423,7 +1427,7 @@ "\n", "`pygambit` attempts to render `float` values in an appropriate `Decimal` equivalent.\n", "In the majority of cases, this creates no problems.\n", - "For example," + "For example:" ] }, { @@ -1453,7 +1457,7 @@ "id": "d53adcd4", "metadata": {}, "source": [ - "However, rounding can cause difficulties when attempting to use `float` values to represent values which do not have an exact decimal representation" + "However, rounding can cause difficulties when attempting to use `float` values to represent values which do not have an exact decimal representation:" ] }, { @@ -1483,7 +1487,7 @@ "metadata": {}, "source": [ "This behavior can be slightly surprising, especially in light of the fact that\n", - "in Python," + "in Python:" ] }, { @@ -1512,7 +1516,7 @@ "id": "a06699af", "metadata": {}, "source": [ - "In checking whether these probabilities sum to one, `pygambit` first converts each of the probabilities to a `Decimal` representation, via the following method" + "In checking whether these probabilities sum to one, `pygambit` first converts each of the probabilities to a `Decimal` representation, via the following method:" ] }, { @@ -1541,7 +1545,7 @@ "id": "4bfff415", "metadata": {}, "source": [ - "and the sum-to-one check then fails because" + "...and the sum-to-one check then fails because:" ] }, { From 708db39944cee1d28b26e681cd9eca174927a80a Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 18 Nov 2025 16:26:35 +0000 Subject: [PATCH 230/240] new name for turorial 03 --- doc/pygambit.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/pygambit.rst b/doc/pygambit.rst index b77da9f84..ceec241ec 100644 --- a/doc/pygambit.rst +++ b/doc/pygambit.rst @@ -23,7 +23,7 @@ They are numbered in the order they should be read. tutorials/running_locally tutorials/01_quickstart tutorials/02_extensive_form - tutorials/03_poker + tutorials/03_stripped_down_poker Advanced user tutorials ----------------------- From e04962947eb612d1cde7dc111693ce8a8433dac0 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 18 Nov 2025 16:33:32 +0000 Subject: [PATCH 231/240] bump openspiel version to 1.6.9 --- doc/requirements.txt | 2 +- .../interoperability_tutorials/openspiel.ipynb | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/requirements.txt b/doc/requirements.txt index 40acba312..b06d80877 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -9,4 +9,4 @@ ipython==9.4.0 matplotlib==3.10.5 pickleshare==0.7.5 jupyter==1.1.1 -open_spiel==1.6.1 +open_spiel==1.6.9 diff --git a/doc/tutorials/interoperability_tutorials/openspiel.ipynb b/doc/tutorials/interoperability_tutorials/openspiel.ipynb index 3b64a2d55..eb8202da4 100644 --- a/doc/tutorials/interoperability_tutorials/openspiel.ipynb +++ b/doc/tutorials/interoperability_tutorials/openspiel.ipynb @@ -64,7 +64,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "['2048', 'add_noise', 'amazons', 'backgammon', 'bargaining', 'battleship', 'blackjack', 'blotto', 'breakthrough', 'bridge', 'bridge_uncontested_bidding', 'cached_tree', 'catch', 'checkers', 'chess', 'cliff_walking', 'clobber', 'coin_game', 'colored_trails', 'connect_four', 'coop_box_pushing', 'coop_to_1p', 'coordinated_mp', 'crazy_eights', 'cribbage', 'cursor_go', 'dark_chess', 'dark_hex', 'dark_hex_ir', 'deep_sea', 'dots_and_boxes', 'dou_dizhu', 'efg_game', 'einstein_wurfelt_nicht', 'euchre', 'first_sealed_auction', 'gin_rummy', 'go', 'goofspiel', 'hanabi', 'havannah', 'hearts', 'hex', 'hive', 'kriegspiel', 'kuhn_poker', 'laser_tag', 'leduc_poker', 'lewis_signaling', 'liars_dice', 'liars_dice_ir', 'lines_of_action', 'maedn', 'mancala', 'markov_soccer', 'matching_pennies_3p', 'matrix_bos', 'matrix_brps', 'matrix_cd', 'matrix_coordination', 'matrix_mp', 'matrix_pd', 'matrix_rps', 'matrix_rpsw', 'matrix_sh', 'matrix_shapleys_game', 'mfg_crowd_modelling', 'mfg_crowd_modelling_2d', 'mfg_dynamic_routing', 'mfg_garnet', 'misere', 'mnk', 'morpion_solitaire', 'negotiation', 'nfg_game', 'nim', 'nine_mens_morris', 'normal_form_extensive_game', 'oh_hell', 'oshi_zumo', 'othello', 'oware', 'pathfinding', 'pentago', 'phantom_go', 'phantom_ttt', 'phantom_ttt_ir', 'pig', 'quoridor', 'rbc', 'repeated_game', 'restricted_nash_response', 'sheriff', 'skat', 'solitaire', 'spades', 'start_at', 'stones_and_gems', 'tarok', 'tic_tac_toe', 'tiny_bridge_2p', 'tiny_bridge_4p', 'tiny_hanabi', 'trade_comm', 'turn_based_simultaneous_game', 'twixt', 'ultimate_tic_tac_toe', 'universal_poker', 'y', 'zerosum']\n" + "['2048', 'add_noise', 'amazons', 'backgammon', 'bargaining', 'battleship', 'blackjack', 'blotto', 'breakthrough', 'bridge', 'bridge_uncontested_bidding', 'cached_tree', 'catch', 'checkers', 'chess', 'cliff_walking', 'clobber', 'coin_game', 'colored_trails', 'connect_four', 'coop_box_pushing', 'coop_to_1p', 'coordinated_mp', 'crazy_eights', 'cribbage', 'cursor_go', 'dark_chess', 'dark_hex', 'dark_hex_ir', 'deep_sea', 'dots_and_boxes', 'dou_dizhu', 'efg_game', 'einstein_wurfelt_nicht', 'euchre', 'first_sealed_auction', 'gin_rummy', 'go', 'goofspiel', 'hanabi', 'havannah', 'hearts', 'hex', 'hive', 'kriegspiel', 'kuhn_poker', 'laser_tag', 'latent_ttt', 'leduc_poker', 'lewis_signaling', 'liars_dice', 'liars_dice_ir', 'lines_of_action', 'maedn', 'mancala', 'markov_soccer', 'matching_pennies_3p', 'matrix_bos', 'matrix_brps', 'matrix_cd', 'matrix_coordination', 'matrix_mp', 'matrix_pd', 'matrix_rps', 'matrix_rpsw', 'matrix_sh', 'matrix_shapleys_game', 'mfg_crowd_modelling', 'mfg_crowd_modelling_2d', 'mfg_dynamic_routing', 'mfg_garnet', 'misere', 'mnk', 'morpion_solitaire', 'negotiation', 'nfg_game', 'nim', 'nine_mens_morris', 'normal_form_extensive_game', 'oh_hell', 'oshi_zumo', 'othello', 'oware', 'pathfinding', 'pentago', 'phantom_go', 'phantom_ttt', 'phantom_ttt_ir', 'pig', 'quoridor', 'rbc', 'repeated_game', 'repeated_leduc_poker', 'repeated_poker', 'restricted_nash_response', 'sheriff', 'skat', 'solitaire', 'spades', 'start_at', 'stones_and_gems', 'tarok', 'tic_tac_toe', 'tiny_bridge_2p', 'tiny_bridge_4p', 'tiny_hanabi', 'trade_comm', 'turn_based_simultaneous_game', 'twixt', 'ultimate_tic_tac_toe', 'universal_poker', 'y', 'zerosum']\n" ] } ], @@ -468,7 +468,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 14, "id": "cdd0bfe0", "metadata": {}, "outputs": [ @@ -482,7 +482,7 @@ "Game(title='Prisoner's Dilemma')" ] }, - "execution_count": 29, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -993,7 +993,7 @@ "\u001b[31m---------------------------------------------------------------------------\u001b[39m", "\u001b[31mFileNotFoundError\u001b[39m Traceback (most recent call last)", "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[28]\u001b[39m\u001b[32m, line 1\u001b[39m\n\u001b[32m----> \u001b[39m\u001b[32m1\u001b[39m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28;43mopen\u001b[39;49m\u001b[43m(\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43m../poker.efg\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mr\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mas\u001b[39;00m f:\n\u001b[32m 2\u001b[39m poker_efg_string = f.read()\n\u001b[32m 3\u001b[39m ops_one_card_poker = pyspiel.load_efg_game(poker_efg_string)\n", - "\u001b[36mFile \u001b[39m\u001b[32m~/anaconda3/envs/gbt_pygraphviz/lib/python3.11/site-packages/IPython/core/interactiveshell.py:343\u001b[39m, in \u001b[36m_modified_open\u001b[39m\u001b[34m(file, *args, **kwargs)\u001b[39m\n\u001b[32m 336\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m file \u001b[38;5;129;01min\u001b[39;00m {\u001b[32m0\u001b[39m, \u001b[32m1\u001b[39m, \u001b[32m2\u001b[39m}:\n\u001b[32m 337\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[32m 338\u001b[39m \u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mIPython won\u001b[39m\u001b[33m'\u001b[39m\u001b[33mt let you open fd=\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mfile\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m by default \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 339\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mas it is likely to crash IPython. If you know what you are doing, \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 340\u001b[39m \u001b[33m\"\u001b[39m\u001b[33myou can use builtins\u001b[39m\u001b[33m'\u001b[39m\u001b[33m open.\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 341\u001b[39m )\n\u001b[32m--> \u001b[39m\u001b[32m343\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mio_open\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfile\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/anaconda3/envs/gambitvenv313/lib/python3.13/site-packages/IPython/core/interactiveshell.py:343\u001b[39m, in \u001b[36m_modified_open\u001b[39m\u001b[34m(file, *args, **kwargs)\u001b[39m\n\u001b[32m 336\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m file \u001b[38;5;129;01min\u001b[39;00m {\u001b[32m0\u001b[39m, \u001b[32m1\u001b[39m, \u001b[32m2\u001b[39m}:\n\u001b[32m 337\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[32m 338\u001b[39m \u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mIPython won\u001b[39m\u001b[33m'\u001b[39m\u001b[33mt let you open fd=\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mfile\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m by default \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 339\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mas it is likely to crash IPython. If you know what you are doing, \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 340\u001b[39m \u001b[33m\"\u001b[39m\u001b[33myou can use builtins\u001b[39m\u001b[33m'\u001b[39m\u001b[33m open.\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 341\u001b[39m )\n\u001b[32m--> \u001b[39m\u001b[32m343\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mio_open\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfile\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", "\u001b[31mFileNotFoundError\u001b[39m: [Errno 2] No such file or directory: '../poker.efg'" ] } @@ -1200,7 +1200,7 @@ ], "metadata": { "kernelspec": { - "display_name": "gbt_pygraphviz", + "display_name": "gambitvenv313", "language": "python", "name": "python3" }, @@ -1214,7 +1214,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.13" + "version": "3.13.5" } }, "nbformat": 4, From e3591f978cd3f56cbe177575a58469c6cddf07b7 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 19 Nov 2025 10:09:03 +0000 Subject: [PATCH 232/240] tidy notebook --- .../openspiel.ipynb | 186 +++++++++++++----- 1 file changed, 141 insertions(+), 45 deletions(-) diff --git a/doc/tutorials/interoperability_tutorials/openspiel.ipynb b/doc/tutorials/interoperability_tutorials/openspiel.ipynb index eb8202da4..6ac528edc 100644 --- a/doc/tutorials/interoperability_tutorials/openspiel.ipynb +++ b/doc/tutorials/interoperability_tutorials/openspiel.ipynb @@ -4,9 +4,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Using Gambit with OpenSpiel\n", + "# Usinops_one_card_poker ops_one_card_pokerambit with OpenSpiel\n", "\n", - "This tutorial demonstrates the interoperability of the Gambit and OpenSpiel Python packages for game-theoretic analysis.\n", + "This tutorial demonstrates the interoperability of the ops_one_card_pokerambit and OpenSpiel Python packages for game-theoretic analysis.\n", "\n", "Where Gambit is used to compute exact equilibria for games, OpenSpiel provides a variety of iterative learning algorithms that can be used to approximate strategies. Another key distinction is that the PyGambit API allows the user a simple way to define custom games (see tutorials 1-3). This is also possible in OpenSpiel for normal form games, and you can load `.efg` files created from Gambit for extensive form, however some of the key functionality for iterated learning of strategies is only available for games from the built-in library (see the [OpenSpiel documentation](https://openspiel.readthedocs.io/en/latest/games.html)).\n", "\n", @@ -18,7 +18,7 @@ "4. Comparing the strategies from OpenSpiel against equilibria strategies computed with Gambit\n", "\n", "Note:\n", - "- The version of OpenSpiel used in this tutorial is `1.6.1`. If you are running this tutorial locally, this will be the version installed via the included `requirements.txt` file.\n", + "- The version of OpenSpiel used in this tutorial is `1.6.9`. If you are running this tutorial locally, this will be the version installed via the included `requirements.txt` file.\n", "- The OpenSpiel code was adapted from the introductory tutorial for the OpenSpiel API on colab [here](https://colab.research.google.com/github/deepmind/open_spiel/blob/master/open_spiel/colabs/OpenSpielTutorial.ipynb)." ] }, @@ -928,13 +928,13 @@ "output_type": "stream", "text": [ "\n", - "p0:d1 p1:d0\n", - "Agent 0 chooses p0a0\n", + "p0:d0 p1:d1\n", + "Agent 0 chooses p0a2\n", "\n", - "p0:d1 p1:d0 p0:a0\n", + "p0:d0 p1:d1 p0:a2\n", "Agent 1 chooses p1a2\n", "\n", - "p0:d1 p1:d0 p0:a0 p1:a2\n", + "p0:d0 p1:d1 p0:a2 p1:a2\n", "Rewards: [10.0, 10.0]\n" ] } @@ -976,32 +976,86 @@ "source": [ "## Extensive form games created with Gambit\n", "\n", - "It's also possible to create an extensive form game in Gambit and export it to OpenSpiel. Here we demonstrate this with the one-card poker game introduced in tutorial 3." + "It's also possible to create an extensive form game in Gambit and export it to OpenSpiel. Here we demonstrate this with the one-card poker game introduced in tutorial 3:" ] }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 47, + "id": "77dc34c8", + "metadata": {}, + "outputs": [], + "source": [ + "gbt_one_card_poker = gbt.Game.new_tree(\n", + " players=[\"Alice\", \"Bob\"],\n", + " title=\"Stripped-Down Poker: a simple game of one-card poker from Reiley et al (2008).\"\n", + ")\n", + "\n", + "gbt_one_card_poker.append_move(\n", + " gbt_one_card_poker.root,\n", + " player=gbt_one_card_poker.players.chance,\n", + " actions=[\"King\", \"Queen\"] # By default, chance actions have equal probabilities\n", + ")\n", + "\n", + "for node in gbt_one_card_poker.root.children:\n", + " gbt_one_card_poker.append_move(\n", + " node,\n", + " player=\"Alice\",\n", + " actions=[\"Bet\", \"Fold\"]\n", + " )\n", + "\n", + "gbt_one_card_poker.append_move(\n", + " [gbt_one_card_poker.root.children[\"King\"].children[\"Bet\"], gbt_one_card_poker.root.children[\"Queen\"].children[\"Bet\"]],\n", + " player=\"Bob\",\n", + " actions=[\"Call\", \"Fold\"]\n", + ")\n", + "\n", + "win_big = gbt_one_card_poker.add_outcome([2, -2], label=\"Win Big\")\n", + "win = gbt_one_card_poker.add_outcome([1, -1], label=\"Win\")\n", + "lose_big = gbt_one_card_poker.add_outcome([-2, 2], label=\"Lose Big\")\n", + "lose = gbt_one_card_poker.add_outcome([-1, 1], label=\"Lose\")\n", + "\n", + "# Alice folds, Bob wins small\n", + "gbt_one_card_poker.set_outcome(gbt_one_card_poker.root.children[\"King\"].children[\"Fold\"], lose)\n", + "gbt_one_card_poker.set_outcome(gbt_one_card_poker.root.children[\"Queen\"].children[\"Fold\"], lose)\n", + "# Bob sees Alice Bet and calls, correctly believing she is bluffing, Bob wins big\n", + "gbt_one_card_poker.set_outcome(gbt_one_card_poker.root.children[\"Queen\"].children[\"Bet\"].children[\"Call\"], lose_big)\n", + "\n", + "# Bob sees Alice Bet and calls, incorrectly believing she is bluffing, Alice wins big\n", + "gbt_one_card_poker.set_outcome(gbt_one_card_poker.root.children[\"King\"].children[\"Bet\"].children[\"Call\"], win_big)\n", + "\n", + "# Bob does not call Alice's Bet, Alice wins small\n", + "gbt_one_card_poker.set_outcome(gbt_one_card_poker.root.children[\"King\"].children[\"Bet\"].children[\"Fold\"], win)\n", + "gbt_one_card_poker.set_outcome(gbt_one_card_poker.root.children[\"Queen\"].children[\"Bet\"].children[\"Fold\"], win)" + ] + }, + { + "cell_type": "markdown", + "id": "4f296f44", + "metadata": {}, + "source": [ + "Create the game in OpenSpiel:" + ] + }, + { + "cell_type": "code", + "execution_count": 48, "id": "07340e32", "metadata": {}, "outputs": [ { - "ename": "FileNotFoundError", - "evalue": "[Errno 2] No such file or directory: '../poker.efg'", - "output_type": "error", - "traceback": [ - "\u001b[31m---------------------------------------------------------------------------\u001b[39m", - "\u001b[31mFileNotFoundError\u001b[39m Traceback (most recent call last)", - "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[28]\u001b[39m\u001b[32m, line 1\u001b[39m\n\u001b[32m----> \u001b[39m\u001b[32m1\u001b[39m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28;43mopen\u001b[39;49m\u001b[43m(\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43m../poker.efg\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mr\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mas\u001b[39;00m f:\n\u001b[32m 2\u001b[39m poker_efg_string = f.read()\n\u001b[32m 3\u001b[39m ops_one_card_poker = pyspiel.load_efg_game(poker_efg_string)\n", - "\u001b[36mFile \u001b[39m\u001b[32m~/anaconda3/envs/gambitvenv313/lib/python3.13/site-packages/IPython/core/interactiveshell.py:343\u001b[39m, in \u001b[36m_modified_open\u001b[39m\u001b[34m(file, *args, **kwargs)\u001b[39m\n\u001b[32m 336\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m file \u001b[38;5;129;01min\u001b[39;00m {\u001b[32m0\u001b[39m, \u001b[32m1\u001b[39m, \u001b[32m2\u001b[39m}:\n\u001b[32m 337\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[32m 338\u001b[39m \u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mIPython won\u001b[39m\u001b[33m'\u001b[39m\u001b[33mt let you open fd=\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mfile\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m by default \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 339\u001b[39m \u001b[33m\"\u001b[39m\u001b[33mas it is likely to crash IPython. If you know what you are doing, \u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 340\u001b[39m \u001b[33m\"\u001b[39m\u001b[33myou can use builtins\u001b[39m\u001b[33m'\u001b[39m\u001b[33m open.\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m 341\u001b[39m )\n\u001b[32m--> \u001b[39m\u001b[32m343\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mio_open\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfile\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", - "\u001b[31mFileNotFoundError\u001b[39m: [Errno 2] No such file or directory: '../poker.efg'" - ] + "data": { + "text/plain": [ + "efg_game()" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "with open(\"../poker.efg\", \"r\") as f:\n", - " poker_efg_string = f.read()\n", - " ops_one_card_poker = pyspiel.load_efg_game(poker_efg_string)\n", + "ops_one_card_poker = pyspiel.load_efg_game(gbt_one_card_poker.to_efg())\n", "ops_one_card_poker" ] }, @@ -1017,17 +1071,17 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 49, "id": "c01c4d6f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "4" + "3" ] }, - "execution_count": 29, + "execution_count": 49, "metadata": {}, "output_type": "execute_result" } @@ -1041,14 +1095,14 @@ "id": "9986860c", "metadata": {}, "source": [ - "The one-card poker game has 4 distinct actions, 2 are for the first player (Alice in the example game): \"Raise\" and \"Fold\", and 2 for the second player (Bob): \"Meet\" and \"Pass\".\n", + "The one-card poker game has 4 distinct actions, 2 are for the first player (Alice in the example game): \"Bet\" and \"Fold\", and 2 for the second player (Bob): \"Call\" and \"Fold\".\n", "\n", "Initialising the game state, we can see the current player at the start is the chance player, who deals the cards:" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 50, "id": "3b9cc43b", "metadata": {}, "outputs": [ @@ -1058,7 +1112,7 @@ "0: Chance: 1 King 0.5 Queen 0.5" ] }, - "execution_count": 30, + "execution_count": 50, "metadata": {}, "output_type": "execute_result" } @@ -1068,6 +1122,27 @@ "state" ] }, + { + "cell_type": "code", + "execution_count": 51, + "id": "e23df723", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[0, 1]" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "state.legal_actions()" + ] + }, { "cell_type": "markdown", "id": "7b0959f9", @@ -1078,17 +1153,17 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 52, "id": "4dd5d504", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "1: Player: 1 1 Raise Fold" + "1: Player: 1 1 Bet Fold" ] }, - "execution_count": 31, + "execution_count": 52, "metadata": {}, "output_type": "execute_result" } @@ -1098,28 +1173,49 @@ "state" ] }, + { + "cell_type": "code", + "execution_count": 53, + "id": "be557706", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[0, 1]" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "state.legal_actions()" + ] + }, { "cell_type": "markdown", "id": "b4291f07", "metadata": {}, "source": [ "As expected, it's now the first player's (Alice's) turn.\n", - "Let's have Alice choose to \"Raise\" (action 0):" + "Let's have Alice choose to \"Bet\" (action 0):" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 54, "id": "bd15369f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "3: Player: 2 1 Meet Pass" + "3: Player: 2 1 Call Fold" ] }, - "execution_count": 32, + "execution_count": 54, "metadata": {}, "output_type": "execute_result" } @@ -1139,17 +1235,17 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 55, "id": "8d81ff6b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[2, 3]" + "[1, 2]" ] }, - "execution_count": 33, + "execution_count": 55, "metadata": {}, "output_type": "execute_result" } @@ -1163,29 +1259,29 @@ "id": "fdb5194f", "metadata": {}, "source": [ - "Whereas player 1 (Alice) had the option to \"Raise\" (action 0) and \"Fold\" (action 1), player 2 (Bob) now has the option to \"Meet\" (action 2) or \"Pass\" (action 3).\n", - "Let's have Bob choose to \"Pass\":" + "Player 2 (Bob) now has the option to \"Call\" (action 1) or \"Fold\" (action 2).\n", + "Let's have Bob choose to \"Fold\":" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 56, "id": "97913fe5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "6: Terminal: Alice wins 1 -1" + "6: Terminal: Win 1 -1" ] }, - "execution_count": 34, + "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "state.apply_action(3)\n", + "state.apply_action(2)\n", "state" ] }, @@ -1194,7 +1290,7 @@ "id": "1bf09576", "metadata": {}, "source": [ - "Since Bob passed, Alice takes the small win and we reach a terminal state." + "Since Bob Folded, Alice takes the small win and we reach a terminal state." ] } ], From d6dcabdc80bb61be90774f36cd1402fff7a8e1f3 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 19 Nov 2025 10:11:45 +0000 Subject: [PATCH 233/240] colon consistency --- .../interoperability_tutorials/openspiel.ipynb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/tutorials/interoperability_tutorials/openspiel.ipynb b/doc/tutorials/interoperability_tutorials/openspiel.ipynb index 6ac528edc..74a566eea 100644 --- a/doc/tutorials/interoperability_tutorials/openspiel.ipynb +++ b/doc/tutorials/interoperability_tutorials/openspiel.ipynb @@ -233,7 +233,7 @@ "metadata": {}, "source": [ "Now let's load the NFG in Gambit. Since Gambit's `read_nfg` function expects a file like object, we'll convert the string with `io.StringIO`.\n", - "We can also add labels for the actions to make the output more interpretable." + "We can also add labels for the actions to make the output more interpretable:" ] }, { @@ -463,7 +463,7 @@ "source": [ "## Normal form games created with Gambit\n", "\n", - "You can also set up a normal form game in Gambit and export it to OpenSpiel. Here we demonstrate this with a simple Prisoner's Dilemma game." + "You can also set up a normal form game in Gambit and export it to OpenSpiel. Here we demonstrate this with a simple Prisoner's Dilemma game:" ] }, { @@ -652,7 +652,7 @@ "source": [ "## Extensive form games from the OpenSpiel library\n", "\n", - "For extensive form games, OpenSpiel can export to the EFG format used by Gambit. Here we demonstrate this with **Tiny Hanabi**, loaded from the OpenSpiel [game library](https://openspiel.readthedocs.io/en/latest/games.html)." + "For extensive form games, OpenSpiel can export to the EFG format used by Gambit. Here we demonstrate this with **Tiny Hanabi**, loaded from the OpenSpiel [game library](https://openspiel.readthedocs.io/en/latest/games.html):" ] }, { @@ -684,7 +684,7 @@ "metadata": {}, "source": [ "Now let's load the EFG in Gambit.\n", - "We can then compute equilibria strategies for the players as usual." + "We can then compute equilibria strategies for the players as usual:" ] }, { @@ -871,7 +871,7 @@ "id": "4bf9eea4", "metadata": {}, "source": [ - "Now we can train the Q-learning agents in self-play." + "Now we can train the Q-learning agents in self-play:" ] }, { From db88be7e17967f5298af3f9cda25613e96a82510 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 19 Nov 2025 10:17:47 +0000 Subject: [PATCH 234/240] fix title --- doc/tutorials/interoperability_tutorials/openspiel.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/tutorials/interoperability_tutorials/openspiel.ipynb b/doc/tutorials/interoperability_tutorials/openspiel.ipynb index 74a566eea..eccfc87a1 100644 --- a/doc/tutorials/interoperability_tutorials/openspiel.ipynb +++ b/doc/tutorials/interoperability_tutorials/openspiel.ipynb @@ -4,9 +4,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Usinops_one_card_poker ops_one_card_pokerambit with OpenSpiel\n", + "# Using Gambit with OpenSpiel\n", "\n", - "This tutorial demonstrates the interoperability of the ops_one_card_pokerambit and OpenSpiel Python packages for game-theoretic analysis.\n", + "This tutorial demonstrates the interoperability of the Gambit and OpenSpiel Python packages for game-theoretic analysis.\n", "\n", "Where Gambit is used to compute exact equilibria for games, OpenSpiel provides a variety of iterative learning algorithms that can be used to approximate strategies. Another key distinction is that the PyGambit API allows the user a simple way to define custom games (see tutorials 1-3). This is also possible in OpenSpiel for normal form games, and you can load `.efg` files created from Gambit for extensive form, however some of the key functionality for iterated learning of strategies is only available for games from the built-in library (see the [OpenSpiel documentation](https://openspiel.readthedocs.io/en/latest/games.html)).\n", "\n", From 3185b1188a05ad07b5eaabfc9a0e0bd9f01b3feb Mon Sep 17 00:00:00 2001 From: Theodore Turocy Date: Wed, 19 Nov 2025 10:51:08 +0000 Subject: [PATCH 235/240] Move UI-independent tree layout to game --- Makefile.am | 4 ++-- src/{gui => games}/layout.cc | 0 src/{gui => games}/layout.h | 15 ++++++++------- src/gui/efglayout.cc | 5 +---- src/gui/efglayout.h | 4 ++-- 5 files changed, 13 insertions(+), 15 deletions(-) rename src/{gui => games}/layout.cc (100%) rename src/{gui => games}/layout.h (91%) diff --git a/Makefile.am b/Makefile.am index 86040249e..681edc9ca 100644 --- a/Makefile.am +++ b/Makefile.am @@ -313,6 +313,8 @@ game_SOURCES = \ src/games/file.cc \ src/games/writer.cc \ src/games/writer.h \ + src/games/layout.cc \ + src/games/layout.h \ ${agg_SOURCES} \ src/games/nash.h @@ -589,8 +591,6 @@ gambit_SOURCES = \ src/gui/gamedoc.h \ src/gui/gameframe.cc \ src/gui/gameframe.h \ - src/gui/layout.cc \ - src/gui/layout.h \ src/gui/menuconst.h \ src/gui/nfgpanel.cc \ src/gui/nfgpanel.h \ diff --git a/src/gui/layout.cc b/src/games/layout.cc similarity index 100% rename from src/gui/layout.cc rename to src/games/layout.cc diff --git a/src/gui/layout.h b/src/games/layout.h similarity index 91% rename from src/gui/layout.h rename to src/games/layout.h index 477705637..a0f59c98a 100644 --- a/src/gui/layout.h +++ b/src/games/layout.h @@ -2,8 +2,8 @@ // This file is part of Gambit // Copyright (c) 1994-2025, The Gambit Project (https://www.gambit-project.org) // -// FILE: src/gui/efglayout.h -// Interface to tree layout representation +// FILE: src/games/layout.h +// Interface to generic tree layout representation // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -20,13 +20,13 @@ // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // -#ifndef GAMBIT_LAYOUT_H -#define GAMBIT_LAYOUT_H - -#include "gambit.h" +#ifndef GAMBIT_GAMES_TREELAYOUT_H +#define GAMBIT_GAMES_TREELAYOUT_H #include +#include "gambit.h" + namespace Gambit { struct LayoutEntry { friend class Layout; @@ -59,4 +59,5 @@ class Layout { double GetMaxOffset() const { return m_maxOffset; } }; } // namespace Gambit -#endif // GAMBIT_LAYOUT_H + +#endif // GAMBIT_GAMES_TREELAYOUT_H diff --git a/src/gui/efglayout.cc b/src/gui/efglayout.cc index af9a595d9..c876756f0 100644 --- a/src/gui/efglayout.cc +++ b/src/gui/efglayout.cc @@ -29,10 +29,7 @@ #include #endif // WX_PRECOMP -#include "gambit.h" -#include "efgdisplay.h" - -#include "layout.h" +#include "efglayout.h" namespace Gambit::GUI { namespace { diff --git a/src/gui/efglayout.h b/src/gui/efglayout.h index 365861fc9..823482365 100644 --- a/src/gui/efglayout.h +++ b/src/gui/efglayout.h @@ -26,7 +26,7 @@ #include "gambit.h" #include "gamedoc.h" -#include "layout.h" +#include "games/layout.h" namespace Gambit::GUI { class NodeEntry { @@ -118,7 +118,7 @@ class TreeLayout final : public GameView { /// Based on node levels and information set sublevels, compute the depth /// (X coordinate) of all nodes - void ComputeNodeDepths(const Gambit::Layout &) const; + void ComputeNodeDepths(const Layout &) const; void ComputeRenderedParents() const; wxString CreateNodeLabel(const std::shared_ptr &, int) const; From 2cc3997350234796400ebd1888f13939867a8b8a Mon Sep 17 00:00:00 2001 From: Theodore Turocy Date: Wed, 19 Nov 2025 15:20:35 +0000 Subject: [PATCH 236/240] Rudimentary exposure of tree layout in Python --- src/games/layout.h | 14 ++++++++++++++ src/pygambit/gambit.pxd | 8 ++++++++ src/pygambit/game.pxi | 16 ++++++++++++++++ 3 files changed, 38 insertions(+) diff --git a/src/games/layout.h b/src/games/layout.h index a0f59c98a..9fa4ad53f 100644 --- a/src/games/layout.h +++ b/src/games/layout.h @@ -26,8 +26,10 @@ #include #include "gambit.h" +#include "game.h" namespace Gambit { + struct LayoutEntry { friend class Layout; double m_offset{-1}; // Cartesian coordinates of node @@ -54,10 +56,22 @@ class Layout { void LayoutTree(const BehaviorSupportProfile &); const std::map> &GetNodeMap() const { return m_nodeMap; } + int GetNodeLevel(const GameNode &p_node) const { return m_nodeMap.at(p_node)->m_level; } + int GetNodeSublevel(const GameNode &p_node) const { return m_nodeMap.at(p_node)->m_sublevel; } + double GetNodeOffset(const GameNode &p_node) const { return m_nodeMap.at(p_node)->m_offset; } + const std::vector &GetNumSublevels() const { return m_numSublevels; } double GetMinOffset() const { return 0; } double GetMaxOffset() const { return m_maxOffset; } }; + +inline std::shared_ptr CreateLayout(const Game &p_game) +{ + auto layout = std::make_shared(p_game); + layout->LayoutTree(BehaviorSupportProfile(p_game)); + return layout; +} + } // namespace Gambit #endif // GAMBIT_GAMES_TREELAYOUT_H diff --git a/src/pygambit/gambit.pxd b/src/pygambit/gambit.pxd index e492d9c00..a6c6bb40b 100644 --- a/src/pygambit/gambit.pxd +++ b/src/pygambit/gambit.pxd @@ -417,6 +417,14 @@ cdef extern from "games/behavspt.h": c_BehaviorSupportProfile(c_Game) except + +cdef extern from "games/layout.h": + cdef cppclass c_Layout "Layout": + int GetNodeLevel(c_GameNode) except + + int GetNodeSublevel(c_GameNode) except + + double GetNodeOffset(c_GameNode) except + + shared_ptr[c_Layout] CreateLayout(c_Game) except + + + cdef extern from "util.h": c_Game ParseGbtGame(string) except +IOError c_Game ParseEfgGame(string) except +IOError diff --git a/src/pygambit/game.pxi b/src/pygambit/game.pxi index 082b08b62..347e85c91 100644 --- a/src/pygambit/game.pxi +++ b/src/pygambit/game.pxi @@ -23,6 +23,7 @@ import io import itertools import pathlib +import cython import numpy as np import scipy.stats @@ -2030,3 +2031,18 @@ class Game: if len(resolved_strategy.player.strategies) == 1: raise UndefinedOperationError("Cannot delete the only strategy for a player") self.game.deref().DeleteStrategy(resolved_strategy.strategy) + + +@cython.cfunc +def _layout_tree(game: Game) -> dict[GameNode, dict]: + layout = CreateLayout(game.game) + data = {} + for node in game.nodes: + data[node] = {"level": deref(layout).GetNodeLevel(cython.cast(Node, node).node), + "sublevel": deref(layout).GetNodeSublevel(cython.cast(Node, node).node), + "offset": deref(layout).GetNodeOffset(cython.cast(Node, node).node)} + return data + + +def layout_tree(game: Game) -> dict[GameNode, dict]: + return _layout_tree(game) From 442188b12d846d9f41e3cbdf5e47e57c6e1422eb Mon Sep 17 00:00:00 2001 From: Theodore Turocy Date: Wed, 19 Nov 2025 15:24:35 +0000 Subject: [PATCH 237/240] Rudimentary exposure of tree layout in Python. Closes #596. --- src/pygambit/game.pxi | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/pygambit/game.pxi b/src/pygambit/game.pxi index 347e85c91..4dd1de5b8 100644 --- a/src/pygambit/game.pxi +++ b/src/pygambit/game.pxi @@ -19,6 +19,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # +import dataclasses import io import itertools import pathlib @@ -2033,14 +2034,21 @@ class Game: self.game.deref().DeleteStrategy(resolved_strategy.strategy) +@dataclasses.dataclass +class NodeCoordinates: + level: int + sublevel: int + offset: float + + @cython.cfunc -def _layout_tree(game: Game) -> dict[GameNode, dict]: +def _layout_tree(game: Game) -> dict[GameNode, NodeCoordinates]: layout = CreateLayout(game.game) data = {} for node in game.nodes: - data[node] = {"level": deref(layout).GetNodeLevel(cython.cast(Node, node).node), - "sublevel": deref(layout).GetNodeSublevel(cython.cast(Node, node).node), - "offset": deref(layout).GetNodeOffset(cython.cast(Node, node).node)} + data[node] = NodeCoordinates(deref(layout).GetNodeLevel(cython.cast(Node, node).node), + deref(layout).GetNodeSublevel(cython.cast(Node, node).node), + deref(layout).GetNodeOffset(cython.cast(Node, node).node)) return data From 6e1b2185e07a5a4873f800fc5c2b412bc0bea500 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 20 Nov 2025 10:39:31 +0000 Subject: [PATCH 238/240] current and expected API behavior. --- doc/tutorials/02_extensive_form.ipynb | 73 ++++++++++++++++++++------- 1 file changed, 56 insertions(+), 17 deletions(-) diff --git a/doc/tutorials/02_extensive_form.ipynb b/doc/tutorials/02_extensive_form.ipynb index 99c5bf9b3..38d2b6b14 100644 --- a/doc/tutorials/02_extensive_form.ipynb +++ b/doc/tutorials/02_extensive_form.ipynb @@ -29,17 +29,18 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 12, "id": "5946289b", "metadata": {}, "outputs": [], "source": [ - "import pygambit as gbt" + "import pygambit as gbt\n", + "from draw_tree import draw_tree" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 13, "id": "91ed4dfb", "metadata": {}, "outputs": [], @@ -60,7 +61,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 14, "id": "3cd94917", "metadata": {}, "outputs": [ @@ -70,7 +71,7 @@ "0" ] }, - "execution_count": 3, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -91,7 +92,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 15, "id": "5d27a07a", "metadata": {}, "outputs": [ @@ -101,7 +102,7 @@ "2" ] }, - "execution_count": 4, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -125,7 +126,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 16, "id": "47c4a31b", "metadata": {}, "outputs": [], @@ -151,7 +152,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 17, "id": "716e9b9a", "metadata": {}, "outputs": [], @@ -175,7 +176,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 18, "id": "695b1aad", "metadata": {}, "outputs": [], @@ -199,7 +200,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 19, "id": "0704ef86", "metadata": {}, "outputs": [], @@ -220,7 +221,31 @@ "source": [ "Nodes without an outcome attached are assumed to have payoffs of zero for all players.\n", "\n", - "Therefore, adding the outcome to this latter terminal node is not strictly necessary in Gambit, but it is useful to be explicit for readability." + "Therefore, adding the outcome to this latter terminal node is not strictly necessary in Gambit, but it is useful to be explicit for readability.\n", + "\n", + "Visualizing an extensive form game\n", + "----------------------------------\n", + "\n", + "We can visualize the game tree using the `draw_tree` package, which accepts a Gambit game object." + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "9e1efa88", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/bin/sh: pdflatex: command not found\n" + ] + } + ], + "source": [ + "# draw_tree(g)\n", + "draw_tree(\"trust_game.efg\")" ] }, { @@ -239,12 +264,12 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 20, "id": "37c51152", "metadata": {}, "outputs": [], "source": [ - "# g.to_efg(\"trust_game.efg\")" + "g.to_efg(\"trust_game.efg\")" ] }, { @@ -257,12 +282,26 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 21, "id": "0d86a750", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "Game(title='One-shot trust game, after Kreps (1990)')" + ], + "text/plain": [ + "Game(title='One-shot trust game, after Kreps (1990)')" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# gbt.read_efg(\"trust_game.efg\")" + "gbt.read_efg(\"trust_game.efg\")" ] }, { From e9a43daee8eb121aa276617280c993686bd1e38c Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 20 Nov 2025 10:44:03 +0000 Subject: [PATCH 239/240] temp commit to see if draw_tree renders correctly --- doc/tutorials/02_extensive_form.ipynb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/tutorials/02_extensive_form.ipynb b/doc/tutorials/02_extensive_form.ipynb index 38d2b6b14..aec349c08 100644 --- a/doc/tutorials/02_extensive_form.ipynb +++ b/doc/tutorials/02_extensive_form.ipynb @@ -231,7 +231,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": null, "id": "9e1efa88", "metadata": {}, "outputs": [ @@ -244,8 +244,7 @@ } ], "source": [ - "# draw_tree(g)\n", - "draw_tree(\"trust_game.efg\")" + "# draw_tree(g)" ] }, { @@ -264,12 +263,13 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "id": "37c51152", "metadata": {}, "outputs": [], "source": [ - "g.to_efg(\"trust_game.efg\")" + "g.to_efg(\"trust_game.efg\")\n", + "draw_tree(\"trust_game.efg\")" ] }, { From f450f3ea9b930e485607f9e9237c82cda56ef04e Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 20 Nov 2025 11:00:53 +0000 Subject: [PATCH 240/240] Clarify installation instructions for the draw_tree package in running_locally.rst --- doc/tutorials/running_locally.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/tutorials/running_locally.rst b/doc/tutorials/running_locally.rst index 250d1ffbf..72509dff8 100644 --- a/doc/tutorials/running_locally.rst +++ b/doc/tutorials/running_locally.rst @@ -18,7 +18,7 @@ You will need a working installation of Python 3.9+ on your machine to run PyGam pip install pygambit pip install -r requirements.txt -3. *[Optional]* For the extensive form visualizations, you'll also need to install the `draw_tree` package, which requires a LaTeX installation. Follow the `installation instructions `_ for draw_tree on your OS. +3. You'll also need to install the requirements of the `draw_tree` package, which includes a LaTeX installation. Follow the `installation instructions `_ for draw_tree on your OS. 4. Open `JupyterLab` and click on any of the tutorial notebooks (files ending in `.ipynb`) ::

oN29ac1ME`3}Xi$`K0LmZ!z^fb*z{EIZP}*KdLH< z77%2H%A7}SJ-VT&ziT#i`jRs0yX@!w!cJu1TldmeK28N0n^YLZb*{6D@XfuxEqqW* zfn(o060df%Sg4_?-ATZ75${<+e0Z41Vo*&jh1Lg7v4}AkLuID@oM7Px8Z|oeM0o%a zNQL^&$lUK)t6RTw;x};4ONKG}n@UXWo9Z!3kr+{|PFfjvM*`|N_meGR7Ohzh!vjxi zxMt$}kY0h{Z0|St!dk2fnYwklQSL9H~%?^z8qOx-I@`4N0jE(>!3P~v!Igz(xxeC zkcUHNT%%c#brNy-W23L1{B(~^F+Y977p(nb+AQ^(-{RSuNx8uXE;EPbdBj+b%`0X2 ztb>df&z!ON_Gi1aD7oCpftsgI=HLYrKKmCQ*{%EL6^e5wrZX`&g~Erpr?z9)O6C|^ zS>r`CR&@59{*Es-?tIomk;C+PtFA}ErCYwNk845NLx%h0fKIAi?-HHky_L;6V0#;? zHPZ z|LVVd{iFZ+|9JiR{Dq4zfBUcao6H}+^WFS}JCFPUjbD9}KfjSG^I!a#V}cvM@zRON zu2s&x%Oxpl$>WO;U*-OiL_X$kK$SitE%cDI>1Lx7b zZGiX`zx^dH|H*>yCEe>o6~g@q`uSlFT*mRx+%i=n^iBe5CQ-3K2=r>TM@R63v_5h* z|Fi(QlRMC84B?^jsO8sjZRT_3AuxwFXQb|IYcd%2DI+rL0o)&!m}kkU!=*?zeX%a7)N2tE z338rA@lIF%i8{5!ZcGx~!JK}v|Mwm^iE$#&U9vn=`NHo&i?JVBp3Pyk5%m zum}u{NMdsaetN+iBsdK9Di*(tx*P~$c&wXmFekRrJOty708YN)oiVYS;M8jT!O)BO z;_n-p05Qc(?Ir;+!NL)lHIo6A+8#%Yz-&4bJUzf2&-M=Q<}l@q&xFB>!Tch~hm2t# z;WuaG@b`ARtV6#UH3y7#;d9=hY;F-UPR<(-CC{6jlbcJ-oUvOm?6t?A_bk+49l_9m zYjnR?A*(s1ru=^paIa2;>pR@BY;5;MBet%?-&ju%Cy&AIiC*xpu8ypmO$t*v=-BRI zYf+ES{&BF(sgW_$$Fu6?Lf>7%vGa0MH`$b@xMGI6Q8g61%;eWGQ6s|TYXc0JW3s2r zuUtQCWI^}@PhRE(KHo0itPu*R?yc6U^&-`g$D7+qEZVkp4D%0A4z= zlbb9!Wk@#p)VRu=1vhuJ?4$9v9&}OJ=|Ig6LzG|-2Co&!i8xY~PtH*Vdb0C19uNkv zNiz?uyc46~t~EA>)kF}>F|o}pK1B)=(0k&1J_2^*K?Fe#oVve|83k>hm%Dl-JaW_@ zE%*^?DId=j0nr=2#7SMe$6lnT_L43a2pt-MzOE+IMd4i3rNat#!!f(HhETUhw& z=tmTLjeETh?OY)1+(3YNdIOUOqJy)6E?Hf&lrOO(&vbHbY(M`ANUj{D4AA$h(3POX za!w5D5xkvHs1ZJT2oFK;{SXmdU2|k|VvsKmW2aUD==;Pt8HPHz^SW(t@x@;ZywX2C z041FV;_zVaWAMPlboftgp<28!7u?w2+qc(W>%x^kKixvf1!t)n$HP9tIC}7TxP$S^0wh_@)of|NabDbuxH?AVatn z$ZXhXwFRO4yg}(jp}vp;*f(HvVJ=%Wvwfj!GMK41R zdxLjL#Vr28$Z4$Z&*nWi_Ah+#J)};$e)?`ca2WUwRKLyb*_Thg{V+r(53|w$!Z)1$ z^GH;1Yj7W*J7aVwhHD8XI^T5Fvb`_}H8FV#tAE|jemBzfBzK;mh!NlBnzxGN1m|22 zaO2C->ucWpsW&G0<-qmvkkcA)f35=Qa;V+OJUMn=4p5EUQ|94np3(uxDCUHzascGQ zSe}tdSBJ{`fu^r3eX>hBKl|nD@BG*K^BI5rKYjfmA25IQNB=M%2!HeX^u7GqjC`_6 zdp@NXJ~i5h{61J}hf8hTKeG{o&GQ{K&En<&9`wo zV>RdAMPI1_uxpv~k*jXMq7O)F!?7BTKs`*20W4$JWFU`%T1A3?<|X+5=z80qYq#~R zYd-5)Yj^M6-EGD0ifoW3mb4UTTC_zHKluI;NQmKsA4pKs;s>Qc;1hp?G58Xr)&zs` zHHb!uHO3eSAFv1tDFhq)#!GGYhSGNL?!DHtp5^iT9p^c&Yu;-y?m5Rb#(5s+alVXk zUGtjrp3nWjkmtk?N3UfW5a&f^F1W29Y6%1O^j5*K^ZkIyI!8f6Br?Hm-G98gix_Ws>=bpqfdvCzR#W)AA;V}l$ZtQ?6M6s=P!E~vr zDVJmICYKE^{@6RHwA;0A&~byKJjE;*^E|~yhVdeSrztuZ1WF zqDFvHi*U+enPbq0Sl6_u8&{}LObmGCtgrp>!C!6;<{n7TPu8Z&``$gF`dW~PT=(Fj z=n^K{7PS8GdH-bb_?rYgAT0Cx95uPA1JZ5`p;?P=(lcTc4L zYetMSo|k>sfl%0Y?y9X3d{(6%jhEc#J`0-OV#iD5-3Ma>j%O6>yRWm6*`nkTrSU+P z!PbR)Vq*vU^e@OZ5%QQ9FoNHtLP{RGJ~F~EvyfFMEuF!^wH)9&)_?Xb^ew|g1eS*| zyG#?8A36BfVUwTUir^FQbN)Ev9$z+9_T zAB|56K#-*Y#CFDntF-#ns1`NXw#DZ-E2`C=4^65}`j~xIzH&ox_E{(N$vf{Sgb-Wv zouo(JgEbmUB&k?5B(O;C=}^B?QL!*yiU4ERz9bI*f95DRg?F&f_8 zJDH#NRvHG9rVRt^&g7;bKb<{?aY}_wI|9wHhi>~BPnzm0O3wh(DET>cLC(1m2mQs9 zAaVHYz9$!)?#e(HUYs|qxc{?xr`NGsoPPp+wFc;V6tke!1`tc7wkC8r= z6kFwB^(}!y9^!9I@SUjl(m&5$bK-BiA_gv&o=h0o$gO2eXC<^1K{qg$)R;GLT0>u*2a- z9h!sP+MgJr5g+vZ1@R<{rxMDy1&-`oVtg>b8a5WO`q)LJKo}VYMewa)=@OFVRNCTJ$Fl*o-b`@i|lpr(*46HG(F*2~xMA2^ufEsWuq6%JQRjclY z!N_JO0At!i1|wjep?RyjM%XTX(h}ibLqS}|hMOY6%_ynD)$gt8jcy5d5DXmGhbiT9 zb;fA#&wEoC0(>lwn4wh#pJB#B1maL2jE5!oAMbwdbA)eZTeR+oNX--HW|hNeS|Fuey{H1Qgpf&?S{Zk2n1en5 zFoJq9lBs!Y3|J_}Mtf|Ag5k=*c{7PKo_h#jFj6c&6IPK1M@O?KZlp5d`q+hi@?I-B zCU$_HYhyE!l;6CAW_hDfXHkms+=w4xgWdC`U~GmlhsEPxHey7bCkOT-O`Fw?%zVUw z94-b<$4fvm49-~uy_Q`3m<_GNdq)}@C#;qZ9}|zYBp75{AJii{-)4stn{l*IaELh# zpkRW`7LYQ;N0`a_FY1~Lj!ljmv&wGV*}s>4x51sPV{DIS{BE%NyYb)r>zcswz=StO z$hwzOw|N87+V9FHY4h5IF`pX4t&YL?WSF-5-U+@&x_O&BwezWRK=BJ0d8xqzUYTn% zG{$?z!#OO6l=#dG{em-IpV=tgE774=UdOFO{c4%+dQH|*<7*f*EuGKeuX_3D_&XCe0l$;@$Q9iiJI%jh7E%e zOPCpgIbfl9Vjvdi%xPsWKzlt#46v1J9+*f^rzR4MgXU;Q!+hJ+k?G>jX`C5Vx*cWmc>h zbs%WSiFP>>4KMWUE!1hH#J95?#%2K(7nd=q@{~JJ{{=;QYvCN79%o<$D&su9@#;I4 zXOCbv`sySqPXsFiuZ^-e)ux7LP1n!(+-b?uL$=N&D8Kmwj$IH}%X-!4ny!7o6UX(- zZp@ynhlh0>Ifs~@+;4Cp(Q!EjUuY&a<{0LoP3EKWaB94Sqa52BW-@BI7aDQzlltd& zwgQcZnoDxo#!eZ5bdZ=D?;ynL?fj$%T+_d{~+hsLpda1JdxuK#JeTc4W?syjC0?j0Q&x+Y*`X|G~A z(Iuu=Z})$-IY2gT7fg{9jn+-GLG;s=LRN+!pm`b)4v?LbnekkJz|DsiUI>;$d34)0 z`4nV_a;i_9;M3sfZ>Du|$uBTLiCkCMJ#8HF_6+E<7B>!VM#pCBiZ0yBo3Q9!gs4HH zbHh+uyiSAqPQS{Pg=OvBpn+>nx0oY{jNcmPFyV-8IFa(;*X9u@V{SbXQ%=-j_E-)8 zQ-^Uj@ZqrH7}}VDr+(HUy?Z#$;JYqvcrxg*?5808t-8pOGfry)9qS`QR7=5lP8Qcd zd2-^ndSi9xjz)X69hPs=`Wr(DhJ~-AFr*0Ud-)NMP+s>CI1J{EMr<^TXwMDJ<=cvY zFF7Ncd&j~*Yw&m051YhI=*lo=?eH(13i$*%n*GWfCqWt&pC!>hwhl0W3#5c)NL*cO zq^Zw*U|E|Q8voe%VQR!^{CnaV^@DNg$~i+qKR5F$)7ur)j;4esveqS9)`75cc$>c& z%+YIDjv1-9BB`1<>g_y5-4e*BFe`H{zu|KJZi^6~QHGymlGJYK*1 zDY5wt?SQly7+N|)sa=i(e#dWaoKz zalifO&Ew7cUweGzFaEX1r@rquKYrsM`;Q;r{F{E$D$z}4{#T*OFMRDX;oBpUgwtBeJvj&WPA?iIHxGDt z>TG;M#3LPYR6OO(krs#tC~oYGxnk`mqWYZ4etto?7Yj!4 z7j({vvB6iPzhRV3t+WnD9}^7@8Z*|m?49wTj!EMQkBX`D6HzVb56>x1qgFF6;M5DT z%(bZQ%Y$};$tYKS&yQFd-BQI*PacP-&SOD5RK!EM9V?NMjy-~;|LO1gOU&Wf8D_M5{Hp|2#xQkI zU*2QJh}Z^U31upTnAx*u9n1rgJayg^`so~B9s2lKm%fL>%yJ*;@YLxg-OP~0hs9&e zx^PGrnRwT{XHwTZ>L}E$ca7?*=iuZd4_pKVFSIx)cF(o*fwW0ikB95^kY5gATd!N_ zbKQe4K~)P74|I{`Kz(apu^#qXDJN?b=_FPgIHo;QM%a2l%8y~|uXriRb5$ocO$9|| zY&)3>CjPk%CEel z7(nlzGEXxSjBHxRKHd$kap-IHPKMj~aLN-v1b%4|1@%|Bmdg4b0ud{>b~zddVo5uX zuwhKTnAMS^+6*2^z@5Q7@`(YSm8ppz{j(8O4qhp7bFJW*=l&H3bhEJCVlYI1YSI|e z+pOc(=6;=+8!WF^F}IrV8e>ek&f%JNZpQFa5&O;aGzQoCGHGnyoNF}FnkO;emPEA> z^oLtXI@Yh(TjEn4oa?bz%$9ID&{-TP%?v_i3pLez18rz>h-PmDc3H|Z3pxoHW#Q%A zz?^k?<(Xiv{{=EU$kMuC8DuVOHk^B4BCPoUNS$D|1=u3Uv{H|acEBEBYU>ollGO{^ zWvcyEfeV3VXKO#ibMRsp2q-%*u&GHlo)+XbMG%vz@+K1#W><8chydL+T13lHs~op2 z5t``1bI4COP)7I|vrC3OeA9*o7$;seaG=O@Vh0U|CT6-DQUe>#uyLWR z5wUj^(Jkit*nJdI(?1tG_6s&?DrOi$eGu2&Sd?peT^mjGOMop_MB;F|==Y+mUGbZX z*tysfi=P*>ET0}hw|~8JNtd{5Vu^| zXqS%o8PC4Xs6Lq!SM;ngL;mve>wKH|gP;8yk01Xp|Le!!`H%jC$Gh+U-N$?1{KbB& zng2rE00IuDQFN#{!-U)&AYlZ%61YV}O5kYCGd=!^k(NMu-xL9lkz>mnVBZ8Mh7Z2< zHy>~ECpX^x;X8#`(e3vdBT+a8>`z`(xh*8%83)48JDJECXO0L;{_9Cv71K$;TpRJRlnUEQA`j*91jP^ zQx6C>BG$fji6k{%bfam%`YUp((+^RhJnI`3NsqTKSl3Jcu{Rb=KSi$M-kWcGxH5NL+gnR&%2*YX+Q}j(H=9$ z+%Jh($6zAyJcxoKkT2HDs|YsSp`$Om(~$|lhDQR}vRxGt(XO!iNU^AwAAC)1;W+8y zl4h|kwm^=1uR#jvs#r6oy+)C#RVdZs;??HG=A!|NC0bcFu0RYXx4 zu`~Ihkw;{=B*ot5t_kGSG8ROCe(?^Db3iVXu41tDs2C;FVEx4~CV5_4JaTVLY7hAE zF(N!=8KB^a?8I2vW~4g)aaq~K>kKLW{q=~v8>%tMi(ccps)^V-Zvbvj$<|Nf6rN5F z^b>_-u-s!46fpUZPwI3gTcjatth?5M>1+-$!?O0HK#(CbuNUF5y0c&W+yX1kM|^QY z<13D~o{T+-PJr;ChZqNWdR-kykFH)(Q8n-6=AdS ztZ|Ns$N%52!Tfz-htPD zP3@(_uLB4&FvnXZ+&{nv_e3^^$cD%Jw&xF=H{KM03Z%8)rL05_bSf`h?b4E}~6ae#A@H(!u> z>L*;NiFf(cr8`6!t`fuh7#K}?y67gln|0*q%^OH6$Q&U@`0%}!h)*o65iq;LY8kjB zW0m?~mnZlGg!Uq1RuIR7D>ovW4!fSZ5Z5(XVm;$4KSg3WHOxr8H-@7PCo~OCZR3hi zIXak74OYv6sz$Zw7~NG3Ig&gWAEgtSkE|EqV$0hI?wM>6-6K(7dmip57xtxrfMf)?=q|l?O%zo@pO@4~kM`V42fnJRrZ&4}m5d}w$&sMlR*7e&MsUmFrchAC~H4=yT8yt{C8Y^RJ9~+g>xE zJGq%h_1r9*I)?Hb)(9Fee~azIT#r8ZJ3ssQ+F$*t$2a}Jzxw#r-~D?YU--wrH-GXY z|C?dXoBhRd|Aup8n##yyd>b6WAjRK_1)D~Fhgk<}g>E(1SiRz@0Qm&zEPTzaH*)%% z%D5_95JB}_9~(!Q^5`r*gJ5;X1bb|e91cOXk)Jt;s~SV3&C>_Yg93Tm<=U47U*i{_ zKG6^d$F#cZcza}qm=5!;`P2&G#<(p3mquC(>@@=?#hfF5+-m zd}flSqT0;<#Kz6HJYyDlOL!cJgQET}Tm>t|aDCm5yUz>~&cP#xbfC*p$q3KnHo(3Q z5{LrJ`gV#Wm>oC9`WobzjB^=+SGh7Kz;eu^(sHPv+lvQzm`im^=;^d)H9>em!5}mX1pWf`I%VBB+ z17qXQm;vc3XZ}=pbeq%ciQvha{;6$fimPYHlNml}{EI|~2+X;I?w56RBf}ZCz}xi@Ss7L}AE1t0BmCsK zzKP{(=rTiOZ5SZfcHc>tyn9aC0E4j@4$HOXh~itH#|J!l>MwCg3kRP9)&J#bh$2=; z9yO?9>%z>}?HuK;dgxAy>eT1Mew@IIO9lvbJq? z$NOA|?8w#z$*vEvbhk!3`{C4AJHUBvtR@f!_ho;PqlfJzUz-wa&c?Wf2&eG`Z;6@) z;nXMH7c;2WFMF$};pW}5NAmqZyXNF_i!7;%Ls2mcIen!9RArCU15nggN>1KiC z0=J8lF-^Yu8Fxp#T=;Dfa^xEqw8%E(YXFP|C$DJnHU5-oKpw;(X^0TcGx8FXhhT9I zv6&B?%`-^NI4+fgPF0UTfXCk{^vzxlNZRVz@F%oL=ATzLEcnJx2H^FO0rLGHTV-4_ zYLc-Rn&ffpaVchiU>xQnJ?fDQ^Jof`AVcyPg)6*MYm1(T5s2+g9WvsmoW2z4t;<*t zYjg$+NFWlduV#D=w!$S8nu)f}8^e1%E;UwQ^5sNld+e7OwjbV za!3(QP8oYH0l3u)$nH`8gE#kIUIF~i6>zMNkAG99YXn)^!ZI+GN;A&YSY5j0azaEl zn2pIl>!55k#cUSL8e2d(;Q-_P-0+SDKf&f3G%)o)#vIOL7rlWl&(=f)55O4vD0SSGZV=6z>S$=) zk!23y`iR^Q&m-tB!lKUKZ2sWOUw-`bpZ*^oKl%IqmB**P@OXUs+kVUA8{YX;?;o@c zmr0N_9MIPPsK*JjI1I+>-eZo2cF&Ip@25C99{up&ZJ^`tKl`5ye*G(tul|J}dp!QJ zZ+?8&fBGjM-}1e`_3`SnpUd80|K%Im`4b!;y?Qsf=WkPcccc4R!;B|z55(($_%g_R zrW!dm|4hxTT#Sj?N(gH7h;dMksRc6jYJ|2Q#^K*5a|tbbt!9G>0RrRnc^gujuXpO~7sZnVNMHvJaIcrP>)2ICLa6E}hv`t=gA zOA92JUaJ$qZX(U-)b>k5j*+at=nEOH$-ww0uURM01#%d^ULP|zUK4~kZ3wqs(QoCn zRz3LP(07Ck1v!P4csFyEPWozB6rU-nf!qo zBqVwC+g!zM2^v0ZwBj7f%Y14v2|&frwR?hRQieHJ**aoCB`f2#0g|)s*hOU&cEgqW zAXFr4yZvSnav;m=H5v$R?nb5in5>XQ$ctsoVz}T4wn#=Wa*=dvouU3N{k0CgE){v{ zYl{)G(Pp@D7-+>2X0S0C5B@H@hBmtuy?ZJcf*Sn!^Ak|r&Z>1G)J26F?lhD$>;xeK zo?Ebtv9o1-Y)1xEeb;`^sWG??fde&fIC$m*oMqk;c%4&rBjn@@<&GButJ)e^_3*WalJ+#mCw*!Q}$_)W|>V-d3JI!?Cb^Za|l z5+!kHSYPCw>21aQMyN7^9Q$)Vm7@MIjg#Yo_ZxUXkY^9^79KTjhEZC8l@FHlCVLK* z-KlNA2@JQvdW7e^0NlheHu0!|G^BD4U*F%1KJVdaU6+oHszdEJjHRtXiT%=GhQcM` zTeRr-K$F@;lYezpbY>3r&*`ndK(rwc?27jNSw#AEzaxi_r;p6rG%wxBxlUt49C@~` zRYUQywlSz^4EVV`G2xjC1#1{Lee(vt?TR?NOk^M9 zEjs=U3=C%IINs(=)1FKU>V7c30Io|>z!P)mpp_bqJll{k>t5J>cIg-ut?dx(wFO3g zHt(I+{*o3SscUn$sqY5evHJq32B~$J002M$NklJ~RYyYYD$jgJ%$jL(jd3Ojk|us?M?ERL zZKxP`IEow=Qr&1dPPSe>t}(D5OM&O72Fq8B{X;fzKazT{wJ z27_7V#Cqa)2i6|7ZEP@%-QMc#Kf~?*1t@cB0r~KbOv4@P4@rK4#j2UYq13r-!In?P z^1}V%Mh?qUbB4?l#z~V=gsu&`(Wp0Gu6R6JLG3S?x?*oa7N#2|LTZaH^%en z_~JkNFUa%Jn?%T;fG%NpwzeTeChzzdzvujfVf7_Yz!otxbz`Ky0`(129K-G#d}|zn z#4o1ns6MKmi`PGai)pTj$-%^9aQ8_9Gv7A_c-r$zdh9ds<`Qg!XQ1gxE0U`PNSz|+ zK4E~bakjv5a5xgC2;?R=JoxA503(-q6u*5?epmW~|fDl#`{Y&f6cs9(=*V+X^a=QR_jD;`}DdmeSRb`w~6xH!y3@$5b#>DDM1=a+vcHerLzyg)YA-RFA^I6#GZ!7^+yRA z%a!p|f-+z0z4>WOHSxf6R&WBVtI=V~Ody+2%l0yo19zRTUy5P;f)MEDv>5@*(;OJi_(~9? zG@LK!D2bgK<>%xQ+*w5AQ6S1s-{3R9)_u=gI0P2n6Cz`!+Sh$0^kLj}gD*dASa4Nm z&bz8&9h`3PfjpfX#L8p*LD87U5X!XXiXS582#`Z%CCJ$6kXaL}5a3lWFshU>xi0EU z7lTqUm>3Xj?3WNOoK8F(7mw|-)S;4df5B|!P;5)GQY@u%BzMpOXE3!-99|!8>%SvWa#mS6Y9WxvrNSsk)Gjpr`Y>bX>4?i6v{ zeb0JFp>9CCXG7fUYx(*?AhL@}i_8r{yI@VKHWx4R?nFoI0r5DVy`GUD%oz(PS*umH zj?k42#0}MWmBEh&!y%k$w@_=}-Ofs6S3o~zyUj?}_aRaE=RRido)j^h2pCx$2MqB$ zYrL{EkLUcwQTHFe3`mRA6-SSm6PdwC7lqIWLbY0UD#{Y7Gf}*SZ;(vvHC; zfML)?14VMt%^M%o7aw`_1LwEiml78UQ6T4u*T_cIU%pOE@{TTOq*}XA$c6e(eiNrO zzV0V0To`2RoNP^74K@>tO7kr0&UW|!iF)$9Bw)kK_a0Jr9rl4I_r^i(?Dl&$R3-W>N>)7Cw>VSBQ z;Q-Ip!J6xI09yl1DkGof9hzW;G!^651z~*jHXk?};y4@PI)f}vE{L|0H$E21u*6gY zXvzSqzzO^S5W;D-eD!xUP`ej9B;BFvBUuN=sbp zn~c>&p>AVSN64-FV|BW zgwu4N@%hb}97}Z7^71pfHB=Fq!KPEaN+yG!k&&vdoH@(KtYwXo3uz>0i851JF*E(0 zyyReSGz@wx;Jygf7t8XlAC5R}<(#dt@gVoYkdw*(kV@?M#Ws3lbc{XoNaC}c)z?XN zSM@srSI_BP_u%@F%TAi%2iBnVfolKG6Lu{aRy|J~S%XHTui@j+mXQ;+5fzJWB~y^< z;G4oT1k>rDpB7D%blc(x8~jaN2=K@`wQGi?ZEKm?iE(vvKPPd8q;ndXb~h7(!2QC5g`M*|{M{K0y&(}}X1uwfVHc;e%F?ELlP zSHAS6$Cv*6k3N3lkN&~OhyUk~J-+F;eedJb`40jKlRau*R%n-;{C6hc_*4p|FwrJmd_uYJB<-^DOzx3tDSN`%(KK_9} z^lv_X-S7Q@bAq4DnWjTUFrFN=6>N$*h_Hv>6 z?z%lwu8n-dt54&=SDu3CcxJE6+z^pEzx-_q+~sMJPKeg)Bom~NAQ}J`>@}M*x{JHM zY65H_*wh<)1nc3DsNIUS$sMf62$g4Y<_Mf%w+hB088`%jq@FY4v36Ofxy*#2yBD)s zEU1$0;X>1EPjl{`A-l;>rx~XZNLbV64GRp|cjPSH@fJnL#qIjlNXvB9DPzcU_NGi2 z!IJ|qDLW3pGXcYc7zH{%`_BNQ(fl&rYp%5Esu_;3R?Z;J`-0F)zmW{r7JhV_HD+5I z#x`QuM$EH-WsCyZL;_4WygS&MHjpw+7@e$9jyR`{tq1ZP4lir?%kyb%YNZ)ESUyQ_ zq=^Gwt|RLXJPn)8Yh~4Za!*|S5QP{apmU%Beyq*b8!0~WT;BqxD?SsQ-#{odv>(p# z6SA|%L)txpYpDsbY@H&B*^vAlQ8$w1%Z3 zh26vMb>j^tay_fZ`>cXOY|u9*>bbudt5NI?q55H(10U)j=f1QeZS_;RiO(E&JeTR> zuk^&e3dFQykgjURmqZoHD3|S_^$7a{_*~#*Aj9nkrcJY|=EH{u$#+RpJ zrzM*B?;_!7XUz+|qVW7t*k6m|N1Bk#C87byf#&AqkgrF+z>u|yFC<_GJx9(nq;#xk zwXIXB&)Q7g$`kmBKQmD=B9U3dB^2CUrN}M>`T-1O!5b4(BsVwW zDxE&DJjE(Y{nV1|xzD5FFNXw6yr&+M>&N|Qgh9ZgB_@L!>)1LK8Vr+mO7s=+`l=Q| zV!Xw%|H=8W4i6royI$YWwylmCBokm$dbOEqaN@AfA_!^;6flUAgF1Z2;`I7>G=qGO^F*Z3=si{B~Wi=?Bik z!eI%)ohULmlh{av2;os^?1x;~MT}f} zzjguefpZFi3*x18HuN*mA9{R8yeSrl0py?54w=3!^+kIO^qX0Esn;{-#eyI5kA;x> zmA73(Cdgn;JJaGT@9HpKDHP^Po{`@eY9crq6nV}o$J7{MnU1Z~!IKk@JPj`s>xoST zIl_@PUtU?h5n|E!#*c)M?uLeZ?wj-XERVVMy89_%&2a}uTK5%WVn#ah#AhngzG+xZW56o(5(JBDLpYKGbsHWQOmHUz*wIb0DR0HnehY@wMKKW!%@@ z;B)h7r2La_3E&!D?DM1u&3{-1=S;Ho0(3C>W=mVNur!47 zIvy7W=L;7CUJ=@e0n5JW;)M_&Ac(S z?fPNb=;*u0%`P)+2?(rHW2n1$s99uM3Nef*8b|WSH2l4$O+E9c53G#JA(6jh`w)@C zrOhZ0q{K)?)ww;3>YLw@p8`NUxss=~k5YZ@I!Se`8;Zu+x`Zz<{bGbV0zrxxaNS~KPUB)y$D4fH;PrmsY(N`T<1_Ro5U%J>;MEw;#JdSy z3%5&$D)0Z&FFfA=@t=6S`lo;U<2U@{6LPL3$Sxe$I=&GqQh5X#YZCwnwW{p7WrVBD!8C?y|ui7v3e~z*jg!LxciDR zAT|aKexE?PIONvzEV81O?#$K9x=NGIh@eR8IoHXF3%LP`WcCTX8kbA_5ZdL1AA zaGL$tNyN2sZCDG)H(=OOJGlAT*f8J74A=VB^{%0TMik%;8%y{R$8g>7r6F3wV#26i zkl%+I4RX1(yTLKQi!racAjr~G7QEsRC zr>a_)dyBAaU5oYMFR@q$czEHUe)w5leZe=eqDvF+`UKsLtDQ)w0Kt_3vf5*ZrhNJn z8~+-V3Qsm*GjyJ@Q{o*~u0!R129F2L=q{S($N2^3&@j$~y$H5nnixC%PW_G@I2nQl zFm~1wu80VYW1d$zGm9B>BXG?D00ddR2kIIi%zBfA7!iX_i;r_|M79+2jgOvRrLW)E z!As1c>HYfHUWSA)GaNRL4u~c)#RQI{N%jINZa~R2*MM_R<+V9xY0V`AXs$!#ji;CK zIzMK*zWG~Y8KSg7*fI4veB-COGcgd+!LF3pm^i0!%$41IYZN&}oH4b*1}49GnsG@O z=!)`RE#pqpkB?XPdZH~rthCwH; zRfCEsvcW)KGir_zxm|ft0rbGd<|s^X&k3|+>MOQ$c$M-_Q16hZft0QKOqo4$zlf^! zoVw#sA&2N|mP7c!=Eo1KgpD39=CK9t{UURk0tUO&5Ja5!0xB&;qekBPX5bs;n&Vh2 ziUekQ*4;1&EGo2pF9#+vfuqO-yf!)K@zZ_Nyc>ZA#pnZPmC2r=5fDcnX#7AdIUM;& zxvnlJI$6MNjbgFX=k+Eaalyk_`%D;Fr^x3|g9tw5MoZpwjp^(VKROg$ZxJs2(`O4rzPV4Q}>BfO1zkF(muI5G2|1A>QZ zcE+&qo+i3nKR5SUkE2Cr+Sks;vo+#%&N!$OpCR$UR5CTbZYxjldwo2w6-H5t^u=<- ze$G-B%6*9VDep$ANT1X?AkW8AbiZOa=T3&($otd+n=P&!MV&mEQcL`#wVsF&RA?PD z!~BHFc=-Y|zRa~SPGTkxtqxQGpo%X(25JYC36ho8;yg;1f!1ZOO?jtng3-P@b zIlB~$F{Vo$b$k57fwNfi>C?B+nib2dWApEpR=4I-!* zPMOPb&LA1+q6dKo+7y9N+z>n*5l^R39e#K72^pvTX90JcZVWdCz&t${7-qd{_Uvb< zJReweW0=@nlL(A7T+9iNr=A#)5x!1djEfQ2E|TKp8ash#wC}7{83Bi2CjuA>%0UYH z4#v2XUZ@a-4bf#L{>YH$X`UH!*|2$%E;Va5BnEn|GO@ZgPY#wONB2>V>?`UR$Nnh* zUW8nbn~%6y<^~;sac_{z+nkJP^yJf_{lru}kyojMokT?RsEB3kz$$fMSKO(5wUVaO zF187PA>y7RgYO0!p7khPaNXh`Nb_Q3ttO5}hICsc`T|23sP4cjD?`rw-UjPFPkHP5IHF)9fz(t49Zoz;XtKg8yXZ2foD0>0TcshL&jOSJ$ zTW0|3v2)k~SZKquuhFBJgUm6-E4+|IbrvskAk1wuk5F;J(KAaEmht_Ks>0C+qOTfj za*C%pXM&*W?tYal&&Jd6xNWD=yN@y`qJ4ikJ^*ge!wdHOaw{;`7Q1X##+Kr8BcW4t zPz3;wvbEoM0i>a$QvCP;84#NkHCQ;Qwmf=~sU13h7b$x5T#DY!$auLFx>PN2keq6t`hVEkVfw4FPlTX5EF zfBCk$=06Y&x5g(B?3dsoD2B4XeybU zoKQ@3hylWdvvkKNUNTWk{R&G-k;DoC4c;ABqRqa(m2t7Wy0+Ed@FLupy%yC6vGpe` zW4Lk15?Yy~BP_-|2kP-$GpMbK8-n3BbYRl3S$}n)G-(C|&O^Ec;~F3WwT_!QHcAeDzfnt3B&e_K4pD5~ooTMP22KVQ>?MThuBqrUhpe)s7GLeHiY z;Xce%`XSpwO)VM}bY<0$PB>jXRzDny@sI(BG-op=_ZHyVKLtgh5`4ixYm7}E#vy?w zI|8r8_)xhWcG(N85$WlIx`XxFH!Syc7+WF0^4u}1t~YB7xe~g_oiJ!TVzrUnw?PmLg7L4Th}WMBkeEce7y&!y1%7?bYx$uG z-aH_R5Hfu*-T_0E6VJ+%&2gUd;Vpks10C41HQ3A*8N}*psk>nA4swaluXDGs}NK95(7vpVFtBTM3;6+Iv*#O&5erq?tXXHOruOq?m1k0 z_&K-r3D-5w3<|^8ET^9Fx{|6V3fC8lovSTGqS~($QMh5yPTuQ+)BUjJT4v98ggob; zc92_Ry7vA?-zd=IXJ(0YhG#jf)#`!X9g9YZUmocqYkfO*CsnOZy*N$IS{#RP>Tit3 zw?aje(~*bv*6>OrP9W!(UkW2J{=NVpI_X43WqGlA{}=w=&_Py60f-OL28d84k28xoIMR zbcl!9kwd`$I^JWudK&Op$vRnq{FI0C5^t1uJM+Z8uK1e|$bTT5+?a}YVN zk#2{ z)&R=lFABsVMV6l|WN}fyDmKBXPwOIJ&VYZH8#E-eH1j=quR$zdp)Clid=XJ?oJt@7egVqEhbnTC#4wbKo?D<@k5evfgY zA0`eiJ7E35nGA1DtQ03l>kTMjK_j;&BdqGk*VUcZj3RK2LR7D;6m5_VcBVK}d3C^e zKZb;VttL;#2g+d9W_%GaKlOkxPYEJZIDEkxTAK>cA zF+XTLR~c(Y?r`OK@`a)t!!mZr=ec+Un2vbv+DaFh4P}~#?1kRDjuE-z-D122xKEcidgstS<%ezXH94G1QyoSNxWI-=JvYt`NFU+d&%2^O*B8x) z18?xsAzJZ9u|bFl>PcVxaRJSqU*aa;ZVa?(QTPB*QcEFzC7Bq`b>{8JTHIoh#km*O z^6N%|Zm;zeQB4!q`onpliR%nz`vrt7j}omB4iKgpKnGhYxVsZjy5fT#n|0`PIH8z! zC^O$UFnDP_Hv_)^cP#`%EeLdhC>*Y*TF*fHAV198eXW+|=QggDw z>DU4xK5>lBCv~xDiOEAZr}+eri08$Z>I_f6X+3N1LIoLz%{3OY&mrKe{$00lrk-wmB)50S z(#98M+i|9CZqzH!yS_PM(@5!0lWTGm*i7yxp7BjiCYw&CbrQR4h^`#U$QOwx841(o zB{4CV30Z824`Skgf+u?il}MCnL(dYG%(ljkuX0-hIP_I2icYOIAKu zJ~Zgwt{iVPv5sP3F>}a#V{qKys=#LT18TmKR2hI<5f;E{%f~-z!;inB8KHZ=0SB0U z|L&{DFaNEddHj_>_(PAc{TKi3+U=o;Vd%e)0r!o@M9YTB!r8g_u*$fGC~WML4WOfz5Elik7Ku_w2dn8BO;FIBch8?#uC=dhgof zwYZK9oxrFk&2=z%2oca#oMU5d#F{L3CnCTfzNrH&6B&c0^*B*RK7O&kf!t=wuFj~U zXkJ{H%W|*9`qOvQkk(L{vkl`?ujiYonY$)eh>a=+gSE6&F(M*ZpKH-H#tICtIoQfO zE5YlHz$hRR9R`$#e-u7xif}1XmlG8BX(FjPdZVe2>P7s}e9)bm2!bTQ-kKc%*dI`7$4+SO6<_I9ZqDMl)_2i2HyQrrjqpD zX0S`GKlth&ylC?nHx*bQ!ex)a()*r{uXq}3P3Q+(7xqRVAXS2I0p>Zo2qSOe-6*z``V1>eC<^;+dcqut8=X zuIOEh=sHFn0_OA6_r#*Enl_Zl5j>B^sgU|q?38t(?dJrBt1MlV{EJHrtS#W!HUX?M zAFKyNG%-0MJb7S-qHRZ&T?WRJ=?!Xm7JvTSg@EzOc!tE!bn%Fh@dX~nUI%xNM6%Z? z@0J9Q?>hk;aE`3|Z1PaHipuOaKGrK^5#h(hw!?>jAk&6PT&-B&tixVFm`$7uW-j(_ zECY(}4~#ZfY77Mp6U&i7c{YaD%h??a9z#7s)K?ZH@xWnPbes1sDuxxSvyPzSxZ5&W zWB{zK2F^oG{QT^>U%8nFo|%boAQEEXDXKNgxHXTQWYyk~>=DFOX)c~FvaUOvY35W9 zL#mltvB7vRlOufle#0CxKdpRl=Nrzq51j8&1T4oI9WVD_hA7C^dvwEtJ>eofg+Hv3 zKfys$tQ32SdY~DUt9-3k#=bh0pI0cBzz4zb2+zC+3fL$hC|8o#y+JI#u!D4EGJ7hj z6t#62y+rVq$A}_p&ZCq%`fCax76^DU$}x}4_H4}LBO>N)43M;~oijLBt@eaC~Fjl|ny_hWQ@>+`O zi|$$^4)ePqBRDB$P(7gWqB3(_=f~Qf0B$@Ck-y|0xhADS(k8xSUC}X*PnJbrA|VY9 zIS#A`3J~Z}5&Ol3RI4W+0Oz@dz(%t$DI36^b4xOK%Ml1uYZ^LFDiuu1M_lt+Km+l7 z#16uj4WBuw;NS^lV5Mb3eiaHC4A*}4)-eDXz+&Y=y)AZ5C7$X)vw{uCIRe@pu34|LgJB{_wx?`0&sE z=;JfL{h#m!>Yebt!v&8w!uS|Nn23uhbz(k&GWu9M7&Im{MCQ@4HIMq#-Eo+c>qsf@r(J>8voEA{UeX>{QbZG@$MIXb^dq3{3nP} z4LY8>cZ|UgoFnp0F~@0eLEZ&fsYlZACUA9$!?yE8$x@9p;3xA@NUo~5gDzEi%a!Au z%i79U(z;~-Vm2Hv{oPbM+&u);x*X2bADWZPSVYFk?Dc!gLjv63iXsSYoql4czrrWn z+ayEcI(uSN#>#l;PeC%rwYlThH(219OdF2wNhaj55Hg?r9L>p3bG-t8qGSHaLX7f6 z@4{tZAuGZPIjAkIdCFJlS;M)ruL_%3y{PT=UHSUdtpr1;Lwt7Nx$k{1Tm-QIsCP2p zQQs?bh{muKOEk5T^5SSM#?QD=tG{8792ucg7htUegFL$#GkDoVP97!cxdBnI{Bk+R za~5k8xClyYMZuICXBs#~_61YP^%BLO$&#ycriZ5(tE9Tpv*5J!B} zCWf#znks~E>(Th|L+)F99diE@S-vG%|8mDp@?H<_&g+wW8qL1`6+aOf{zf}8lUbQg z+C{x9yPOjOiZ=J&PB4HcPvwjxi7dxaDQ!@4n0MKtf~&D?-xY!fj!LD=5cFj+Br59EXP&9I@s5v$$qG!8AdS6ttuapS4VK78d<%Ipdl~b@1ciP$BFk}~)@2BX z<@S$sL58uSZ89P{b`JuV_b9}zo z#l~1}>v1p`)lLR;yTuT7sYkYcMvhHAkALJQ;J|noHJ*`i*y8YlX>7>yEKP>@$pS8Y zMuAd;jXjvy*6NT{kAtP)$PGtY_x)h4Axf~3jdqS}|DSri z_k~|GZn2Gxwd6yC7-xLW`x6s#Ufqd>yHr~JnwV4Oi77U<2aCckDR5jHGNjeUgWT9x zOnpWx^6%SC?D_^&cZuQhXH176ta+>!AKSK~*K1u+;g|B%BIw8(TQsZ zA-cpNwj^TLriK+=y}(S%d&x7xU87Na5W7Eggk=VfW8l!JYU$o7YeT9()~s1gzCkya zna^+A$A$EgTbD+4&c72S=%7yR=32Ws5F7j0H$EA2-D)^eQ)io7?w&cMjkW-K40*y4 zEJLq@aFEMz4Q|2~qb7JvZ0;SH)+W*n*Ji^4J03;$<`bekHN{9qJMEDp10p74{AJ=! z$+?SMSjIrDD}p?`H$_$;BExgk5 zTpL8E%N!A0sXsqhFR%9&az}G)V!mr^9hQq@z%|}OUC2Q#;d&AV2GRVVgCH7upQH`y2Xk9UxskFr)tz2EkJzu7_%mL6*=QF# zGS*jR3}vHBeQP>(UEKuLd~U`=RDa|c17#UVe2-HHmv5l7fxx|JmYJ2{{_MIByn!{` zIHt->F-*Iq@BDPC$IG0sjX9>;Cx$gvU?39u0ZcHci4^!Sm7a+lRWO`_6c@NeVB z=8dO*h^*1q19RMa8x*_zW0A(Ogj{E$KVNLRg0V*B8izTw#o**J2t*L2UH3pzBT-I7 z9W|GYvtQ02?icqEW98vk4uf&dH4L5Nv7_mx`*SML`W%>LEspq15fk9(P83(VJD2UMV1&bHUp{lhCiyLLB#>5NFtKFFF=vq|DbjY8Ym6l zF=11#8|rr2ePZw^@l`~NmoYjC?#2kJ;;4q30AN6$za@bwbVx*?n8M(0hQYh?=HHil4P1O9G80L+&M!!_RF;5lsN9J2%|;-XDi1Pf10Aolf$n2yb=( zQFK3)37m|b;^6GR_#J;WpIw?aTlnYc`|T*@*!2t3+7bK4+@OarSK<22d;s30EEvwI z0~`YmZ|$iFqe8;8cFn>be(QnxT=cajKXfo?m;YQZ^Pl=}{;S9T_b>gP$ESYFuY0`r z>2H0!{`BV_Z{GjKe0ZC@^B?W8ZMpJv%?N38qaH?6UitOp+&B_wyEGTPR%kYI-M1XA>YP+Ykk4_${g#D9$)*#FF)RX_2(X+{zty!@ooR!4?n);d%pMB zk`4b9p5_%ZJbIzK)z&qMZ0kxbSa#y&x#xz~2-2)`*@hIUB)uLDgsDL(E#^Ao6j0_c!huN`neM zO)NoT+SgX&P=YW|jD<8VRAxEOSp#6!I~2fqX;PRuI{iSC;Ha6hk`541S`{6qmkYi+ z@W?lJPD{SdOq%#{vd%Fo){#ZUGSNqXiR*Ek7Ee#1^erD87@)Yd0>oZA{NI7CS+9Mu zC5DN~@o*@`6v%Ob?Il@`J4NFJbJ^kkgod14a=e(BTsG&Njo8}ZfJYz~3T1t`_KXcg z@zrV6s%lL#kmOnX>h4^CE{EO&nm5wMu7g|5UA)@)PfVjToY}*tRvO;ACKLg9e4>kw zC+_0++IK}tawXaD;uWmxgZSPkC<^aNs}Oa2bn+ zv9m>?eI^X&gI}E#F>oG04|B*@j(dqC>N2mw&dbWI|E&Rf#X6m-W)PqLG1fY(gHSrK>~>f z9p;;FV?=Cyqr1+5>ZGqjZM}!v%PIwRF(4oh=Gk$3JyuOFH11Zr7vG_-6*m5c)!cxx z4qIS#13*fwt)}{+M2V}Q6 zLMQ}sa5&Hj-L&ED+D=7W_d@Zzd7XG-x_*vsWa2aK``XEzAczGyTZEPge=Zc+{W`K? zib;2^A77TM6b{062kiAf61)|%D=SDNONJ0-4f%C++VgjJ2~UTS|r$(zc%*B zun(a3SIqe3&z#R{ql?(uy>RDrWfp^XENOJkGYEJ6W;=vv_t9BvWRr(AI(5nH&J8b( zn33n%L-{Ws)twN)<>{aD1e7P&arcB!kP*Y?f>Yz<4^+)3bD^%Mk*S2| z2H2rAfEnbF;qn<%WYlWk!OrDQtU&Oc8H+w7s4(j48I1qkc_K896365NdXg#cVZVZd z=~|rFNS<92?7Si3y~3s~HSADH*EQQWbI8x7BoIU3cy9s0!*g6TS_9f_rZWjsd2FW-rufXi7ft@=~El2(oG)tv4xW#G5SCXcw6govN4D1 zPQ*i7@)Ok%OpU_5tWq$^VA4uz7fwUt8jL|BjS*){+J@TLQEgxw%+7_|)g>GwTN0-C zk{{Drpw=WECRalm!&Rb)KA}&9}% zXMLjEeM4+@IQ51ff%TJk{9u%5F!=xZdYhkHx9qxW-+NuxcBRU8qDTlrD+(AZQ5+zO zO+e`(njjJ&BEktRh-g3qA3gDfp2^czeMFkCf!k1Ug2yRyapt;4^ym3uW4JO2PX`N zt^@lw5S+q^CNGL$K1gS-46)V+i{;<_@BfF_Kl~5>!s|zW@(;d#;IqF!chUU&#~=N6 zt{cI=pKo-PCCD@kI7Br}ou_}!6)K5Ae7l#@Yey_;)WKExl;Ju7RpnYBQ8wpaKXjS8 z!7F!a)(pbQK! zSbKvYZ%j&kM;nsdbN~uE;jZpj!G(*(HQ9kZJOHvGtM%bH8?apXYz>xlZHMBWgQ!3b zN&y{`ydE_&p{0dqjUv;+WKgj0Ins7e!;|Y1i?s%v!&rB%T@}r%Ker*MBA}DteH$BhG2~6VjE`gz6*+6LF2svK~bBYOQl3&%&PKhX*v1@isoG$ zeXZ}n+^2Y+dlwN9tZ8GUj}e`i=KL@xfYCSW43fh+pO-7!eNR`;E!RT3S~2&WgUUBx zM}9A@2XgJ$d_R|OY8 z5!>_=zLn!qAPNFY1B@OUbPh*{aMVC&cLPaFe->0hI!Mw4q|;aC_%ctFgAulCUK2Ii zf=fdX4i4n7s*!-Gez>b&erDKYo;a2I8&DQw+SvISQs7#oBWz3YtPR+~ockX*jp`}0 z8V(SjQe@84J8;9#CYh{E!#Vu}$AMuYlRm-sa z!WPTo*oHHhJwJ{lalP4ZIvz6}uqH(i@A_Fp>G89S>l4k&L|J?40AgcSqxslTuO|fn zXx^1+xEG!P79-c#fH}1A;w-zz&B1#UYW0E(nYb@UsK9{D!MKVX{7xha=+nN9 z2^Y(=?&93@cXdm}Q93R1+cNS)Yvgqa2sYqeeD9GZyiOcV}>($!_f^8ia5`*XYddQ&aM4wMn9H^qI zX(5u!51bK1YAM7q5mwabos8kp1AFt01HfreOr~V_HH60g?WL*^@Dlr_3Bv1_t z8|}g#9J-7AZaRuR-o;_W;7L#neDC>T9G;&oegoH>Xmk=zf0G5D4jYeC<`Itz;E1ii zBxS0H!7{-~z+l&#dAK7L9=VLejC`)TXjH&~IXAfCL07U^)THa-|!CoZH0@9+GKao4Bo zQ0sD*@8(L3ks&6Qam`>kxCWhvxrqUoJ~3l#hb(-|X*tKcAETU$xAG7cevpd$t@C_r zjzb?Vqu*o`u z0$J2Zv_x0=)vC}6nbw0M-YddW|6Qm&u6~exALw`fufPBL)<5|5*B|`L|J&;i{HZ_X z-;$vg`tiiXCNt`iX20E>xB9f+QGhdV;jL?iUT1Q?YMQ-z*2i!wcNoug)fkpr-G%`m zFI}c{iVs{)Oy#JMRmg(HH?i%vjQ|@B14rT}kBzgWAYiXgxb+3rK{P7^I=p2sU|?$7 zt)wVyth@eQwNN8_%Z9C%lehB<41ye`K*95Z=M6ppO>Jk-0imhgFu-XesholkE9Y|@ zD-~pf3GkYB)LPWOdz!UmUYR}vB0t9wtI4!ynBpTeCqyL1HIB=}@w?uWtHX5bhWQp_ zVn^kDCScW>)4Jzt$T>;tjD8~Jema_)H4<_GmVV>PaC3%k@zg`CRv2}DWE9T^@JR2z z<~k2EOB=PhXfk#=bRPk${h{1JM)x*uTQ7*TfnjE5XBN)mw(I`#}C;p$pQQ$3XU@z{=B_@fkh%=2H+tV;wD)z8`~U=o~55)6jiV`&*W z2NyjM+FnaGfc3F-n=5nfx$F}#DLs<7==7X;wDlXr?Az%kiIhu+hgrfHCLQ*qIE* zpwsaaSzGr8!m~b%4`6E!A2pCpY$0>)Gm;Xg4@2c=tqcYYZJakigEQV}y7o7(t-uW! z+j{WW4ejt?hhHxS89bBTRO^33fopPw>WI(z*I14`*0e|Hq2`?5wrA+pbuS~6vw?t# z#na&srt%`p#p{!S7r$$A@*s}#-g`xO31-~g*fzo{;J4QL-S=|jQ2*9yI3y!nY=A74 z_f+O9KzW+_sPws}uv<9q^-U;e!Jy?o$oOWh$r zZ4EP!d;B;>Kx4Aw9M7;-=sCt3SLHTj9Dy|-A68Qg^19ylw|W_S#>3R%%v&!k;kFM? z2GmnA`KeA9!HzdSq>phq5C*td%;91l(u!AU2E_|14(%c{%;fsE#FEOe2>Kl7H7s>TQ(F7M z;kixesc~8E{rkr5`Gy}LrILU>jIJ?76#YgckQiNWaD2`Y{cs!_AMTmu)t`y8h_1=R zvd=U8O>l}&ZQ$edFd}3T$-9ZfrX|5mH@5r&SjaCp=bcZodY9Y=+wJQGC_)>Qs+()rLAf?Ii8yzV|{`wV%LX) znm1qbR)wFzIDC2;d-cdE)?gE-JmjA7QZ=waDWnV5H(2556yj+k&@CO9$ee2#85q1* zh&RiG_?)C5uD+WUE_Xw8v#xt~0^fG7w829m4Yr$C;@^6XJ+AZJqB3OC2-j2sbt^}+ z(%$@;aiJ;V85R=f3|OXnQnlun={VMgC_<~J5U|fJCHBlw?p0=d>>4&#@{RQdT8kiY zbA)n6P~66b5zhLf4W0Z9l&7cd9W2}PX^_#eU*uXpUE_YBB%*P0DwuOQtaCa=G2KYfmN>$Rv3|CqjRMeAUlWbY zyL+T-8rAu>&Dtey)-*rg{qqZ?bp>hgn|xw?t}zW%+iG_gp4gbj!?eR~9n%Q;ra`=R#3@#A#S7 ztfIp7>!Ut{Nt3l9WRjTYUUs%Gc5!#EA2q9G@a3#OW6yA7k((GJu@(D>2a9CGz8qUk#4XcuPXU6{G)ncpd2Jr7g^V%5 z>ehAGhYIdC>NGqEB!1Z91Mx{FGjgnP+%W=!U+!ShZ7snpaPS`RF(2;mn-r;sQ@BZO zD7#|yvV2#%#Er9LE9-IVL9w3agn87VX*aJa0H)?f90r`hB*Q^cJ8|7ZnVZbubYIM# zJBX;I^$cwHrP*bE>MU@0W{)s4giu=VRTJTaf~NQKU5A3W;+W5nfOn^4uIa>W6*+hC zPs1TU$PgaI)cb)oO!#T=E`Al6*L?R6*NX6{FIY`M^JWF#kjd(O;EZv?#ANEYec_le zUrm>W_`MPV?;P<*5GjB zqk80wVD&klNrd$P=@=ItyUNs$EQpeDj9PIzFN32q|HypAgF;^LLo%@g--eG?c?^sT z7m!1c*W8m^=g~d&E=_&V@19y8J#Gx#yWo!W_|nLvs8#I;PgoETd+huJ2BC^{7Yfp8 zua|=>Fnz2&4`M@+rY`s!=8Pl_3Hp1#tTP<(0+Sc^Odn0N1Xq?SPk-c3GmzzRZ)fcN zbmK72!Am;abr3}&pBNM|W-#YFp{ZWXbAO_Y_WWNS&eK`k>dw7j-piTt)UA%zh){aA zT>EluT!hf@$gv4D_6cqd@>V?->nXzg2urvAx=h{0)&sZ47n81VMyFPc+r|;GI}A_8 z`WU;4D@TEr_%CZ?5@$j;Ki)OfKF>BdK;IwTuSiTJO&!p~6XTQ?7x*E!Dl{16*h zUgGB18lgb5ZO6^Cerl=hgFs&PsA?jv()}(S^V(LGF;gd-$6}&*2I}W<;CW3fF|G$_ zAnL4f3^nv=7uU(oo9jdxp|Rovl4-k#{m^@vP+KRkyI(L*v||}T9SufKnvRO<;21^MNvQaaz@J> zlOw21n8tKFgRx`qy}2-=0Lb%Fy`CRfXsV2}(Klcu&$h~T}1fU*wIC`kx2?MH~O<6l9v->sisQ!I~%O)b~frP5RjGi z&2%}CmkfR$#H2dqRG_n|%QI$e>13Z-vm&zji9BohSQkUrs+ih891j*8%(A<_8Lcq# zZq#_PM&L$|j)vj3VAe09x_AQKQnvun16*6C^j$W8DHwpk_f7#^)vF3~?>C1z503O26W5i-B!>%Ha#5ID7sXx@S z?~ZnC_CRjhu7G3rg&xQ4Y8Q&xvn{sXQmfIwG2aO~Ud;32Ap9wh%(ga61P%Tv4@1{* z-UKvp@$A7dd)W6}fQicT^X>oh|9JiCfA`FM&v#;OxGyl=+pZ@p$T>klx&&HTwz{*M|2edqR z7~ge^*m!!-2y4YEh?^W~`QYB`f$=r^UK@+wYame5O%VEf(jg%@n_A;5enJU($xEs}RcC1R#^_ZK>=xRYsYrFdjo5{XmAGQp3 zv14R(w>vyDsI7QFc;UF?jK7Y%!Z!-(N+F2}qYg|kkPY`!Ou$j*Cg9DZMt$)7lNxL)hRnYJ;{hI0QC zPt~)>-m%TJYkkj_QyXG%vVH*Pb+UyR498-sE(S^0GxL-WDKF18_brn&fGV7|+c_sj zjXXSD#cX`4IR+B;T&S!u4EHWj0-XwN=%?hH|3-6}pZ-jvu_5Mlfg^Y_pd98ti`cx0#dsztl*^N$_<=|TjKLa%&(GV? z141TlRKf4{N=fYaL%b{ZpAT^TFX4m(nJ$^HJ)_1RA@TG_w{jX|FfnRfn*W-WkQt4{ zB!3)ly`%?%c4NR_CQcvM#?~V8Dke1Yto;d;Ij^(lM;~W~9$jlQ^MDVG~c}5{8JVUhR#xD!C?+tGMPoV0sjFAUfL@S$- z(sWSw-oqJ;cX~{*2Q{GMyf(gHn_NdyYuGVc-DG+ zdx+lJ*mrC+6AOGNgcy*MO*@pGwg-S7p)6M!xt0;v=5gzJu(@hO#Pj!E-hs3}B&AnCYT6MoJiCkb~z;7Ey^Z@PX+ zSN+C~FH(>>6R{&h*L})JWL+j!@$>}^K_blQY`tQ!zZ^K6@@a7Jib8Te$3YO@Js(@% zdK+izg{5m$%rXKtdmKrFjNGDtpauaAop97Z5$81@8y#~o&W2CW7>!)}#c*7VvTEU> zF{633FsT{Jb(EvS$wS>6Jo;Jf-7^rJ0NgX)jemAC=)1ArL^F95P+(sel{ij?=kb!Gg%X$Kta1do~p09E@IqmJvRD-@6b z45Vm+1f97tX4rS$*zrQykyAwZHuQTY>l;GZ!W%_@Vgv{k^=3quxXv6|?L15@y8;;9 z-)KaN8%)9>-{GuIEr9UUUk&&VkH&L2rcMY-W>``|Jq=$+mcgl|im9zvR15%=%$xJ_ zs#=x^M^2hZc^&8u7LILNYgOTX3zyvZHi0JNx9D(o6KC3-7XnA6WSR#tKtc_8EH*f<%{hG%kh8D^icW^#!m7YFTP4t8boQj9e0 zP%<-rW6C7Ipjlk&*ttUN^1^62nIeR4sGYAK4`!udy4V)lfe$0ICTR9e!a8uh{7NfU z{Z!^R{_d~5{@#E57hd1}%YXIt;UE1&uMdCZ_vYKj`R?9F{lJ;r`Y$-goql~9(KmBM zij561IaU%?MvrzL~BT8Tp+?Qj$jE7|qiW=;RcUZHmy{HcaRok~_9jkC9>5zgfZR?EMO9 zSeDn>@a51dHYCaQ0XJj;h+&*pyBwTo^nrLn5k8mwNyU%)~z*S|GARHP>^=SyfJ~tcl|J;Eqcen2x_)^ABg9P4~CfCy&=Ax zk49L^p6>d}D0Afr2s!aIHt_xSOyyb;P}+>GT_wGjAQycg^6LOx2g|SJ(xS@PX~ujB zgnbIu9HY6_!QKQ3Xyj)YEL6_1U%Tg?Yn;X!H3*Q~TR5h+CCg;rd?07t5BKFaIzeQz_Z4J= z*XoIj+_)Z*uGj||4_WUU(e<<*!#pId$ztO@&gugU(ZBK-sPSB!1)H-=ozE&`W2PeHs_V0^|FLNY}PJwT$c?NVu&EZ%}=eq zGXjVj3(oy9B)<-?9WHuZ#f}+`J;XtV8-M1Dg;cKKI8XMQr~IutqSNPb98ks^GyHws za}ni8+X_# zV*DwtPCvTTQ#s`=mxSnnkMEu{Ou;0hgWsGK%UYZ91)S}L!Q96*g<~LRuin7QbHX(c zg30x#LTx32JF<;4n2N#SqchYCXP~{h@>O}c56dwcKLD*k<}~)sCgQvXJ^w`j+QEj| zdQ83(qL?CwqYp>1&V1``u1q7tus@`loY-k;a~ZQ#(YLi0=(SxjHDa8O|JW2itmvt8 zy^H3v9c=l-XAbhmZo(+z_|uQX=wqQgzBu1M$v=X2KERyfIcKb;DN8uvH4Hrlq79^z zJvNxmw1x<$;e4vh3BuG9R{4UYNJo;$QV5U5GpFIY`i`vvGM&HU6Au2`0zPBDxyaEd z>ce~>*MnHRt>@-d|HYK6`G*zzfF?pn^mQar?6|x_0@{d%8}j^|{9)XytsDjz2ssVM zdc_Wr-S8?yP`hK~I!2C|mo^!K4{^E6VQG{Hw+$N_K^aU9s*yHkfko*nb1!y5VQRi(fMtwigoHNq#x1@=Vut@X1UOh@m>>$F zAAf^6`)2%EE^Kn1qmzttJ`W4bcORiq7ulZhNculy1FYV7PqAx42sC4#3z+01@A@zy zw+7mCk#%F9+8A6J-Ylm12NS(}pSZI>p#iNen8dUtAGZxT!r}rI9j(5+Ly2iRpu$}% zk$38afz=#T}P8^^JoG&Ql98qLpdCjc5srsF&K~IX zI`L~4%m*Lj1Lu!kAAkEdUcdQw{@&~Jf9XrFKl-y@e0}H#&Tx`Xjtn1dr#vH~bN)rl=k7^zTn9U1U+hCn2J1lUCtDSf_yNYy5DY|Jl7v8jD;(Yx1qOe&4y(s> zB4T2LEEJOm-0X$*tq}migot7M=`u>#cCUs)9Jagn^&c^DT0#jBG%lvD!Gl{_T`^1} zA>UTvoS7mH9WGaz0JnI9C8vMB-DPq&zs8noVo>6adEp>n+F_u zX)hUUMz-Ot%M(Aa^{*1&v8j2@(1&+2lM`OIB4~Aunf-#tz1K+Kyw_tmeD)m7x-rU3 zoU>TQP`^qA*d>&?W}djm%fu_|kFxQa*V_Ic#;x zgjY^W>jO_Pp38)rDH8k;H)9MZ+|eG{$fh02d0Sr4ZbC zGf^;j#w9cg=$RUiQM@FGpOl0Mn0G~E)2o%Hx7Ww$rQSHfp_Xt|!i37u_nI+nDupdr0 zoMpqG_;@kS=Sd?+ct7q=s%kRefSyi*2vp4+I%7hOEF7tWeoJAl8wX6aFCBPa)L^Lt z!PRZ+t5SY}P8GP<8nJeD24c3$x;ZqslG(vJ8;)pB-l*~_zGEi!j-ufGB@GXpeMW}= z(UKDyT5IE==Ak)Ggrq{q(%c*B1AzhG!R+;WCSvC5`d`tXMbS;)E1CyfiDCsB~F>|KC_^iM^?8Y35uUI;wD0Jy*f2x+YhVQUy<^Q z23-Wtd7fr{;!iac5(|h?KryfrZZ2NPmrDBg*ARBnpE zt-$OZoT1S z)fCXzpG1*X?X0;J(jFEdWp+fY3ZvV-6Oqz%TEO|RsR4QS&uXp36v+LKJw$W8eGFSS zv1Myy26B86TICsdu^rTjxiJ`8)@NgM&4k8|b;GgL5BnKf%Z#77z~}QEa&SusozB4D zH7EvLp;B+B?_ek9mM7jA@Wvr>Au5dWO;?)rmKorAE@;$+!$J4aE_As>A`MdYZ!!%VM!ojBX}#jc6>W@F%Q(lF$oh)eoSyg%=I+H zTR&o49*cZj4G@--+{Fgg79#5#)#2O?CwKIiHGnb7A)Gu`&_4BsP}g*M!4J<~MI)6C zEk1KRjm^s>-A3PfZw%29o3tR|W=rj$~_|r>oN4laOkl=7ty+s$$(+a54=y6HgsuIp`BzNbQdTx>{=_`Ptpyg+!*%c z404=os3oN*hz5M9N2y6w!iM4zag_a$Umr8aZ1G@hM^KmG5!HPwyh{b)URXeBI!g9F zl>QY6f;RBHVE`ndXb=i|bIFhvXOphju21mV6{49NUN6CS_t)!S2U;>@t?|a(55eLq zF*o{Ptb<+sO?*o=Cm%u1>u54~`b7`l%7(KJsvFajYji=6->I$U!x0Ku(iJzHa~Np| z5MV=A{cz&Mq2WLRGxrH#|J^-m*gB#Q2XtU_pt+Pg(GBRFaPxulKl#zdrczhq3C~XXJe+$3D=Pm-XK_G*OwKZ;ryxuG<>9Pcm8e#Wtypxw$vs zCk`x)?0AsI$@1z@?c^K%`IZJb@@Mv#+Zp@!K6rinaXxVV&TqYb<8S@)>vKQQE;`Q#nHZz=a>c%)5CwOb)>3(--k>uIRyP7<;*-m=1?& zKuSKLL593~dh|jvxmBxPCD;XYAhA(%9gr`g)3D{GkMFx}xR&v(nAy?TB`L?bk5)5lY4L1)1-C(b< zwTRbp(QgEm$PXn0_;%B6@gFgQY8+a*KC(TiTCk^&9mjfb8y-{kS7Qq9)N=SeRDW5j zs|}{n17R4@3~!bS=wMiuMPWs|`d*ES^IVK-*RDt^u=Z;Q#f%AJ&)2El`aRxHAz*A1 z%5bRz)~|EcIfCSRN|gC0`%v|~uPon#%Wve4bN1Y>;VyAYSjWwIg79IjL`Y8jjKWh{ zdWjx@#I{(o82wWw8-gnYIxXB88w-G4<4?K57^7pDF%O%>hHT@=Y-n`2KIh<4S0cP4i z_P}Brb*aDzNmqX%!Tkjwb40jv0UuV8$zUjPNunv}Qwm>!Pe zn(&ZHAC8S*u5}nZw$DA5=>~#LQ(CUgn;RT$GSNT27l*34Nk93o&$`sSfo3?m35OZ4 zedaZGAygoLCKo(F>mFSGjinBBhKOGX(JoiRE!De~%^WygP9!riJ>P-D0+p?_5AI6S z-+NcJSQ%Wijc{4|K67Rhr!)k&pgU+>0_ZL#|NQ4i)&{%f(cTjZFkTymW6uCMHbfxf zF)}`g0oRXdN1oZ?e)y4NA-g|ZYZ51%I@@tbb2 zlZP`6;@db1uD|1j02-clEHt`ZL~JtWCok)ZXlrr`+SLS7DN|2Bta1`wFuaTn zUyR4l1G1T`Z0BZ2ZoNR%wly(Ct+4!LF;5>THqLBre?uHS-{7)bp1?}aZ0|) zL7tEGM?7y#Pv{w}LObTEEMI|~=urbV-0^qoLR4LcQr3>}j8_&X&`#SuPKZ~El6tYD zZEsY_RDjkDJ|?9<{v?@+luS_Zxs zH@xzqpATml<9GJEZV^5TJ(nc`?V#*6WVQ}0q7`Ne3gG?(G_ePd1uYnxQKi~!#!jB~f zke9V*?@`fw!}*i^Ga=vo?bo-y{MFazfBuWFKk|hyy?$svaL)DLeN7nnmC zb}*5ia3^=n^vx0FW)!^yk@1sBr>h4V$#HUs%cDFt4NML`^%tdV4LNTacfQgZM4Uz@ zD_`&KV{0d1aDx^cU#W|G8{7%cWM*FBTmEp&9yULJQxTlk4EV!qErt;8kh`B;zs#cg zo}cCuL-kr3S6$Cg?3HYu&9XDd;ID7S#6WEO*S?GiH7eB|I5fV>J8V1)-A6MP8z0E& z4px82qTd>X;!Rm5nRA_vJ^w6BTe6705PEX!AL|>9zJ{Y_=wtJ7_IL)=Rsq%lClYzI zU%QAZ2NQK#4`ev_kuck|MpXP5qMxrPGnm>B-x&6vQ&HW{7;_$;WOEMBHSc`zH_psA zR!wWp)5r7N#@1^sS+w^4V%(%ALGm)#M;sYSJWk|F2Mm90*w^n~`&DT(AP*h;ED#;D zH-BRxacv|h(br#VrI+#Dj~v0s(lD-d=ch1t@9bh?cixP^lC=U(O{`<){iR|(EOwc6 za0}4L$6xOS4FQNbq02-zg-CG-Km-qCH*WS$RNz-#u3}wFixZO%;3-`RVkK>{L)rtR zN1X8*&bfHchb1H?Z03HOq4~ik4;*R8m&>?zEs@rt$PC|_NvN=UhrKyI0M=9&J6Z8m z^PwZ}@M%-S^(|=>J~ss8?t5~t8L22Y+TeKBBe$t3iP~T;0TN!_(O0Wg7b1E{*mD5W zs=;p6>n>J{M6}igKi{S#|EBaj?Z1UPe?F7pxc@o!2zwpj5Ag;IK%FE z!o@?5qNIYKpv&MF8~_}HtjNHUJ@h0EUoAB?tqcOt)t8x z)(-7H2l=-*5lkoyZRg$^PR;tI1UxVuw+za zLyl~-OC&HjUpO^cD1)9C!9*?wdja@}aZk(R>$sGM^(3olt8{ABmhWyU1s+4v`d$KmERaRODvsmxK(@^C(>G6&%=_5yP5P zq5lHj^qUFc-~k?^C3fb-q(zW%iVWZ8g$^Y`+YW9F&z!LKzFxvu6yJMbgz%nwGK33^ zf*cX;USJr>dV;C3#tRs06U3n?lKteK!g4Vf^V&VGuDND-diKkgfH{Fyxz4Ks7IcoH^Us${G1~u zz6Xts?1tnh03$9~Il~OL56t&S=&X0$B;qKBudLb-8rF?%^!T8TY3R4@J!>os z`3aUSImHm$b>MJf7g9Y#BM44cr?4uT8T`Z!7a(gGOO|ZnG`CMa&NrL^ET|FGLHVY~ zEg+iUIBF;pM&y}G24)JPXpzShfH4{01aKC6-7FpYy3+1UA~*MRZy;hz;(~tPoJxrO zu{}PBw^`96=H;lVA4zM0ax6l)H2SvK80Ez#SvKVTd2r28R5wTdHB+6lXuj!)Dos;!0e)6&7=*5@d$a8ftX$#7lvuNPdW+HV;?wW;bbSL}Ql&y2$q?2ZwNY zP~|4~@K`*mdGM%taw>fC>Pno=8%EX*M*|zTQ;U*RPwm7XVdN9D#_8S!1aI`zu?)H1 z6fiCubF{{QFnVic6r;wLTtjaOWlblh+{Z8ejD=7_xXB-z$VLwXey6I#hR`3>Vp}VC zYlw|&5@01Oj{=iS!HPqGc!OdhJY4`*dFKON!-~^8s8Xs7Pg`E_-o(%<=5B$+`s+$FdsPo@K68oY`J{2rA=?=jcRV~Bkwkv zcye&v>R|jn4>+!`BYlWWKk*cS0=^z6@?)lMR2=5iwuJl}fc)a)V;>4OqVT#G@?e#_ z6dzc9^3iu*-}=R0di}_kzWDmX|HYSHKlr2k8_sF$3H;``Wo{&i3}>h&4Gu;e;NFbI zUCs4E66eD}ohTd}$W#V|gNvk7D#S&a7DAz!*)AHbvU8ym@ptv_Qoj!KH9KNnQ1 z?e#UmcfH1A?2W+$;(+F1#<5{^azQ_?E^Iks8lfQpdl;?H{Y3_A*K6g1Fy!afjq5YgMVV3Nw1pMbj8B07BF9@boAnI|XG5~evg=HW|>eqc7WP&09NUkeR( zZK!3K3XHOH+26?P4{PXX>@&Qz_FbU9X+|5l0n$x-Q1@DtY)qu<4ewMvrnM`7?3o6u z@8Q7|x#16i!Ntl|V-9O@ zz!4n!;t|{^qRgZp#5m|4n7F~2;}pYuGL}A=zQ@iyz_SljT9rm4N%YDeI6{-7_lQ%w z;F=Q#5a-2DYCcr@AMMDh+3Q!s4?-~==xIA#vK1>&P9&8v&m-2Q*-apZY%-S4-;ov}n1BVoV@o8@+k&a$$P3U#+ z^|OjSpMdk;juqI{OASw>>t097e0ODComjRIuIa=?{w1@=GyZI=a6w_sRmcx2b5#PP zJV#@w$@Pr!5G`p$UQ1S-qbsBzItO!zQvLGwsB-E{EjEPJmLfG6AH+s&c!>`{PXGoZ zM}+QQu^FRdF9HUbnmvY*Ww!ea2v7mYrwaN+0YGuOOv8&$P_8k)c;R$8nC4Y^CtRCt zab(?`G8%cc_V5#r{5c&!_ze2M+#&TUht~lV85m!Na)is6;XQ_LCLl*sE~dtzCX-#1 zsK*`T#;Kw5n~n8^Qpb=$D6(sFNGj8pM$GTN?g(<^jib3izHNzXspbv;#TME9M4jaH zQEX&Vvc~Z;v|3+^D__}luXWcdO7!{wz;z8ru6`e{P@}T8o9U8PsoK0Vr>!pxr3)S( zZ-QM=_dPRSFn9O8tIzz1E|;N?T@JdC!`luu8X-yu&iXMUpL%o_aOZ&{##o=3$Oi|l zdkE~}g$eGOVE$%5Ij5Tt61X;WyKn0>g0g|NO_JT726p2EaIWcaM;~)S_x-0+y36@) z-ZhXY%S1-S(r?h|hSKK^s^w znp`}iCYQzIg6edag-Ko!d#F0_%<`gGy!s(=L?mFQ6OB3;(^ejte1S?goB`;god)TS z@{BRpKN90j30>GAgWW63}!*_@ch8J`!nFJzfRT^0wb5xZxkb{IEM@vukX-o2CX%7h1%2II9C(` zVzn`lFtQ+bO_WB5>TyA;-5L+G(_)Qb)f}I$_G zZsP4B@dzHd81_Iaf&+LkqRkubkb6x{V>`ZSedlzQ+M_0fBhTZczx|Z_|yHs`A_~->e9b%*xHtt z-rtmlvwx^gq!W)QYLz+BI?u6W<*M~p$`H~pa*q#g~4iH%aW(33)gGd3bS^vDagE@JToa2a!8zHx}@kLJL0K*1pUDIVH=Y}H++w3SUb>d!_T5|UBn+gm|qeE z`QdCxdvkt;Ss@BAm?fqhZ|qE%W5}TMHFIrarR#yNZ!y_?eb&e(X6wgO022J|byhjNp7&faPa82RHIk_sruwqG>wSP!MAO?Ak7mj*4JN9@hS;uY&=-a{#BFj@O()8KTKs_82?a5;4kpP-}iEn`DXQDms1VO)@w7s_}w<^ zA8|t+!^v5+&vgr6J&N1|@$aLsb&1p6=f&*b&jkq2*k`yLPj{TZ$T`?_5YE_91*~`P zh?yi?-_f6o5_YgeJA0%V5Bna7sXw}0=glK3IdnV^Kf(=iDD;8x)20#QF)017lWT#20iMPOH0PlLJbcIifZ?!wJm-4v0#`LhcS39$$(7d_M4H@l z$k@`PtFPT_!J&vBed0f3O+8)MTMsg5!3;OHOi6M@6>QB>PJ98nRsb{BUxxh*C3uNI z(*h#ajINlND}!gxCG3uG&^yTx%#G|a)dL(Od#j4kkRab2i3%~VCw|AiCns0 zvFElIl|Usj$R!zSrXhjn6nqn2=gt946O8?2Y!Jg+qPly0tJ%G<_8WqB56+22Np!MD zW=5y@_kGfC<7V4K|0G>+uRZ((dTr`04s%jhLPY+fVEdKPur2c*VxKYd-t7X9NBG z@(&wZ{V>FjzRq561j3?`KfH^<4~!eza&Ro`FxEh6JzNAM|K`%vfVIKaS|$#jsk&Yd z|0c*U5X&QdhPhsTRKJi3%8{rWX-Tn3!{}f#IlN57^-Q(TFw= zF~ebr1CpZ=c}LH`rnwtP{9;)QeiYKh&c)4G3g#6XKPPQOpX9Hx(u@&(2sl^|j!uqY zOcaRUjWiCb;pPG{%ICj{L@cV(WoY9VyfLrrC=jriUFg;V?BFMk!*vH`c*AE}DQkVV zx_1lg*X+B&YS`a=4oSX-FFNL=aV<$`d40toiz$Lq+2h>^|xGOcjUtB zC#pdi%(_*$lL2@*!DAlDVD`r5UO#x0OqvyOYcPLJf_gQR$cbO>jQzx=HeLIez0-ig zwyj>6jq_+vs4UsE#*hi;-w^mAL#9|7&yyHC6#n%<6nRlxe`*0_O^nw`F~$IlDd$E6 ztr2_TtTq(4Y2QdO?cXKL+$&?r2;t;6|Guy}#ZhBPpFOKRb!Pt{n(GMclwh|tgW4hF z2TMM1{upFqCl+-FnfaU#;`5&de*GJ-ujB*gANrf$czyO?{SyY+a@GIi3JIHydf*LQ z1-fyLrrxS2XXXp-v6A9e8x6`aP?~u$Q8`FAPJzj#O>mswoO|w*RKW9(=rBx7gUbc^ z^-uoVmtUX%($Bqqoc}cN$9@!0TCXL>ukBbWnpfG%x8CS!)=L2z6@$QaM8nu73 z15A9KYaus3*AU{26SVd&840AtX5*-H7}1R<;srxs88;?}2eYyWq>$N-l@az+J7e{F z27B7pl!?k5GhV*)*Y8lboS`F*2#{q+Rhjlz10DGW3#mBr6D>+~_^w!-v>%^19ALj#h&1NysuE zJlEy*zNraU4lMO~)K-`1Hi#Il9h94g9HS_-4jTigymD=53UJiYT2F{2Rs!8^6FY*s zSe9b(S4q=!oX+)|xUqvqs^Q}>sVeUt2&d;c-e{~R$Dnrs;KUd?yo?!IxK6y6MW^4n z-@M689lzv&pw9}m%)C+NkUGhnjz9x2*Evt>qlm7LyI{azGd~0|&O}CdT$pl7%&-A8 z=*%@mHYDm}hn&@8?ks}3kvLib5=yDximAcLYVD|NFvR;d=HbDVzj`_`ANz=JO&bBw zb1}wwI467*2k-UU1Omc0x+VmJ`Dhnf<&iacwK{8ileiE_;ZW+I+smr@>6oc$b|y#N79t(qIrZQBukX1{DK zQ`>4DHU<(q7xpa={L5%0U^noD+Hjk9uT5jG(OB-jB(E{Ocexq|tZCv5Hj{qoLWi00H~O%BA3q55vvsMfaxnH=`oVhrs5mx_4ffeN zNE$CnaTAjoglVMBaq0sMAA8-og)Fw`6ywCpAy}!aPTv{0b>3AS;MN(xO)P_$rPER~ z1)1j=CwcNmzQW?d3#9t~lYxBkCSKqKvpyWBLt!I^iDUj5uO>Ts?0A02AMa^;#?Z*# zl;Yi;vg^)swQNtH`W_#Tf^~gi${+vzdHnENEb(YO;+;gks;wbbu3<1^K9={;8%yS3 zdLCKz;b5KCp`NV$md1~crh65%^DK&BSz(!Vm)^9M1ai5gOMI4OgVCG;7Hqm zIzYd#5rNZ)eaj#+ zGF1Ynh=cV|P#1SX{p0`uKmbWZK~!df!N5%@nY6Wb=!K`I)t}^A!HEHE^a5*Vue*`E zK_1L(qFDfPI1Tu~jx=*cM{v+h0wsKkhix~OK7i#9+&Ox}=%n&};Ps+VlJdfbPhLC# zGMt_1%(_K7an&4%@=jA6)<# zJ0BK&%+Ni0iDVNVJSGGC)PNcs9XR|)Qh6*h)ulMk)ZtUAp9Wkz_t>!+^&Cna4r&Lr zCh(M38CW+*Ad4|VV&b8Vcw>mIZRR_bl=C7VIDhRcudn>fzx(>^-^_oc_pklb>*M|! zcagYz_~`h?urN@#t3yAy)BVJ}u(F9Xxg$S;R?>7GJ1l+X85nzqb%*U3;4^w^(tS(b zHKr<*lqi4u7yicU^I!bA*T3+ef8q7v@B1-?F}OFz+PY!KADMOU7X0YLY4qu!cRe@~ zi#oIgp{H$~@Pmw$K(%EA$)kxfZ*ogc85bXo*vt{6)6!Hf2UQ@3+JJL9T_y(6I3nzv z<6MBQeHmol7;)@4QZMQlPCN42)iJtY^;x+eK6{cbE)aZAZa3bDaW@n_lxr(;lLS|( zwZZEc?pmr}mr zu#3ZIbI5>mv4Xn=8ba|HeLBcD9t8%oF{5nsHC*!>=}0y}EPKJ2xVrN6jgx>9Cx?>1 z_3vzVOW(XI3Yc{#g=_0fHQla>0#uLM*RXYS4RkJORP`x`1k)i%JL?wC-3Qd*{`=U$ zp_rt4eW}0oJu}(v&2>!1i-&Y?>btdtTmBrq4JE3XFMj+F^=))I)z~QwG7x*2Pd}ob~ufmdSHW6echpx2bupDN`j?{N!K7EU@!-C(31qT z`6Dl)IbU=mhmcEW3;`}5LtDYdn)#UCJ%OtULFIEic-Fo7t@SE&kPf5qoiGM=_3VdnxOI~NAl#VGiw^_Ldy^l1)Tb3&FLgPN z4`LXp&%9yB!-MjS`;ZR4`)Bhu->F@rJLDM*e~wSiC&K9F`Kon#H^v|YMUHAHcRln^ z2L>k!G?;M?nV#)8G{jJo!9p#+UAX{>8d-=Kt#8~R>HqaJCXs=$Ip{UlIlA3YL2XSi z0IDjTykZeznJ#m?$;ZUO0VzW5+W%d2H;lF!5mf z)5KzSOrbSuBw&kFXVs;Im{v1D@z!s?aIvnQ4 z#EMuZFajI>6avHhfwP+dl)fP-c^Sv)9N=2D4wpDCgt#(KxX*-W)j$k9-{EO zfXG$Vp}6(^kk_|;T!G4FAC3d(H%?626+Asui$iqYgNt8XCgcHl77&f8xw7c;%6Q$7 zgYf-r7n&F#V?{P^c#vV&Za0WKJ-TRJ+#CV9nhr*eoz^hCY2IW|HPGNky>aYy0f>|X zaIzox)Xkc1j*TgH`M`@9&ju8j4i3j0MMM@y$W$|-jV?;7!UCY0H;3pqz55%PNH?cr zSK{VePCp=kiV$#`)@54X2o$%I6U^v2#GteEBd*a*9=X&<`|ic%9@|+*EvG)ZSCA20 z*U4h7$JFJ?un!a!`Ynsi8+ydNrqyQlNaT!+UquWC``lBCt}`5_E|Z-pkQ;+_nBye+ zYhV34udn_2Kl}ROznyP5|H+>|em$$oj-hL6S+!5vnh*Q!%}I)2m7sGw-zE<49>nalwF8T~OS$X6@Ue3$>lra< z<{4~0ajI+%O4A>+3 znRFHn{_LL(WOI>^uIP%xAKYYB1Zv_OZY{0@bw|lBy~GDRb`7vpaA;}=Y1iZ3kW>fR zY>DQ^WUhpC0xJ5%5Hx&*tG^Tr1basti-)8jMgqhz$@JKiM_Ic4g=6Qj)EEWcXnX94 zU9j<1-Hdik4n6^IKHWK`GH-qCii}T6H-GwpGxpgr8^;#ZLQG80v4KYp_Z*1Nd(-5k zZ-juBcc$9;&1eBmA+p{PS*OJcG2rMMOI@^YMX0&eDq7gAo056VFqG!{wzlQnFiCZ5 zT&nRKg)szJNlVb0N5|gSMtDx6MLy%j_*~Z%TE=z0_K`|~ue?5)b3@OIB~Vas%fADB zVjo?6S1MrG*QOeuXErw|V{xzf3c5DqK940jnn6^$-{?}5cZK1UHoa5^ z;K=#L01K-6%7I5lV0jU%TI*I@L~F}cxwevvjzMiaUVYt%F@tLZi1(_*nAdrzkB8Z# z)_HAwo+YqGHbjkAe{^Nm3up^Q>$ZC-c(8Ufbw;Ucomn*N2z_^*xK> zVG#ksi8UkFHAmy$&{ht7TXgSdV;8@Qa*s*LnPM=^{X=PGAXLQA+BQfgL5fU zPvxrO?dcF%UfufPLMblY#NFC;a<0wT#FSj*)8%1f(u_Zf_xH3 zXyu2Z*i59F7?_-T5+BOEID~A^Rd}gBzUnXbr`|fnfD2Xu0r`s~L~aHNg`80ax*ijh zGSM+U90+*5b5R4dWQj%F%!!YIfp>qwMSZRn&)1@63%S-oc%endi5r;iUH2E#-kRW2N}ZQynVZ#JFKctKGyeU}Bk=J;VsE z#+{o}@_6t44-yb|kZwCwdFAV!$sxMDx+iAcTM8IsS{dKU1B2?xreLYhWD=(y`O}|-sBzv5GkQXkP-)p?Btm+TV2>a#5s^9VC)N$ktr{TTv) z7KbrhL(G2j&)qHtIqC*7wVxmx8&Tnfc;I7AmYX^H_g??_YhQnTJ8cJ8yxV(7UP3m@(ht9gN(b!bJ(iT#FG36bn5$D?dr-6j$9CXUwK))-q! z6ukI`*D=n_w1&@_aUtkUJAkyN!GDGr+fTmx`qnS}((Cv9{1;z8@pJh%oIlTh8aVuO zaK7ZnT?Vd&jMmSbsVypengF%B)lf5QiFE0pKNH3@>YRh;Qm(b&xkh&5Ql)4!mm_s> zJ;m2HeLbik4%rY#4zEMI4kO+5BaO+W|3f$eet5HyNbtLS7-I^jY>dFOT9GiFxi*{| znYRqJ*jz!D1o^ey4`fuM!WbH29Issem-wC>Rddv_rCT2K~fP8}XpMG37vK55pn zL&K9K^XIj#313h~#N{;xJokMZ9Z)ANKv_TsdTb`q(t@%2hDL z-t}e@FhQny8183$LQrBh7nL#5PWgt%QUAH_d_a86(}lOx2!y07%eq{J;@GI=HVmIc z>vi}r;0<`hTrYXP*>=A{tGQw-d22^i!Be5^2f|YQcm|7FMs(A}WvqxzuRY2IVPw^n zDIL{aqxfF<*inPshig;cYm6&Fx;poFTyw(819pAih+2PC=w!_#EkVd0(aP@}{bGaT zzmH+6E5@-f9xbYala^>}5j>*8ledOkQvP38P~dLvp}8GQ9f&pRtdeb8ZZ25n#y|%;>$h zbN`_Y7q#To52)D7w}yR|fq@op88Y);Ojt%x+43RU^TBB6*_QWM-}BiPf6*+h+!TbL z#70~w6BEwTPsgBgZT*{DjUA9SsC|#oyt_|ormbu+rgjonii282rFzfHOuW}6rsN?X z)(ODeheIyoT|x1Ig6;w0?3HNr!7_ATHYZ_1gDW(Lu^l^X-HQOy3@u0GjVMvYq;nLt z7d;&Z^bGFm zjfZ6YX_0`uPThD^n`3CmnFC#hE8aX2&RfKQQl}VWLA?C(iaGCHrYwg*6q_yz>!6<) zJ^twlxYhf_j(^so5cu3>I17$HTLC45C2k=(?jGtKjU>J1fkP3IhZAsQG=x<+Wx_QI z5&OQQ3=quB_t6o^3$ZP=5QJ}J7$BSHV8-srs@Q+#$uxUPuI&4@j5w`x_i$!n>a;#G zuJ`o4wCPqW+*A7kmSSY=KU(_^HOLU_tY7+-sAn#`HfN86S|1LmOLN2SU5?#%=d=t4 zZzqW!6{{w}y=S4;hCh-vutWZP`<$YC=MDJSvrA17r`Uysm!-zMd?b-KWrU|JY`FBAS2b8w`5GUa}!Gc#^2JzFBr zg*R)R*gH*g+o*9YH-K7Sn)|8UA*=6+z4 zF*gbQL9!L#c%nWRGm2AJyRvITOy%AED^S^B{{M1X-IA25;TY1Ak9X^ej5xX?YSIld zx?-U^BWjIc+ZdggBX0;%^he~IurfL2I{3gNG@{i*fB+wnd2Tbt*mEaJ=It1~v)6B= z!h);h$~D3+FQs$^SM`K$jnSCUDpNn7JczOORy1R$@a0AP2)wzCkDC*m2(h5;7=wZ_ zKM%kX7E_Ll`*Rq|kv@idGcI?15J%5~$KyjOFNaQVJg8fL2H_!QgxWFYyhN7|oWJqQ zuV4O|KmGcFzxDOk59J%q@8uUWc=mN}?ySkggJFjrq=CxT*;gfiq@KVy%uCj{oa4?Gx3$&KKl0Sw|?%^Bz9*z1-Q|74-$W5>2T4GxlCsd zt8o4MuzU6yo+ICN!)iGk+d*dVSCoL*zkQHK{D^}uqX?OV|$!)|6UDo>*K9m?bZ^<9fs65Y?fMx>n=5q~x`^sR&TI zboaIqQTfU)8R+keMQjOGCn@WNOyMw`Qb1yTIetmEx##LnS(EGe{Hds|cPfn@7 z@34obMCF9CWR8xiv-Hgx%){l;g7?D!k%Ox9Lq!So5du}tEAre)oUTgrczI%)0+MJp z{I%z3P~i>a)SFuSgD{vU;n>WhO>EZRuE*eqS9_LkNTv$c+2N}bVpvmb8rMn!&N}%4 zpKij|1Z5ZXfHw9GzHz$DpiMU53LrMmn%D0Qb$hQ@$J?Dv{3v)D_ek8xGEIK`}M*d7@R$85pH4Y;w6ofFh2 zjjbUZrjsDbgt-=fpJ0T8GG0fwLL0Au;VW0mR6Wsh~^KE?s`S zTn!&C>Mj1p0e&5$n;59k)>{%|9}-Aw{P130TyL5|4F`D0dvKR|?TaWpLxpJ|gYyeI z4}U0$Q&3~;eH1*kLmg(%OF*}w+u|78@(g5leF!3eg99C}bJ!0laiq)9Gbic+qtqc7 zq%?ij zNoIpl{s;_Un&vB(G9B}faDboe7Gi;CLale-IR*tsyBxEqj5o;HJFUCGLgC{zqI2$R z7x^|YHxh?X^2m$n{u*WB#ga#~+D7v!&ZDTAdxBwd9@S=l+~W*Rjz^fma;>3M_OO^z`^Vj2E!8BoBS z|2eoW4$~16$q*EbX#_SyV%sqyV4rSk(2CVGU4I!wCFZ�!8D1$9pF07unWXdmXQH z$H0jlWFTc14tHU=cCbe$eKn!4NQs-}(mI9sQV0mxnZzPe&hZXrCb*^sM3O9YlT@@p#CB_=aXRZj7ln&FcEtBw^y0C<{@%nQ zQBc|ybMz;tbyzk(hK(J05+?;NO-rp=c7SYzxF>JMJc!Yr-xAq3X=)Z*SM62Q&XY64 zhL%Ca@lh6+Ehh_lKX5j_#O2)}6BWeGvho|B5Ax~<8#v21+53TWi21{PiQfWw@@%ad z)%0B(ZeV-^y0!0-H@>)&DZkC)#>j`$Z~nRrECmf;<34}QkQ66hn5ZQ@_e59%juZp3 z`PMd%7}k>rXv7+QPPo0eg0?*eoRG2m|JXYd==H(J+ZiTtFQHiX@PMBoGLhFp&A1 z`~03~?{n|_Fix&ZIH2aWSuW)L74TJ48oW8&EG%YSX#mA0qWg&gmT=!)1at&jH9+Ir9;3@5(>wT!b;EyQ~Ciwhd|k67_IKHLB{FJ77B2q+!H zx{l5UuvJ}c_>dsd6MmyqpU1-CG_;G$aTT5O4hLFo5VNs*3N1yWf>6bPlFQI*pPH5k z0xDywT48NjCd6QI9UjSLDLW@_nyDSSuef)x>>Fb@U^DQC__Us70)RoK&HUUL;^{{X z>jiOA)u2!H?S⁢4RaZF&jc8Tw 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%0A4z= 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�!8D1$9pF07unWXdmXQH z$H0jlWFTc14tHU=cCbe$eKn!4NQs-}(mI9sQV0mxnZzPe&hZXrCb*^sM3O9YlT@@p#CB_=aXRZj7ln&FcEtBw^y0C<{@%nQ zQBc|ybMz;tbyzk(hK(J05+?;NO-rp=c7SYzxF>JMJc!Yr-xAq3X=)Z*SM62Q&XY64 zhL%Ca@lh6+Ehh_lKX5j_#O2)}6BWeGvho|B5Ax~<8#v21+53TWi21{PiQfWw@@%ad z)%0B(ZeV-^y0!0-H@>)&DZkC)#>j`$Z~nRrECmf;<34}QkQ66hn5ZQ@_e59%juZp3 z`PMd%7}k>rXv7+QPPo0eg0?*eoRG2m|JXYd==H(J+ZiTtFQHiX@PMBoGLhFp&A1 z`~03~?{n|_Fix&ZIH2aWSuW)L74TJ48oW8&EG%YSX#mA0qWg&gmT=!)1at&jH9+Ir9;3@5(>wT!b;EyQ~Ciwhd|k67_IKHLB{FJ77B2q+!H zx{l5UuvJ}c_>dsd6MmyqpU1-CG_;G$aTT5O4hLFo5VNs*3N1yWf>6bPlFQI*pPH5k z0xDywT48NjCd6QI9UjSLDLW@_nyDSSuef)x>>Fb@U^DQC__Us70)RoK&HUUL;^{{X z>jiOA)u2!H?S⁢4RaZF&jc8Tw z3l%ihu_;7ouqFt_V(sj!M7kaa3vk*Zr~}h4E3lJcn9+e}&4ahD4JGLt63zm1Q#fSt zpm+mESm!((<$2Htx?UUT!&w05`ABsiE9)5G!A>%)31`Muj8h7iDM6|jYywr);F`)T zky%7%UEmjrz#9XAqWoCOM#E=ruLO`#12Dz>lsJeCnk z7O{Bx1r-K`P1R&2jK4!QkI>8*acn+}c~-ycIAJ_8C&D-Fl%si0wv{$2j#DwZzoyeB z4ijG0&DLXW%kaBeaoEsG}1tOe*& zG6#|sCPu8}OBFK;8!32CMumX{3}`&ZcU#+%YaErSV-ACB8#ifl?1D{9jvrl190!}k zb)D}qioNt&aN))039S2(2)6kz1RaBUorb#N{q=N-JQYGZ$@ z8^%U9({I{s7efYH9-0>6#IK207{^pP1!_35$q_#wT4r>0FgK&CC&Ua7dmhITSV;pWQkm54E?DLXATN{pw%{J&h5Mzwa`j0fa8F#6(u$m9#SS$ z%|6INUrtOFwBt#L?z0EUeC4C&h$F?ka^XQYg`$VAyr+LXce+~w8Uq3N_~sa{beR`w zBm4qI4FrS%oTuktFr8;!{AEr9!Nwl4zTs02Fw0OtQas{L_Gu%G&Q+R}@|P27*@~}f zQZsV2cv8b5hGAw~6omm+9?Hz{7-8r_PGC-{W3DAFwo;7{1gcKPy*!J=FVo=iNnDy9 zJ99&{Hcp-S9u`@LhSgNIA5IRNZ}4-7;Z)Bx9>G z=aUS#ZPWUt8_xUhxMh6)Lznmy&JWfN=Usin83xE5cQThx9KsAg{f*q;njk=7?W+7$ z%dsRPZDVc@HbviR?aO%jFsguf-ORJs0nZQo=h*HDZRz6(M}9Z}=dHeKo*YUkBXg~C z-0@?HUmjsm#W)be+wD{h18Re;rF0?TDI6OK6ugF?%-$G+>g+~AfGURLP^-eku$%)ZQnD$3QLTg^&pc z2r`uR8y^nb3N$DHqQg*7cR+EW@|pq|?(D;uMtsDP@f#S7h(lfkw2I>(?(8+3Wsh$= zil6ppI64V<=J=8T1w}^K&G=1%U*z;FF$9VbNr4cmOncRx33mpZ%7m)Y!4n*HQxyP_ z1uM>Y`-+csjeAsikb`MA$}5n443Wl`bCDl zkcr6OR#D7ry}yAmpl7YTw05AyW`A>{s6TZul4o1gZUYA<7ObhP~`L<1oM3c-d2g%{QRUP z*E=%YSg)|gP!Hm+svWy;ioolD0A>{+p_f0ki8UCRkq=Xb3nKjbBM>=J7!PQMOAIzj zB_4hxZ@Fu3_6W_hbQzdM z*s4K02YM@{w;UAO6#K6FB5iG9Olf0V#t#QN7CbFkXx%Kf+Qmj&Dwb9MdxA*ZG#S>k zGcGc)&DtIw2?>MZfsEeF#zUDYNfX!3t?Qt`2Vs7L;ysHD27+)wEuHhp4U8>!f7ADl zJMI|QU3cBM@v}FK{d@P1ef#(8+$&#>rw=aN%8!J5_UswH;Vip7d-jey@4QpbJ9N|e zPT3vM4d$J`;k!MAPOHn!GCM34wD0cJ`cyN}HM7Eo!!9kEG`%HifXg*o&riaWstuxA)qa zv+PTigARRh%U=%8M7ji0ZJGOmqa5af8GDl_+;mn#z>(YCJTXg_tkfPYvMP?H;@Rj6 z`sS0~^N6;d6^|>k9(b%ehqT(8Zg$ESp3y>Qdh-id7-vI8rP)-q zjdneG#O12w%tz)=pXmQWH=IB6kDflZU3}Fz`cV%aTaP|L=S1-z*e@(Nyh7O7!w-v4 za?(->B$=)?*1QxbcygwEPL%qY5MvuQ7R<=lM(C!o7X-KVrzwjM4Qi8ncE zh26O*SnuXVT=`D_tA7Pr7*d0c9@8f?OKi=$QGD%(eRWCw08J5xg_UDi)Jb!pHVhdJ zN>wJHWd@eM>)O|3^&Eq&Ri@EqwpE$QMVaFSe~DRhigiWB?F@iSve<+MKG|U|F84wT zJ{^-%&d{sC<6hGaX^sV8*a4yx9~eW|BDn+Cp#wK4Ms5aCgaCQkA3Mn%Ys}&^TT7_= z_$jL1O^3m*Mz0YVR^5{|b^D`A45cO{Ro&Fad&_8)5~vm01D>TU#fy65Sg^pG#eq5C zq#_&bh`qaG_2jM!Ac|eZxl>pojB{)kL~tyO?2Re3iMh39Rb70N=Bz^Je8xRG6!OdxD`73u#R;uJj_`~I;CyuEyKdr`7uV?jz{A6qrL$7Uq zW4~kXq~b#`_q8eE>zvp(a|$oWsioi8xrMCixh77$ee)S^@;&2n?kx&|wo^x3RpYp?sKx4J`J~`fEGwyREsKtxG$-RF;K;i$ScHVsy(~9_625q(@!pV^W zR!!%S1|qk$FG%hRCQn(#iqio35g)Xa#h1p~izPX)^FtuQh!_JOe-Sbk-T$JsqT{k& z`L!7Ut+8&Yimq9zG9?`ss5~XHBMh032?gTrcR1{+Xq!K5Zb7pWTLT{!Hl?=exth^Q zhJRxKOX_&Y7jImq9ZTZlBLZQflH4d)%7xPhuZh{XqWy+vnK^rr6EqKhvY)Y01OJ%v z?AX*WFV5|l9RL+fveVY1pjhCdm~p9<34N|=`d_WYZus29Z_w*ErVJ>O>{b{lXD{8I z#DxufPH_>~ij8naxiiZwGK`H3m-(Fb)Kzbtj20#VYB>N5Tn&^Pz~o4Os5$<$4}YK* zk>ld=&fs^x3+MT(({^I-=y&g~TUiXm(|#)wB8S@V`LOpp+u zH>Ekj@#NBp8^uP@E=KEUIsjE>9f%s1!?(ocx#Mdrg9Q<*V>b-&MgbLn0;LgsP8U<= z*rL&P#cAus#dKw^ChS~jMbtRVu&YAa9HX6(&o0GAUwr^;$4yKF+9>FZ0l2d5KvqpK zh~t)+D*t6;xi(GV3iGheRSp9_k#Kir0@vp<85-oFJe!n!hq=Y z3!Ak&(3G%*ajrd*=PnX*Jsk&Fp%qL*RULAkJoKb^?omMya_`(DWCk*x2F2dI$ZGPK z3;w{`%wb4Yu4W};2ptM!LgXBwcN_?8V4HAji*XF?H{HhC4Ax=g zdj{gk9N~Yk@c~rSoYlc{yqAq{qNB~2#w#AttH_^oPFpr>RJdYMXko!EvG;YX#Rm`U z50`j*V#Xfp7HQcKhw)GuK=* z{_v0faJ=oeerx>kAG~{f`m?tc;;(o2_^*`$M)nzJ#?D6AX9(2vB{-bw(A?t$|U)cCPjN!v#>ay^MFG^=4)3bC9#>QifdWG zf?wlIAu#VQnH56<7Qg3@0c@&R9f$ORnEA_$RLvx6nS(~KIY`6{UeDxeiNqYtOG=B~ zFrjN3o8mWDLn>~3BFCqxR(wd%C91@2Sb#?!JTd|xse7lU^Mg0bOVeYZGqeB5tLmS>?6Ps?bIuueyz6~q>qEbC9JTwN z`lmsfKe{=acR}Nyc@e+bdacY@`I7_g4i|@=T?rBd&X>N^@S{4)ju;PX!pt`)Txu;1 zPm!6@#uDpK9Jq6?mSxK*EPUCj?-CwVpAO!B)41)!SB&Fd_T%HM7r$ieI!-s7dFPrd z7APUo&An7v7w9+q(nE&EeY0n^Do!hnl*}_pSYj(PTf*8UF~hgads>aLv-pxfOFf?W z5U1x@E}h~nadPf)%HXvtwb^@(azt2LlX;3>f2%$b#TtVByeVKZC{&38ZQ_Bp=7ztn zuBI{VP7S|MmDpouxonHdKFuG4^br!#q*JP8y(U1*9Je?$em1RbjKpKTT2MBJbGIon z&U&#(AAcD?I#F4l>~*ggl_r=r*y`zvFMQ&|Amrs=vV;1koOt$_Gj9n?cxpAg0ZWk~ zlRfJV|H%s(21UsFVi)E>o&p!+1uN$@!z&N&qGZO1ix;U(eP1_C{)I=X;-b=WRf!op z{jrrt?bxbK)ljzJ$Y&jxytbg;rFhkhEDqa;=MA}8!9Bmp0YR^e znqD{XW}SPoMp$0yle~_1hrk9q@)$Xi>V^GhB_YQgtI;yBj+=fqoqb2|EUJnK+RP8p zGEi{XxD0XUL5->sg3wjd5+gV^>IiY9KPEEP&J2Mc4CB^|sc_Rr>dq$^An@`D9_^^F zGEW$h7YryEW2Xio#oF|{>fm7RemKnt{YjzVJIAKeTJB>@xnge5IIAzoN<49m8wLTH zqt$}P`9X#++$8|Vf+!!Vz!xvFdTw{V5;MI-M+_Om_Ku!j<&S^-3_Z{GXQxNp6o=zV z^tK~tm38jJC%jeFSDO?E22xriFnD72Lp%By89J1D@=)D*g;?{V-`MUxL12u)!7+(r zhX*&<%3fk)oyXz_VT^A$bU>_4tA=jq^@|16Ml+)$!FT7#K!R(;&s3bQfDl} z847Il+R@l6oM7U%%}SpM!yDvh-2K`@?)Ejdb~QW;#!Xr zrkDk70<|beR{e2{bOaeIaMWOo?PAehq%Xg=F|4_}r)mq7@#cTpE9uU=*ru@z)j?C) zJRZ|m2ceKV2HGqC^n>-OdumH?%i{=+dcBTWUvdRe z5o%5vFLe92iJgNf2R_%>lO2(B`x4G?AQ2Nzk}&Ow6O0OCnPTlYw5JZ%5bG^*-#Srw zqZXh_b3s%j{=~9^#nOG!7z4|=W3$ff`W3E6Kr!jnxz?g>TepjnZ=mt*1u(XuaN)b3;v#kmZ4 z(4fMo)$GmyhEhUdq*L*y9aC*+IDFCWaLR1ic zHAlo-^(o<=)G_Goq4Cj+KRSN@_uo4{``OQq+x2r8e4?2A?$u9X+f_WddMIB7ie5f2|VTKnZCjzpYkxr z3{QS6a{-;rmPu@kj&yUC0cNiHcpwC>fQg%AyRZD$a(~)Ozqg4B2gYV$*+t6eW&p8w*p<2e0>GoK8qdE?WoU6eI*5T72b@{ZoY zNMk!;kgdaC)jK!7u`SrT*u1#mtZ8YV&WC-;0te#cLdboqHlbB0fMSOYEp*sWuPt-d zYIOR;HGICgVEYmv1PQoyNbEy8k25+;Q~~b+);vJ(^~h@5yN0}uFD|k$p>Xc99GVic zOKzcaq{c>Fj?rXN$gcZ^jwi^V%>}MI8$n=ZWrI!Ta1s}eTnt9dCrN-ga{Mt~`im!Q zO|1Q41+fZ@*;HiJS%=n&-lMa-a4r{c?IZf?BFvN9bzl@vD0_CEO)r_pN0=>oRMxY}{2~8t z2|KSPC39?WLxCSc08{w&Zp}~KVTIN9HpUH46H{3g%OgXbI7)AF)r|>V&spO%_c>0> zQNn5)OBchOZ`1={v16l>j;6lamX+1+v*$tJ=n`WNMlzYWC1-dDNHJt2@qt0@1+;%9 zX>q**bX9Q5%s0mtHj?!?K-tMQ7fKLTP)%G&DOeklrncQ$yf~MOIANP|CA6iSR8DGV zR#5HUf&}T9-Ck*#CwbARNc2s+8INtqttxrgv?FlX#$ZB)0F!NE@%-~_6Go#@-1BSirHh7NaKg-h@)O8x{iG?j9X7fd^wln!TxDmQ`Mlcob)*tN*wDd@R3 zGc22Sz+S+K4PQ4Mj{>6|6ZKFHTWf=6##}jM-JUu2nrfizKxfXyCfUlE2m`D*;-TV} z4BwtN6_|JCi(tl(NWEQcY#SRgv)K5&jz~o={7jF6X-RDA{Lo6cVckA(hBp-Hiyy zZTbkPtfZ&Pc!766X_t(O{S+PteO#FzXXxC}M*Z6u!;)L3I$kW2$roc`&hOVZF1K&f zH?19L@{)uQF*&5etY7H~bB|Zs&N~}!Zt(D6sM7giuVz(yjramC%SSWbhoIvyfeZ3(!-aR9{!qFeB3@?KpqqKZk{c z>4c39Z%)S#6Fg`Z@}85})@T5n2vQYv*$^*5gOLb2r^b>McjuUKnnebEl0jxlw8Smga=-e-)f@+BC2IV?#ydurcceDr3@b&;>fT#mUZ9?Ylpo#oRYj0=cdvG+z$+ zrnbuug7+6Q|%O_G~8$|-!)=619@Jms&Wn((ch%hdQ+itsU+;GE< zX&|5CL?j)`OH0Yc!Ih|N){3qrU~ zb`_yc6r3v%dCgH}S?rj|UwHY~KmAkVQICAoxaTRS%p1zwjQ+BFpEgc9<)kAJbzD*T zcdP4wvZS0lPIqyMCbev5pJmiJr+4&e>b%+kutXiMJw5E|tRRrw1dL?3T-R3o4&yn&JTdN5xWVT!KA@+1Ao+>wfkqN#} zRJPKlPnPKHf+!VZ=Tt4zNoZN)YRtJ1XlyK-Sin4%6o%RIu9`d!CmtSrcBrVi;y7@_ z4daeKc+dFcJ1!VEz2QHOW54!sV>?cCf#>55;LIOJ%Aw;VCmn`CD67z+)+Mw^kjYMs z&TY$$uLiqLx9gR+e6B$f=U4sdd;$ijcHZE`52eQ2H=MWY_nU7W`~TwdvHR)YHBR}a zZyqN;#2U%la#n*iD7xxd zaTLFH=_?o-i`g<{u|z|bkhj-DOAra$6@}HwY+1vRO ztr{B_Xc(?$P#uF>8zVOQ~xn($!5@fkFIF$Y*Z9Y^Od5D+eLpRKvdg^xuaAcEPa_U)jo zi60*4qkZDobZk~${KBHCq?4-snSUOPNU?)G{8_rg7sfuO3=@$ZmRr>wZ{xv!@gHa8 z&^P~7Nx#!m>N%ePpzen|4#HzgS1B=Bsx@AH-ZVtl=bjV3bD&I54BF(|18Q=6Z->$& zv`MQ z%vQ$;MkRB!){NC_EUUG#o=Eh-BK#c>4B;t_^b@tA+mtRg=4)h$>u?nl{yVlPjjven z-ls$Y1<%bwcfa1ScR#oe1gwqm79vm)SJn)eX@Dfp@>_M_pZfHt^wXHvYQ9uF*nXiU zlq)p85Y}$#L}VLVVprb`&v;~w*ZkG`wq38!`4Ab5fxtun06+jqL_t(PlSv_Rj{%%@ zuE3SoTl>Vf+LHDBh*)+}&Co>Tx_y_(b#xgn|HIZ@L7^aGGIN_k`0}8zbs?5THr)M9)8wa7*j6;X^ z=i0}ZGF%%>B6!ey$uS{ZZm-QOW0U1RHMT)>xZdiNd z{Jn}9)e&q~qQI(~#Gxkv_qeHA5F2Hj=o7&s622y$|G|<`Q)J9yuMC)ekraIHp7D)O z8_$2?kB-Mb{t3DX9X#=D)rl^B&A4OGzoA9F|HHXE((%xp9vyMS-e5(o7_4{AxH(S9 zodf(6a9DicO*8D$kG@D@-nfG@w>^6oA?-_zn8dZ4QRJOosntD)-}plIF;HDAdiu0{ zMWwkh$vDAR4&^KTCl<+c(~sibcW|=9k4@mvpAW5eih%-Tj#6-WYrb;ZA$JR&wy@dCxnCf=lLY&|vvQERB*6)jflU9Zhu#;3?2$wNT( zPGXOb14w)@a1n|HpW$Sz_x{DTW6#H~9;d(ct>fN*@5y7!z3w%(Y}Z%Y^ivytOV+uQ zUGdCOrOgvEJ=ryeUK_sZlaI?X30Mt^J6|L*lCX)3*L_aCh;3RD^#c>x@Kg>RhpKa} z!3aO}Mdt_AWRo#zzBwbr)$<9r)f0z|Be+>7I6BDRR{I5K`uL0?2tClKm@8Gw2%1O9 zZLbaOX=Xiw@Vi1kz`4_spw`oK(j=fVyZujZsf)DxVFzQat@a$aq0n(;Xd{>Qr(_Tcz?(j3p^l zV)6_zCcbQARrr>#z`> z%2B%9Z#HGFw_VN;;saa`{er)o#GA7#pG(f?9Dy7kc4?1sj(}JtLhBd|%5j=GoPPQD z`mwT48-&9_Ay&-YSE~&aMua4dXMgR(B$(p|ownNbITlNI!*Q$5Boi{O0IGPm>XX`T z$%eSocLH(GG$ygLPIIJMiA$}{p;>yK;RmO7?5Ol@I{oht{e;`joxAjnwH<=%c#}R1 zY$?hG4l0h^Y$HFMr+8@N0Ne<_+P)^n+$3<)7X+$-S6uFw`+_WegKL{(2rZbcd}BZd zCKyM@wTG`S;EY@Y623&#j%|||2u;@bApl~aIBWvb(_#j`bKWsYAzSy=@s~Zvxcej% zI4STsCPc}R3)PmoxK+(pt%&nzP)+`jol)m0EznnRTG~`?J)<4}u44lV}5f^)6Tsu+I zLg{kME^)xc9LsfK`t)nR`m5ua-~LQneKBqBbD#T+cfIr7h^KCzYRUC9B(DWt*XwbhcfbxhMdvs^mTP?CHauKm=B}MeRG;u z^1g2N=?xdFpffHNhz#?(t>ZvWkvyXOq>aS1`x=^rMz3glO2$wstv4iG`Ci`mYhLx8 z_0BOZd2zoZY!>ZhW3!4)`U=VX?yF>5y$}fMuZ0UyHjSM|Fr%}=AhoqGnKNHLfN#(i?w9e5NFex$eKLKV=BZkU+j?8`XQ;8`FCOX_06rBVE*# z!aG}_5iEA3d&`L z2SD8ZXJHxxerM)LW%tozeCM-&aD3%iXW_&*+fF_8)baJ-@D1Zc{o}%Q@j=&dc%X=+ z#t!S!Ib5~5j_J@dm(=!n)cE$?AVEe#qG#3d=i`L=Anw^$5Ke3%>F$iH&55jYD*%C1 zF_bkN!b}zMg}rY;p~N0T-^{T;wef|t2NjI!?iQ5dgWvAFF~y>{t`%UHepQ#I=lH@K zd}V`Qs@mC)>OmCBjTL90#<+{qH9Rz$tnBM+^Ue_>l|rOpL6I1wx_IJIdBDFn+RsG* znV#fYrLS+}BXO8f)$kO5;I?(By-rw;BTD>t7Q&fqbrx*v0Aeu*h!>EeIe6v80WHVNrg*;%uh~8qmwR&SF!4MsrQflSAA&QdEFRizW4XXy`S(zlq&K> zKZ%D2GTR}SHT`w0l}+olS>tWeaYePf@q!#974xKO5h@&-v+NowRbpq0Z-Xs01GwUg zcICeS$+;WC)?PdJOM67&Eu91&T^q(A;Z#rs>zxsSMWloqS&FuWvtjMeF-wTN2qFk5@|(ay}6mdObRZTIG zsv_=qdR;+QbI=2W6F)kLFfeA6#88cpMd591aN!KNg6s(RNhoy;%)lluwAyApCin+T zkzRGC>;e7%kV`MUbo|cmT%b2w4vwS!b7>g`QWpyW^RTt&3S6ESQmjiGSuaJ$3Z`tj z>zVr+0p#vyxcZpLi?2}JqMw)h+9y0=Jn@N79NY9pCcK`Xbx{;*#Vv}&XNPLTiI81- zLmd4gZ_1?ZIhiODE-WTxCv(5vaXqNmgtxCLF^R*}`r^dnI`grzmw9w6D=2;QVypgX z_>JRjzxi9^GuK`_jy_r!)fM3EPI*Jja~X9=$dh)|Pi1_ZT6dx<}cm?-Q6xs0$keM=!K zz`QvDW>uI+{QTd}ojb?z`oA@&o_eow?|Yv*?sczI#|iqU>)U*Tpn_Q0-K9#*nx{nJ z8|?tlOLt2gS82U}6C`pug=E-M*{>vJ~ZoR>EM9zWA*lJ&6W zEs0o=e~*vovqrD-P5@Hs3>Dva@L<7}++KIxb>qMN`mc?fZu;CfiZxLf;?TzR7*^~N zPPyalZV8`i%?G>2UlKh8ZVn zDrH_K-3*a*&DUNU7diPSpH0G;hPJn4)FhRAxwrQ;Puwj!F*ew~KcRb{e5-jpIq{OJ0+S02{S@Z)p{yGgf_J zeT+wN_#hTGJSE5rgi`Q&41LO$gZc4f|}&kP9tW57S{>a_^E% z1{HJDX=^&^op|shpoL1XLvqKPtc>BT*leceG@~M+EhapZ46|sY5WvZ8hjvyxRtMuC zRAt>i(hcWW*qhnoSXFqjlOR9Py~=@+^iOs=Ao{;ZBEEC)zVZ2+ZW^Ea+)et&c{|4^ zuKL7y``a%VuX@!hZFTsD8_@itK%C{Emq*bO5$^3{2G!OM46OxDfx*#x)GHs5SP!S3 zu?)C<^hky+9Gtw<7FLz1lRT*jhvW81wKz4S`#?m(J2l)GI8ynl2R~rE>NWpHC%LcC zJCys!u{xM`>nlCS9jo7a?SgL~1o7m>g?9A>nByT#b+BW`cQ2s6Da8SgurZMNZTA)4t3AIDL0)RvMIE7&F#1h>Rv9< z&Bd*Qmys7&?6E1R^IRO3l^gp|JwD>JWyDgj6;Z|Iv4C(vP@|97Q#Yq7X$NO+%qZv( zv++A3`joSpSH0yekz!FC8(eiMZw1(Pjs3#%)328dMl|Hu9uYm1|Qt zwJEx4BMT81wb4#QFpev>ST1e8*)RG}te$*mEHzd~7`KH+^CA#<4sNb#r& z=ga}k;tprKs<|LL)b=*H4r^B|_6->irXu*ZQ8lFm4h~izk-5c&bWBdF5(*Mj*-Px2 zoaDUc6SRc%4HD)97>$W#`jn%7TkygUesDbF>;K`n=Elzm^S7hC_BF2=&wbwW{I%6X z{&bjo=iup^3tgV6SsJKmd9#QsyH3~g=@N5ckoje9H9e#zQN5lac#oz$(t;Y;y>Opl+%7j4d3sTIb4`HkzsnRh=1eg-LPs~jW``qXH zCSa})$)S>=3GOlLHKe;>b#j(e^qBN$qElY7qc%smuOpqj)?;4vj5Tv8oSq%dYfC27 ztmeiRXEjK%)KstZ7*dR8&Hr%##9DB?${^#nvL2%@sgkr=!A-u0CQIkfq zNdm7IT7%~d>q%1c18-*VoMKvK9iMZpW|fb7gUg?G%-1=`aez$Ec?8J0{bRzD^%TA9 zi6|@(rx@=lbGn2+Q1B%~)rrwO=rKSHwD9Nv$#o$;%Yrf_L>73Xpjj66m;>kG?wZ>X=0G#74-w|kwPURi%c*l6fd9NHFz2u|g z+G{^EeN^u{4eqCHZPh`z@r7@QxlD<#eZ?g-@$Dg3yaXi-R?m8-vQRNunSoQI$`do)g=jAa+l`+v{ zWlL@QcuqUVqtqbg4QDUllFXyL2z*8;xfcekcq}g-Iv{QY_=YSbL|Y01n2QCUN_1e{ z5c5(X82WO}2_+BVc%i66!k#R-^ z**A{wE*x^lC(O7Y*w0s;Jtx#R$>^W|+b@3A*uGuAW6M{S`dw0mc9cFXaPmFxsZVQM zH%|MqdygOak>`)6KK1LygC6|g{NsY^nZH6U+pW6c;K=+b>Kb=nG`O2HZ5w&e_|3U0 z>%NJJb>}|4jWgnIxjTVavVOLfK#6a(~#kNPbwX(3(mc za>abf@q<7Tr3vd^+q}*dU0x0dC(isMFPxBDc(xASR=Vz2e`Q?%%hM=F0BUf zudkS=K`?Or^1ftswG}S;q*c`jgzn9fwqy@ zuBXL3pWxblgk?-U&dkLMr+qpgIO5rn_&7GRQOkKpO~xKxVh~xmP=6&*^lT|zTjEp> zZHHkl7lcj+0Zy8oczrMj!&(TlLMLkBpb;{~Wyk{qGys>vz$2>8tpXm>mkjfAb7Kg`Ku^&VDbrN;yk!d=Om36 zKixyD`}MWXy?VpheZWKI={2u@^?25^o;6N7>14eLtzT|GuvZTG+Psc;-iYapvA9&3 zndP{sxufXC?Ig;i$WhC;TgZ%EFx1qE4yDX8LfBcU?VPJNz(}QBxDFP2Z6c=6h^pnd zx+M$gOr@CYjRy6K+sC3z-4v0rUR9XA2HS0XR~3BsulyYjs!UW=#1`hca}1L4(35eg$I zJ`ed|;fN|@nOHd27*AgTmsyhSrsr`5WzK#2$J9Un#y5`VJm)#Kz}Wl`7BZ+`Qe$2sSmW1et>?cPF8&c)6k5SKT}1$B#nS)=%XDjvQri>$|* zMtA_yA+)JCi$#6|)|Mv4rt=en+B&A#Z`no^vT-oIMN z8*ll=|1>VU{Nu*(^CBJ}<;*b&%Ss5huXhQX7A`#RB=AC?e)rGGkiER|Q)=4$Fr_IVrB77XO~-iYMO&s__KtKC;iT z?s0<3acHmnQ1!So#;W5@26{-Ns^^F*G{I6hrf73~*anjxRLnH~i5`#|6skPYU<8h) zH&m+h#5l+`DoQEc=)OKv zYd-UtykW+@BgG24uZe`~d2OTh#!eT3b7A}ee7ekro3gG zdH*vF?&HhrL4$;~KgU2nF%E}mRgk>EXQAwM33(!H7jlzka95n5+u?OSV%3 zp*5}kX&?;d2M9oJL=u`ZwI0^UjT3+%2pD;nvY3*dAM3a*!(I!E>ppYf7weKWgJp>0 zqdg^7$wiz6win!rKzL)dSz=hMiI)_+%QPrzW&w*lOcj&a@I{>Ujv2mVMi`r1=0n(p z7q7g?>_v>Y4vmlLH<_=v>dJBTr$0Sz)z|$lyzs*D%fIwXZ8Z1%FhBn!kP=t&oJUEl z(uRmsDxgHrIf^(hJPVdxNW0E{9ePn(jn4!iNXBff2IKLteUS(-Gu7j17uaV}iVcib zB(K;Z(33Ibf`J$5_&fZ9{Ao{n>UfM!e5ap&#yIAfWBqRHV;=oz*k<8E%s&-VCwGX= z-_d0Y(#Ot|lvK1G$aV?9W<31SrQBwEW3q``hg$mmA!$gxS+Kuh>1%d1wx2*!RZTzxz zyk=J;0^=gzl=&i)t1MX=Ec`kYyDmX8CB56)R2;sDj4=L)Ky6^SZ#(1Fp1!I&Z%oLd zr)#-10d63hezBuiG1;fS{RY!5I<|@lPL++YEs;WN1{v9N^(V$n|Kok*n*Z=KW7~(` zKXyInF=H=lf+)Gw!U!|9dF{k|Gxp?|OtfsQ@TNdgRV>L+x{`|paoSR(dbB~unYIB@ z7b22H?zyLALcvW9kFbu%?K+M)J`Qdm`)a36=);sWbjU3bE%)qs%2)SqP;zzp^GO8u zU*}j1WNLoNFZ#$ulQS>QDM7s**1Crb8<~&L#D_V$RK%>Z9cTEjAf3 zC3)$Md7wDtS=R_?Dh@}&0jjWg^OUhqo+RQ;S8kN4OfSNH%Qt`Xc>2?yKECN0&lsnj zcAAtr$}4Xf*yPKG+ThxGDslH~nl#XR;w<1MO;950_!{p01{Mya$$|4}eS?xC`kZml zv8TYkTJSq3rzy45W)2aH;TgD$4lVJr5WJXqvvPhYpZy&u|dg9 z`iYSqm2bLRy>JwT3_)B7AVg8KmgeS2Zv1s0U-#PAjTgS?h34SRo90K)pJUc}%=3vG zV(yR}s2HnuxIhvhnhL;UL=&bQ+qtm_j5g;7=`<+5*(SV?5jv+jH{JTWQ6IF~xZy0r z@<&XL60aMj+k}*U;Y$skjx!uYXOY7%#R}88vLECswcDs6Uvl7XTc7CA9$uJ?(&}kK zkvh*btIjHQ-SyXxpZ%Gi8NcwxpC6yRCg1YlhV$%%gXvy$pYVmExM`9qCqOcMy4cvY zLtGOh#>BY57$u5hS`vrEa`##CwAl8u$ZQj>4OZ16@U93_cX-;=ah<@JGbpr{`T)?Z zDlT`YY`ha$&r9>RPIfk7VH`rcigeXvt{hmH(-xB z_NeiQM?7lq8@fj-9191CP0H=+plfPyoOG!DGluk$!;+F2ARrI=NxB%&;=-8YFpRK< zt!uWI$mc_uLDciWuWOLVAAjLA2%vCcag#9#FY?UoY8NNGnTH^-MPHm?3QnA^t1sbc zr6UlK$SK&m(ybCP;iK<6oXtImJLxLBWX=4WxX>DYzCPt375Wh}dQ&{K%B{l!&q8Ncbx*a@6QaS%JR36i`$ zR-bTw>s#Kc*W72=LB@~nI2gOks}ro3sIo@KopabBbda4`L#9&N;vgio=KTyHbIvg5 z!rgDWU=@~ZdGmjL!x=bl{GjDfNVMT_8mLOyywt;#t&te5!4@u?B{z~)e6yknWOL|T zVV4|7Q^?YF{>@%NHDyyQo>N=PdnAy>iz*^u9y?PeQw_kXbQASF9@<7S^bV(iCFo{T zb>F(pejR_~BP)%9fx9vlQwgk zqa*1WZcN}9Q{C*9WOf>B+$^OV?#&dFWA{sbtuc3F1M4yB^%W^@ke_$nx#M}yeV)!2 zef|&|3ZCr>I-U}6T;kC!lelWE&AKVuo$sbxKPl zbr9&ONk4CVVFex;i&9=p&Ra2MYi65+L>R_q7O8#$WB<72mYaR^`C5HCmrpdm=?yaniI^7yJx`=}Yv6twI#QnCS>2 z`@kj74rdCD(8fyX9YP0`@v;!=;-2%;?dpSh7QbLo&rgiVvF(v_0i_r1d_sVq-RK*` z9m-2y@=||_<)oADVbLk4oU9iey13>l$UY_3o><#sE;^Z690#2Cb*1I2upqp}mM1ry zDIN!ipvEq0Uo0uuwlsPY1mrx~qEWI{5Wy;rO7wEFZg%_-XZ+eC!B=OjaUkJ$CFVF5vXg>YVBWzn2f&!bU4v?DddxPli9w}slHuF^wg^6{EmNKGr60|$Dr%>J zjf`X8d@E{In=3EcqXXX#7b}ESpzXTGyH6@{grbibSLfWHv~64Sz+=%e^}{|5Mo5b% zPW4;@s(yh{L7kc~g>^^9xb5SYjmuu}oN@4N?;1NF`-pMCFBs)jzI?-3qoZxzqF8Q06mf}8f#`WV1SrRN;pC<|?}!wK}DY{<1f^P}T<|Jb+x zma*@`OU5a$d+j*$ho3jL?9{Q!JSd#&Gb?z9J^g`y`ViiJEl`c%r&1N?v-4Yuyj~B^ zlx8SXZ0Lm*bB84H1?#ppafd<4Rc!=PQvpVf!b&x!B0}pVJUo{R+hT&LY1ojnZcFN8 z#}aMOwI4a?3;vZ^Vk&$yncIdnyDMKF9xKC}*)EK@eIY79j;9V_y{|w*E`=%a&p1~;&c@igXYcsbr#?O2q)#}Xd;YnN@*Z>d7cSSetynBU zNa^?-Y_%Jz<_64oa%Ur%qNUDLaylT9^P#OZ8lS%5%nkbWC!EWq_UgRv*} z##-;=0ffN+5IAY|1Od5^ke5ujW*HvZAYXQo2h5eA=a z#o(A^>4ZsUxFU2r-NSX~2fy^cJum$i2%9{-&peRee^XAn*BGz=cfaIMK)YMQ^MR)0 z^hW)$M<3&#>VSn9$Q`{UCw%L`fk@u3S!g@Yf)J&Tc;K2h^pQ7s=6S{aNPj@s$BY%M zIJ6;;=$H#m7raT7M%+vUz+@oE zVn;+3pet;m2eQ1jM1}<6+;Bs{Lx?0}N2ZGd9{1A*rUmChE;={OD}}FD8lK<{fBOY* zALqaP<>QjeFB^PYfwAts+FOSv&dO~3^p;SXw`CP)#Ab=6fliX->-da-%rk1_Cp8Yg z;YpR*Z|_7 zNZzU(L!7xPi&ijh!m(*=jYm@vGth2B>&q4JifdW^)(GY*ZO=^E3(S4KID;ZxLQJDf z>1NhP<{7y~sp3jNQ#7NJykZWRtx%OS;*Wz^_BcfvTQoe|pYM^;w~|wFiZra}pLgDP z{_~%w-zYyuS^zq3%a^-nnKcQ)!t!9kNAN*Q3TlV$3iZT*xD(Aamu@)Mm5wzr zcGcZ5IzgeT3)M*uMvV$XfV6FDs+y<@ygM{MiBW;gz{!};f0`tn1TmXN%u9^{t)YN} zlZWw=;bc0hY1(Zu87`9wx@z*^2}bns=Fnu9FtFRu*dHe!{Mn}uB3p5uEIYM%hriD0 z_Az4_`f>W3#&5svxAiHj4~###@K5xDa*w_qbIrIxU-6w~3AjQg(-lqSh!b!A@VhJ) z^Po{)3tF*uMw14IjziKQCZB}0bH93p_RT+Z!S(F!W5wyirg#Dj-!g7!jVKbpl#0i> zkzT=iF{oUv=Rzf+thyfr9&Tdx@6s4SAGVIK_=@}co&Q5)|9INd{{HykANuG1EwqBz z7o+P>jf;vC&DQ#Q^G3YO+x~>;(ib;wTbBME+M03jxDeh(zYz!*C_w@!!c?$B=oTAc z440!CVYP$F7W1+t2Q*dY4OdGReY8eYRXXR8W?QRTu|-n$Ks+BZP68oOLC-5MB&tub zaPUwFJwY6tFHv{G-DZr7Y)va6IqAF@f}i$XZwwF{{~0!OJp|cGQdn&5 z1M_q#F_u4e9a7s6k(|$1XBVxAxwjn;1fBDWGrZo4iu{JuK7;|zam^gPO`puX^asCh z?E9VH9lIX!fU*796a7NM|7ls{khe*&f$y%x{1!(auZ^?g@}Im`C>|<@OJ`N&!TWAy zz`Eru7mi(dalaW`{XCF6sd#tj&9%LI#@<`C{$2FRanFDMx^drs_CsT<-gMK!nK>s0 z&xO#7O%;wy+UjQ_A*T32;x{mH?NS(ZAQaW+M2KGV8h&^(#iREH7eb!)Rdwwsjze-o z+#m6&J?DlL_MknC8!tv{e8_1$YpeWV+c$>n#JrADKs@2Vn$LnRZ(;wm2E+!hMP zt=VU3fw-uGFV%Z}DVVkPA1WMpxukjgamS56`r|(t574Ln_v_6WZl19g_>~lv5DM7w z!->co>|GR>9jn3ly&aPSoJ=FY<=i#Z(PvYAskw?CPV2#R4khS8Q5CgavoWS*ZUZ3l zEV#~IC9L0k^s!ka$a2iUC7}aI6-f#?u5qxB3TIv>LB`Do80wr2PsNPCGV`9)fJGlU z@y3V!G`M8O+Ncx+JQ*QM*}RT`F@7A1>R9JxbMP56p)~gBlI>gv+mkllOXnECxKCWXbyvk5kaW|;FqG6dqC=Qp6vuf^?6vK}j@ySV%2jOyzf&U~vN%YYo(nQpAvhwM2t z%Ae;V5Cn?H?7E)lK#iMOYUxxbuIdM)3c}Q`YWBOobqsi%Dgo0c7HX7uom;;a5Sba# z7sg}n<0^vduf2Y}_I0lwuXyFF5)V*y60S0dd~&Fgj!irjW{6|KW9c!WKa`%=X%vN& ztXoFeCdc1mrJB_O(ibM?ELFEW$EyI20!ZILX*fKB&iQ28KF*2RT45MRDS2|UfQ1EY z4UgLJq_4;`_TZgqJHby#04O#KB0_}^6T!o{mLAF-|lf^x&zg{U#>AI`DW&o`i*>UIA40%<-XyJU*>*~<8sW9DZD6h^wTf##(N(# zSvv}0RrHRn?PN3C3e53YufPA>=bsAE=jbgjRga7p>oK1p_E5y|H?Hhh8 zlT&fcbC!Jz2ZZ@Y@mwtfX}V7)S;b!=W1y#S@Ya|w{gk$V_Q3`;GUhjJ*_GJ3#v^PW zKDSA0Pna5+xT^}Os>HBF+;$UVL*-{WT;>*}iAQLrvM_WP6XNjepqV4U2*JTI2|?=_ zH8H`F#TkwMd_KV}WLA63VrNb^H07hDl1PS_-3r>Sku?@z=dRbVtVba9G#LM|vMz~~ zy6#V=B#)`nhcG9%<)tP}`d4P&Mb9XNS3(8po)Ei}T9~^UC#}N0;{5Z*3tsU2u~R?M zOO#u5ULnejVqQtis~xmF`~HdQb3PTw98DyB@)kp{FP%83^bcqPWgCnt6bY;$Ie~P> z=YRks0ILgAgU{7kNrEvsl#-&r4ttfRj|^#Sqfd$xxZyTuGwmZ@{FDnjnw?dG@hhtu zYt;clR7|t3p_FJj$lH_6ZI%r<1HFJTiTo#7x$**wSIV9}d&cFLUp{WU@kakA@Atg> zcgHXPmtTppwmbC?0Qv9UEQoyoHJ}GN`LYMc?&xSzu`=|>^7PYBANRP&J;sCdk2`kwA9RRAixoGWSy25#o|Cv}8BZ7TTHKB!LT#mA zRBl>TwvM{=@R_40AZ?ztoBcMvoJBpiEnT?E7({Uyj1St(qX#p=g8aSpa9$VZtgr z;&lUnD`|I*Oeq#(slN4z)on;)MleQu)4|YynqBeNPLf3AQAjmh0au+96#_kr-)cz$ zkY;sK-LiGZ*stGn|D1ky=LTJT-l9(`9sTHsjG>#hynjf9*w;C}TG~}{7iWh+;)N{o z*CDL>X+(|9>|Y{mU*RxNo8+H;qG@?FxXzI3MzZ)!sZSZ~z3%FJPni-0P`N z8ONP{wmPw0Cp+Dkt_v?NG`w!%SmVdsAQIGvM~qjvTi#Li#R`*&IMOq*csy4IxPSv9 z71uY$90>(m_SIe)HN4ly9$(PqT$Qy46!0lp?Q#vp+(fP-ZhL6~ayp?$iwrYJH3_M* zH54Vq`hYU(C5ko;430=zpdxe*=b>Lh@7SnhfaOyD^oW#t>lfdaut{h(ZwnfkPc`Pn zWVsD7QpL6wpmLLL^u_x{7hg2aKleP}aK7ToD>cWkiNoA*4ow@wE#M%~> zvgExvqS2N(v}?RyfQcvP-Hf@lS`r$=@8I(P4JdEaCrF?8q$iF0-uHBUom$6+iftVm z@!+>DD>~;NpyAm#4q@$^+!WSY0o~Nbya+KUf;A6yuslodV~#e(aw&{cqw!TC*37>Z zCYH;#Z7^qHR;*sDE4GYH!5fQf`<6}1Xd`r=B{UU6s@*P3gvPiJw5v=yQ_-S?2ZN-N z+d2A^FTJdFoppygSoakIII^&m3Z&I3TJ8nu&GpdGdIXo!k#)fV+o?T zR~5&WO)P_U1`IPxA5-%>#Gx)@BG8;=b`}=Gb;#P6IQ?@d9gG@&r0uDW5eCHE1sP8~ zS*{q3qa79Kt&ZouetElZIG;N%xh$V>w%mr9BkK-%-4P#t`Wlox z_!?SL*KLp$z_^ZIoQ%_5ibUNXk8_Rj=1*#XQQ&%V@20;9>^Ga#PJUp7?*4oR?6y&Z6ESCS=Y;#`q{mQ$);k=?dth&V6V~BsAXr^|JFFjuIg6g<*jJvAMvZmlD9O)-L)cYRH>U9X;k2e zDNNXaeYBO5&*YiYr+PYB@O7)~eU} zaDoic23wxA3%~$aZC4?;%+;O%kz>fsN)~k9k#--%gO+!u_v%J7H$N}G{EETXVP5{P z&eNwrZZb2QUHYdHd-W3=@Zf{5cq})Z7au*)Nkv6RywwF9TB;47%A*)dEYL_adu6q} zA+K0B^pbae;VEYAQKV%(_ONnBu^))zd(KuMRe+Z^5(iewzW9c!MBWu<88f6lytEHv z9~eu_kmSj3n{Hg~+qcJbY<}!VUpl_~S>K~~W6u<9i~o5CTzmCTn<$(Z`Dcc{NXJLb zKVsknn)Fq_ZD6z2COPkU1YRuSfvX$rla0(4)%^h3@~%lVrF2ccfru~NG&{HBY+ycf z2N!L&7`SGFlG##q>8f`fn*Bn$&Nx=M&zy81YUOG#_Qh)-MX}z^9NMKdL^Usp96Pb7 z_^umT;#)|v$f@m^!5M8_U}>X=$Z^5jV*pk0xp#Uo3KSlwu+9ZZfc@fC%gAZT6K|_%=oUh0mcw`xO&6nw0DP2glXF@!!X%p80L# zn1`G(wj6z;J_)c>9Q+1sjh5qdbU0E`3~ny6&ZEbYKDf+^^GPcbZOe4_@h%pEfKi@f z7fVF;!EsKG>+3kq_dflzv{kCH8Cxg2jgf-3@Mcm*I@54oD0 zx|V(rP-7UOs|uG?P);2uiP5nvH`3h`^_H)9N96N!OT zRjkt9%^EYKxWR_p#0$R~HSX&H-)ocTdziy$-JR&Gi#6f&U3v4`cYm1|8Fz1kx zIB(i)85iq@^DECgf4q;M)VSgb%jevwIUDlw0f&m?#CJJ#90kl9O_l#3Ynyny=Cp+1 z%}4Cgi_`wAFZ7o4X`}cDYrF~F<;`#Yh4J0r{j9Nbr+$WpF@eH!K(R4TC>VEQ+z4Ap zg~N!OZ$Rl2?JgCcn>I7qOh$`r!CFcM8)C7tWX-qUPY6C&#dd0w1MMaac>2bF=;F;MoV$|bptk*hk478fO;;fh1@po=-za3P8#ts%lnm&FyM;zcZj5r{ z99oDXmZsv7aoHE6okfa~VNy|s90StPQR9XjUOcMUJa9}%MG$C~YV~(x?#QGB4#pdD z$BV?0SxkQepUM(CK7c}JN+HCE|Ehud{K>mzY&KlYJD+Q1#$RNzj{L{U0`Nv8KRmm) zz4~W=X1w$Veqh|=jC*P&=ttP~HH4?1ewu!S_GCjjw`Q#?2Gwkzzj~ssB{`YW9DG8e z3!czvgy~QTy<&EWtqmer=D7e78)4s_E{Otxza1DA%l2v(^#DqJDLKYYGc>hI3#!DuiqARG$aToKHE-7I0T9K znF;zl`j6z#J5N6v=O9*g))Dc+}c}Xzj)J9W@ zch*!*(3)eo?8(MnYs4YD{rWn;6W?$y{9ga@xU&Y51k@Z^Cy2Riw4ba=xHJ{NWVx1< z*l9N!m<1~ji%JG-ucH=8Ps*%ETC3Nf)|qRiKCr5r&lcJ9)%cw>9(|+5Cw~r_1?7Y+SS8h-!aqtwf@7R$$jmxy zKlBIV{U7|`xb;i7jH|D?MqjD%dFvm?VYonc#$L^=M4u#hm{wT6pRCh zrQ(x(rzYW`=Be)PE4J?}N1_x$IN zr#|gz_d8@4rIhuBAE z{dk26?F#@a)D59fb&O;zaXZYRqOk1)5Bt$u z3Djefw`0NxlhxL1?0g&34wiLu6Txw`m;-Q1)LEUP$Wg{H-0>MUFCWK(EoW=)_yAR=O5<60$P%Lr}GCGqfrNH00k7iO4=srC!)(4q&6jE`4Hwjf$jojE=8m(!$}`8i&J zwa+W+Qklt;&#{^Og*kG%Xx_3QL{j`xk|cnf{a zI}uQHRHeon*C#D>hWJ1+F|kKRy>ecKOAmHb3pwjmL8UH`ciKA93dh z1j1fw?@Hr&Ku8PDHK@9IeQx@K*caO-!#ZqmM9QA4AsXAh&M9NItE&qbX+VYZQ6uocWySUhaRP$Q!30wnk2`1NW6__zb zW6&Mv)Z_k3zx*)Z7@zs{XU4^ExLBWX-rR6@!8Sf%>Uo!sM46C$9z|_T?S+Y48G7zD zmi;=u6kCNy9+~XfN&N=5CU4|bW4|?EN=tl@2JD&XHZyFDH;Qc3vH#U8m6BU;){%H_txv9wf z_R}hH_#ZW|bwV8Yc8CdD0*H!UICmxMIra@f>`_ePBJmAxAw5q`BB;8C%ZE)Em25*4 zzKSjKa#11T#cx7m+pkR=cUU>j@|qFB(@}&5s6tS}_6?3IB0t9Hb2FO%ldwi6CRo z9rNLN0&6S#>p|OgDQ(Gm;GazT{)ulmzx^HKEPaS8EMfEcKt{H6fbp%5bQP|O>9`Xw zmcEX1{2Fl0k6w$D?-6e<=x9FoBz!rNu;k?D^{jV#gYK^SK`_sgH5xNaX1Wd ztPKtsEF2{?!pUEliB``gEN9TxR;;UbrL<*%3`8D2tQR*jbdo{3r`fmU+;D!yD_&V2 zt^^KP50d71ph2bJ(9k#z;*mEVDIQq?UU77vd7*jEiXqoq7Q5d2j_QVU4%S7G#2II@ z+r1GKmX5d`u$*M#B(%(C4#)0A)^@mcnG#px>;hJ>psW6y;>Ex`_`p#}?Gs)a%Q&%a z9RTdHVPzYOs5(Qb%!>&&4D@hp+P6r1a`(^>bb6xp$uLLW5j}zZ^bWCKMRy_x#4Un#@2J=8HQ`@v@ zF|hNz8>5Z&1u|bmba&cbLG!k}#|{e1DIl_IY4~9%ZmWXn-%%DKPY1mJE z8(I^r_05k99?&P9*Sr7c>d!!5^r9Dy2YnrFqU zzL$uEteHO9`vh-u0V*y4URO4fQiDE;Hfemspv^+iv0z8Pg4l@ZVozJV9wKpPGS>;0 zA}&9RlU|rGtKJk8u6G+Skemlp8_uTd$`qnBUo@!eVzjWwvQd5dTw)g~@CHakc#>AT zskUgz_m&8pT?%4UpInL2N?cS0HMZ}F;%iqhPX}QmnhC(l&1|d_Mx|yqQ=cZ5He{nG zQd&5C0ptUKzl1nt965Ao9QubF#*M%Kd*gF2fB87@*hlFH_VlMR{R)Be5xM!3PMhGi)dPdYRI<-coAq&!;VJ!A;A@eX|yo3#i-YlG|&A#x*lzkVF`@O6JRj-K;1 zj`+afckg|gYs7`WBu{2~J0=A0w&2dq&ODy6tKLkj3*Oo;Qx7XrFh)>z&fBefIHl_qHJKKQ} zEPj--$D&~lTO4^RZ0Vwz+yI@h_Uf{=UlGejOHMX#}(n%g)an)L^_{+8a zMBXKrTvDHKW?uTDK*l0)h$3ko`?k|WxB}d)tT;+Ig$37LdY(U$@qa2Ft-p)C`q?4p z0cnV{oP*zZO^kv#ZwK0&vJ(&W?VBk64(B)MJDe}t-f&(v_8>AJA*P5=$M3G zCO!~R%ZePV?X@ooFx4$#04;0yG$f7^_A<=mRwd5ce8DGvV-mU`{VodhJe ziky@=-=VOa#3t43R26G%boHIw#1-KhyEYn9OLqF_HEoah-^(lzq0At{?~vw#N{DE< z2_HVf2Nf^AAz33tj#v{Gwi?&KH^PLqQa*@@XyG-Rc-?bc=4R%^!&z@U`=+;?cpfn9wMH(sOC_>3X{fagEyltUsQr3VV}vb_4-|GG za988JC-DjA?G0x*(85i(ksU?(;QGFN`qQt%R>k%>6^M&l;bHP??WT~_9OZ}MY}jCm zA2oZYP?F?k{l4Qq;mn*F>p3*kV-v|V*4h>>a-?cD)y6&=81KWa@YSz=^|(}DqTlUw z{W|3Bxutg^hxM z1;B@PG@phslEmk8x_~Xy&iJ4`mnF}<7mRtsYz4_k%7Dphugc>N0;mn3pbnLXeMjkT z<;o3Uck$Xj$f@|u<&6Y>!XZluoUFPM-$nCrYkk)suK(?;e|r4*tA2dk;~rlosQ%>a zWEM93+HvMDZm>kx#|dJuITuO;;~I={^~I4MpXzXMW+G_heW4SKw(j7kC`gVR5vbn` zwvLhh)G0OSI>?e>yFGgTCcipx@IWS=>!O>NruG6PGPRi>KEvT& z$6$;$2yp<{lp$0rckW6bskZsw5aSp$b-6Y!#~(z7hZA=?*mA*iSgKRTt@=~Ce|pbv zkAM2$W#hI#{-5KNhn%Zru1^8`Z{6a8dh#N(&nsE4(h>OHm~iJnP*F=e4UjGIIPVTj zW14I-Z`eWHG&ra+&eXE4+8d20aI(?AJ8$^AapW#1j|cwfPmKFK<(tQ;XFp0`;mn_V z3cxco@#&Ep20G6|s?&Rv zRj)(OxN4ZFz$fvexPoT_7RtS`T{sNcl%k&Hpa`wYYa~CnR~BgCuKu{P|8^rM2OkW z(5usNp~JKnisig`hJrl6_XDu7z80ISeb#-tG)MgKgDtE}uRY1bq^)ximwd1HK;_N0 ziKj!VgynfwjVJ&SPPj;$uBnmtTBM86BJ~BN&m$W;>ggXaJ#^`~8nQKVFCmu0+8N}4 z8!ZJo9xb9v9~Cv!^2)hNGU9b?J@cpoj+}fnu21HG&(~?}8=u#YU%&RXuN`lC;~OpW zya`*SEcfzf=dvUwf^b}!VTLHI0_Sz4`J#3bT3r)`s!Sn@k{xqebArBSYp$&#A|Gxp z(Jr}UeTTDeI6KC~M3;ytmBYaRVuI1$wPOs*AP>~X9*~+yk`-$YJ&zC=ZQ`=)f?=l? zskVJmaD5^TBI}vHO^MT3KE;je_898alwTbhDuw15^2VVJ#$F( z$)#p0(N{tIId>AF-(ziWY-Z*3R7*goa`aazG!< zIay!L;U8hwTHxH6+OCxlc8v*xjj!YBCn9*=D44;?&{2c&98*s?k@6^3^qA=p{!pbd zg(apqSRe$b)ojZ~sD4&6-inxz6L8LVL2975I-Y*Mk<>W${;+$Bp%HU~6o2YeOg?`y zl#=5Jh)ZN-`73M_2U8rxNMop-Z;Y0Vuhh8Uf(yqr*IwXv#yyp|_spFbC1a!?5Oevzuy4*sgn1j>U}lYqw0 z!IenPDR|LCCpRAl+QLWkD@Br(z2~d>I%gc9X2XMtqiKf=YwEbz`;{6#hX!hE(2lo@ z3qki6A|SbfeqUc)w0}vHKk?Au2-XG>YFq0XU7ZwcL7mhbyL{Wd^pRR)eb}?Lw&L_T zea6~Wh11S!A%&Sf3~#8|9YUG-IS_7Qu^qrtb~tm`x?mZ3nlSgE#@KBe_7xM{rfVv2 z>NBL}xg;YWa{_yv;;3J;BlZ~wO#$FUxl~y<;0d2x{Oj3B> z**AOc^)NOQoz+Y=pBXoZ6qi4m)tis`@CuG}6fuA8 zMfLF~u^j`|Q%7laG!aWswPW%eg;N(AfI+FncEK>uy5W2zrlluVFU+bWwsXSq>LwSS z#L3z%0~94*v?5&Rp~M+KR!t5)7pkU zG7Q{Z2U&;U7o)=aUlBK&1WhTuD{CIKCSCcPyqtIZlBM1#)nryyDu1xB#sNLaY^$Et zjLWZdu?Q7|%ttK*iO+rPW5!dS`jqjsr+v#f_uO;Gmw)+}8=T{z?6hN?16$n6$GJKT zw3fvIYMtx>OYT?TWsIo*2W$U=CPNabbLqCR{hwKPN4_=)68c+p4qB||eZohRLJM_hI zRKk0|;^)R!KL5MN{(Im5_)3o0) z6VA$&AHWS{n)Q0Hz5wgOnKZ;fScE(YQo#)I(Q#8N`qj#A>SfT!EeN2E?&+Q~uzIxb zc``C}dtUZ4538D31I|T|lnAxY|2x$P&o=brTJ=l8u}sjDj4=UeGck`$A9WCEiw zphKg+!eP(_Rv?yfu2thZoG;Q3ZF0l;y1)4wAyZK+)!$ygA)}UTh`yieW+0qU)x0Jh zySTilSFG_0hk=P}n_u@8uPNq4g*k@UT00)7=cOk;@$1IF|M{OEU-LDOF4Ds4hJsfR zobA|lP9hXm)fh8caob3?G0m|`P(~x2u}&Ydx2^1K!(NTGuyKk%9^5>l z$2Gw`&LvqbdV?jjJ3`?N(5eSKvjL}B$VP(NS?+OJIG!@_uKKOU6o)(Zp~RFr@9*b( z;mUgA(bF)`U)$^-H{X2oxc1s>#+!fn&EswV<-b(@K!h(n^{bw&n0iWL|>_Kez+8)KlQURZ`WA^B9B+Ldej_i zVEx9-ao`eUH=m~&Y}dUwD`a68+I1>7uxvDnUle+f1MY4yBYujLZ zyz$1*j5l2ThH-Fn!`X8xPIEiXxxtxv6H;QP8XXtZ-Di((qGmwRz&gRwwLc#(_5y(v z^67^I#|Ut7uwdN>gN`PdTg585O|>zka=;*nGC_$i;b7=DolI;)aO&W*d^7{k>*10P zj%wy{fA!#t2NcWBX3j-o0(P8*bpqi9SG^50{AwHD5oo)0&5(6K^D&^;p>sh-%=UTD zd!Bz(@F5R*@c6nXef@Z(KKb13m_Eot9sK%%K-y>T4Xj#Mt~uVxwHlqywQDJRr-@4c z{6VhjQ{U*sD_b625>r)5C>YZmfkCiEjva=GBh%KGkPzAk(^^u}wO{P?@YEXtJUo5; zL7F$KT4yIlmv=!V6N$qp9>;{la5$pyjq!@r&tHha=>CEe(C{+daK1=?9?w^Eep(+q z$(u!OPlUd>P2jS{-p&JYKkl53^o$YJ!dqofT7P z?bsdlvPX)`&KYMjX8GMdw}PdCz&;!aE)rsu);UUR7YriHm~|wDK}4iJe=&(j|9F@8 zQ`cWVUi|&v@82RQhu(Se1%WYJJ1}43#83H^v+enVS6-lb*pK^)MSEKAZD5meZyjF^ z_#SmLa7|g~AoR;5KESwVg*IJWawaaZbPOwx@Nh{_%kc^Uz7QZy*W(NehoaUQ^*6Y3 zDZaLE4lgr^Y95NtJ8IdPusAxy+{jKK6&a3~-qz7a8s|>mV)4#+BtU_j$CPjS@O6CX zO+-fqm}^6vHa8b?j}{*sYT$HLm4W-IQqbXSJ~P)kvZim;biBplAk_Cc%JIc5A;3HT z%3u9X15;?Y;rvS7a6UyhoP7->f3r5yLzkwwowr6J@wx!3A>uXdiQb-ZRtk8MY1ld@ zZcpetocT!Pa^^|5X9-K5pcI6kwD1_h#MDkhJ~QCp(En~T0SUH+h(1fL!D|jM?LD1<6igDC!S{$tK!TfZx2Kj{}siGFX0EG(KJmMpwz2elOsxIp@bh)sf8IkrXi&EeWq2JwVGaWH?( z1<$F?c9dg7vIF`q=P&&EmE+X!`4{6s|ML6Cy`S_A81yJyJ^| zTxfcp@hCUzuII3*0&FLY)Drg+cGS`CY@><|0eD;;VkD}@Ag0w?v<|h`Oku$^j^|(g z_ZT+Sa;_EWC%+AJ$qnbL#_M(Q#g7JF_wkR* zzF!)km5){6a3D4r{?~d*vHOCukEGIjF_yXGGIaz!Nshea<$~kFt=2&MwRxcC9j?tq^VBb;^JoVrR+<$>CB$k0V@b zmD*4p-_soV7Z{l4FBwHNugd_F&M(D5FTQ zth^n2g$Tqp8e_(Qb>B`IB2zOjqqtg%D2*`KbBi~#=|c#DHp#@&K?oT*`g+)RiILk* zn;DN}z-iVIYYlM%w9OD34j{){As4Ux6@iRR;Wt_KjcatndHhA%dV$atcItp8YKt5<8_U_H!xq!d!I~wEZIO3v=Xtm3#A|-+^k7-Q zS(BCJ<1wQB`h>H-!};|Wj|+FcQbSh_K445Cdx$Vn6Zz~i-ulSU{yK&=16Vnd+7}BV zx?8nzrEdjpeQMOFf)t z#n)@93~JX77{bxB-ciPN$LRUB&tQwhyN;kO!(6f2ruz0{SIc}$XQIaHUYl;V@q_o< z_QbDyyndAS#p8)zcb>j#@PXq#_rAAoQsg&7oVz$&N%?gRW^kE#<|&zWlmV<&lxZPs z^EsTvlsA2NT~)6eIsbHlzzb$%`_y1t`|X@KCpj_H^Asj;EewfO0{3^UI{t)1fU%c8 zB5mz+RV*KXKnz0L0A&Y%M^9v%`A6kCEkq7tDR2QvodeBR=Ulw<3FiwB>PG{wxwdXN z=R+}@?0_ZkiY0>D;@b^J-JimFIJ9PWuRMC*F;{SX!}&?))hC?$hBNsy$!^)t;SMQ5 zpjQU!Zl7BtC(PuSYl6P!N`Pfb<;Hf>rW;Q~b_%;C|+6LHe zxCCZRE&hsGyVMUrHH>O#RG?9||A_%uVAZLMc_ z7GMfgmGK*6`X2Qo>-fe)!)(<9i@ga#rGpqk6{B);JhicWS^=34+lB1If=D?EDHA@WyUz~4F1hf){?XsJKFgp^yTe4-ei z$HqI~`Ofiu-}ike-1w8EJdtC?$&wdOE0%cS^ofl7OkjfWD-cU74ugro!ro<&s2so5 z+Bkn!AOgibYl}r482fmK&*SVSX^Bhf9riA-Mt%ucapYZdJCQzyrCR2i2W0$tiKj%c zg;CD~94LS87^wNgxN`tU&Ou18R-Q8VK>5YD=cxMm#98b-#e#xDl9{AH;UX)Zbo^;1 z#n9iCiT?M0|FZGSXFfx~aJ5rn_4k?)I#oeG6O0$e+Y^!Ng-VYcgw!PSjxP}wh4L(% z!Ihpd+BlE$6%}k4pkpnUG4%w;Lxe_nGQnwNfz1%iVXZpJ$WeMdTrK-#3>UoVyK7wt zU5fH&oM1p9YM0FA^n*dS02560y)M8{|AdfQ#Zo}$ter5tZX!l%@7(bYP!C6tsV@OH zn{Xtf_NUQ0Xl!Iv)|q&nTY<}{M{$HX4kfi;HVic`U~`nF!q=#7Dgr<1KMC*JL$z-l z(u;#n{KkJBH@xJf<8EL5ka0ji6uAGSQ)GX{7k-?P^cq6*6-U@q*Sq!yf94TMFcn&2 z?s|J}TGR8#*vzol99VOs^;B(S#?{92i2-Y0b>hMK<0OrB6pmZ&_|mxjqgOfJhkyA0 zjQi==uTAcn3eOsLTs|9_)e+ihoOCQ6F~A*WQLn9Jwneg4HdcQ63DWcv9Q<}@(zerJ zu5T3LHofyMN9;su4(u4~;qwqe`g+V4R0QB8s`j=4R2+^~c6g?)S_jhRykeN@J)OYi z{~!#EPC_*wM;s?``n&`uW6m6A_1HagVx?B+7rGTH-3)9;JvEM@a;<|gl!h)tgbpGG z^=S{U7Y9@E3s!U`5WJn6f<&oNa=YqE-Eh9>LVv>f+K+uqs^!BN!OS<87dh7e-twJ9 zD&$yr!0g0R!bWI5$AC5!L}n^0!L(xunn3jgpVpQc@d@qo^dgVQ(D0);?g@^Ejv{@j zkPDON2=ai}UTYh-?M+I>mq5HWjK{2>vt;WhYj~MgjiJ?J9y3JN>jSE|F6g9;U87t&*EIy&28 z?y1Q}hZ^Sx3G2GSb1zWdc$S(;bC4V_V|?fX9~w{Bcfiv4ZH&X48&~GGMjP9BqqWl& zY9)HjsU0I*mV{!RL~Uo;HvbJ@uT{*t=IyOn{RV&8T=F)3rN;T^7hLrguXA-Q)X*w# zSatSYqAu-3bo?6|FLD6IH)9tDn9tD?Mh-BF9Zz-6Q*hGPd5YIDmJ9D=zBr&zb8NX{ zs}%4?Q;wQrZaBYQH=Hlp+;GkT$(q9t^Pwo{+jKKOr593k(gRmpb;d3-bi~3i=YSft z0vLw_4V8hRjo;8y`(Vl+4)#+6Ngd}>H`FCB=MEW&I+(!b`K&qf+7cF8d#VKHJYXbC z#CfycDA7rgu6cXFb4Avo7|I6>1zoj8I3rqmr&T@;aba+dzw+rA4I(JPQlESH44>$1G$q%T$s z;sKsMZc{51%0(n_uLvQ|Si7=!PjY}o2&lxVOK~7GL>t8s$i`0o@*ISFFdLfkmkOiL zDH5@HT!cB=a3izR04Yo@+g*NGz!48N8vB36>3G28yz3jz7wCqwejm!8aOSJ@n3Jjj zZfNXyjheoQ)$L`2lt-!elyI(mfr!aL2_OFi>3K8rR1a=A^BvA#_5G z-EgiqPEoqyyt?XWvJbPpSy{j+?ts=Gi*ne>!~Q5?ZkI* z@<)xz!<<;$)Fk^-y9!NoyA4b1qroOIX$-X8(9zgv#eiz&15Anz&3-*t1gj@Iu(EO6 zaUvA{r8wqKcH={h^9N1XX{R1hFz(n5VN=riVaJJR`{MKSso-`ZStY>ErE?%AG-s~@ zSgM@5bOM}uxCp?_=Z)=3TO0t?oQO8SAfu~?pIh3wF$PHOf#AVJ!~?PE2~f>hn_JZ3qFzH1%^cTOT3SJfPaDffQ15G$&}xDL0&3#ldYOJ29PEdco$x zH^f1fsf>D&EniB%B48I}yDCLVGin*&4!LFRP2>EpkcI0Iv`+dRN-v0M>QMqTwm7WE z9$&qX*M)*7+|>XtL(f`lyI$=7_V2DA@BO{^>G59uQulkOYTa-~gtN|lLgqr4h@MLX7s2+*xVk0&EbZ6Ks=G?z7Ye&#Mt$6>FUQ?RPFv`E8lDIP= z-Wg$sH?^h1O}8Rn7rv^4!_WraK8Z9J;u%nTYVR6XLVXj#vD%+7#bGPU6a+H*Qbw;q z;j5D&GUKca9+8GTnj28!6Y<0o7mkQi`FT=>^E#x?_?8|MY`oFl^6b&^CJyR2b5B?l zH2ktn^LpyRfi#rV?gDxHpa*v-VUxg>{OdMwm{=LS>acY zu7w@Itp^P=XQda@j*tKfO}FXY6PU3fyvVFr{0V2hVDl%O`AQAs1~q~9YMoc>!V_Hp zk_gm3iax4>%_W74@&P`9YG-*n=OQNk&L8&f7vcvzMYN`O!;r&@PWcP)JpDuJ({?9Y%+!yNFM(y?u5 z?a*Xp1VNnpO#q)Kid;KV$ebiz1fbcLWbT(d{&MyQwS2%g=L~L))bjj?0NePWk8dRG zf|Xweej%ieUqFI^sA7{*YGY%RZoTF}nYWx5S{NKUfb_)zEAr0O7)OJ+umlvK(Y@(- zJr>6A6U>myzPaq4KQ^d;lXZ~thZZaAYirztq;+lZ~2BHVQ-wJf9r z$>|ogU17jO`H&a?lBHzZ7UCERvzqKY#LlczA)~K{x%Zvm6VB*1q`-w=vy-vSw--l< zC5(KpedIvgwrb{!b?h}!F}JMXU9&z0U`xM}R>8w4KpWJMIWehYdP}icveO3)7~|$E;^N$IJkX^q6x{l&!CvJOru^54){BV_HAo z=&7!n9?yQTPN> z=QVv66Sv9wSG&B5&s{ULWqxTsUZL+g$7MFWyZ?>Ka5eE##F8#jI73*%4!^osG~ z7oTstyWI6|p|W$wcV zqi_h_i3GZ?gTuqGWb0F>i~%(+ePi%Ye1(|&z2;+x*3o!K3>Bisi6IEDsrH8r7gc3C zpBz1&9-R->a;+pzyz1bGCx0at%Cf10!L^_mn-^(wMHG|(;ilPbjFwO2QuG`<4k7tx zE9k9Nr*Y}ZQksyW@;Jo@Xlo&O!E2?jyc|m=YTR_y)#KW8zS_5BPkQ{L$9~;x=1&jz z%OE!p$Q|QEN6)dEI`U#hQx7}<$QwTB3B_@$gX^6ifRU_4^g(n zgfy??b2Q{nDCz4*ZTO^}eo_6g~hzFnlUsFb*a+C{qit_GaaAW$l}<< zD~1&k~?l*dWR zUqcb|kt2u4D_`-7@e9BBx^Y*I4Q`eR<#Q_Nj-?M`i|W|GM+Mx+ZpYtoF8jnj^&9H` z6Fz@ph|C0X?3{{-L5C=IJj^@EQA&z}Mpp*55eYGQ-AXWzOY1>U7c<%ve;K1v&$z@9 zdTeNnVmBokT7rNFWBXR$yy0=!00r=_^Dv(CkZ>hKPfU!V?Am}?EhxsBo&?Z0I;@3{ zj^cp`1Y6>pdU{a^7k{%B#@i&2;`4mVY;g#Kk7|);Eir-iH}(6*?YG`GuK&AFjms~; ze7xcnKh|d1H%%Qc=F<5JXT+5nc_4fR4i=yrvL0;awQ3vH(nl<2;;Un7(!#g36E(P= zr%NumWSsw!mrQRyevI#eVh^v0LghNhAGobQVThLIP_*y)N4j35trObrJQ3H@*{KZe zj)WYSFcIJ^GRPe+HBi5X)s4W4s*xnzaDLMpb;DU-D`Zp2fTY?@BF#>I$a!E9jH2<# zrLZV+0o1ThkA9wGw+vDWGN1FjUWAW0_8BI1`jfBJjJGlk9T58lE4YprXhw82B0u3g zZ-AyT{ZLz+pvk`?#B4>-v}zfFB~HB0WyP zwU*^>CoJ%Ktm$EtMzm`bnWw1=;5;O7R&2_k`59YhQ+ruG6CsO-uAl+h@XWh>)8m{j zk2}YtMRt+^en5f0LnGeW(pRH0#k%8ge?Ma^2qKs-N;R))}K5E9xr{Z)#Rj~%a*Di2p{_eD5x$iu8rfdec@MdCIqJ~hd z*>EF0kP2<8+>x@cQH#pP@!b{lHLfn>92_$Xjmt4g&S(rFk{t7pC=P@&=E)NUpLPv^0XU4( zuD||o_34iH`$qwP^EZF9#YTiPqJ9G2%Fv{KqE`&-rW&aB(S40m^djt?^yEb&Vc=@> zV$_2YigU8c@yy!x!L&ZWjJObVEyaZdq|u6JCoc)TY9HO61@1|<{SN-HqjORS( z+2e8NK5m?Gcl}5k&2h_d{pq9QEl zWoM@J1&2l(xVx{h2G(K6gT}Ecq34e{G{sW}^8&VfAqFws^_qjS z@^nt+!fZ2tVLV5II)8!kKc-Hu4DF@XHj8C)pmzkaRhFncze#q^zfew7fG{>MR5F^i z1E`_+VWkm&KIIn)Ysc%SV{izYHPH2xujy_3h8903tA_3vHjr)Lh`~=wlbT1~M-7bHiogvDfrL-g@gtBd0c9I)s1iLXBGE4A80clo7>rsoZv{OkE&HjT z{OR$tKl_?-#y##T!#nj*@;K7}J}>!vMIQR^7i~;2t`xHC!WgIMP264pb>AUXOspde z)a0wC&Gr$Z%UQ#3jsWAIfboMPFyi-vK6A;AOQx4u<3oXY$Ow15~7Al(2>mg6}@(d`dq`2 z(>QYiL(qABq6G+L*d+BeyQJ-+uj|Of(;p}5m zG0f?+y+cdPaJo@jVkGL-<~5Oo{hZq&fJ%(oqqmv1rU{qzwgqepqx!iyp`%DH9Yfm% z9A^4;X=|>gbL0hay=Mr^uAG~08ABLRj)BCHqmcgQcyxTM6MI$OF*Jhffxv}|-o)*` zba*N=JFVF(i?+iu{q`PmOd#aJ@mzgD>Frls;O)xAD?XHJgk2IwdaM!pA9~r##!G+T zrT*0O-R^#OM1G#(wbB7i(yA+V^+AYqP3Lo<{ARrwVtL#HtgLu)GFu1cp^i~uB+7cw zYSl2D(yRGYny$8B13q>{d{8lT-qM!N;^MI>0)t^d(PMYYcV;E)ujH~}jE&DTGUFUy zZXu}=ozwuGk7a77f%^_p5g?#J?|#Pb*BgEO2E|`r%?)S$XrQjy`neu>n>mM_b-3b8 z^q|%7i<785M(iPRIs+uDB~E-fXk)iGoI&~;yz*p0o3GCQ32Qm@9Ae}Ym&Y6jib0)Z zFB=`)9oq~RTT9UgX$e3kMY?=_TXc#tDZro-;q#$R~z99(V{P@h*~C4!4WH55J)7d_9v*F?*jx_u?k66iOI0+kMd0}r z7zB^za!soE*i={iLI@9TQx*G@=!9+ehBLPDVt)jxw)LGT@G5EfvkBkXNyj$o6NmFa z?kGb9p~gk69v_rCa=0sLb(A>Abv68{+ht-f4+_csdmL{?d-v66|g`^#B|HfU}QI{r)+TI_2Q6%dzs?Q^?$w~P9UE3OzH`p_Tf z#{oYwe*3q7$1d2MeDcZT&O7gPEvB$LilNewWW|npraa|=^a-Z*ZG{bu`KN7<$GI4h zTbm4fl_Ddqhf# zObp9Bv9;5}dT2`odbHm5QRGml6|==yUF_O%U<<>|qa!rCzAyg?{|{cu)`=BRx-!XC4gT+F#`;kq=t3lW(FVUcz@mwv{{r z%flcH9m3T={?As}X*3lDLQl7Cilbjx@*J{4M%loac#cngR-4Wg7{oEgYczpJE-ZO5x{N1|Id|;e< zulwn13{`;gtxj>S+=+?cTa!`2=8iW$@((>F^)W;$ND2(X(6%Rqb;9>_ zG?z`ZVcux4@LcMD29I&2Za5#@x#66fb;MB++s+MC31-uAu=aw==Xwk*Mxu@t2&nop*9n(!SYEI53P+#`* zdO{BRd^4}%yZ`{RI<~$l76%0M+F)nX&XA~g|%?t!HxR#9pP2|BcoITmhb66XLr7nA7m|`2FSEq>xtNI<1)3V>~ z22c@i#8hTmxecvR9+xTn)7OThyUh+fcHY{p&n+6ZeQeOnzlihNWQ=>>^X}sZfAHUo zM?LaUxdg{MeJKv z_>2?LsAG7`@PSO@HUbbQgy0rl8|p7hF4HHRFBn%{y}rZQEOOY#x{(CX*J!XfhV0OX zO`%C??M3G$U1myWaa31=fJ9{gaL;{r?iNY%hJZv>M&5aDD3 zdg~LY86-qLb;wgl3B_E`F}z0HzFF9OE|G57@BPuh#UYxS3m?|-OmB`Le%y6+2u+P+ zCQ)Hd*Y}-D=N%i#gDNZ{;Z0YuqbYhU)RGr6*WOAi)~1YH_fV(g#kuAJk|xMZK$0AD zW8ZmKloMK>in>PHInfNM28^)TPThHoNMNr;04`lejEM`eYS=M`n{AkZiK}Y8w8!^M zdAvA8@Ci^+G1`$+FGtYzgU11DV}&-;gnUu*uo86EL*?D`;yMF~xu*qeYEG}*NDr){ zP=8gdV@?T#aIxdh)Ee`K)ZQD;=59yQCl+l9+e)}};o;b3a>d^>iywov!CP7%Yec;C zqD0{s$hMn$ zbAV?s5qRs(inXoSTk1_8SS<|2G?nkI#~8{jF}0Hpx|QWZVklU}k`OV|G&;8DE=6&z2 z7hQa}ESDB)3W9&WNrl9p%t2u-9qZY9S|m;w=y~ASSsAx<(v})qHl%>ZkapEi1*$PV2z#IbE2cHDBv38Xp zCwk|xH0o7@U-(@F7wG77-odt97pHvag7MDVZW*7r_`>mzulWz-lz;Znao~*m=-0(h z8v73GjgHyK2_KxtM7pWFHJfBS*2Z}VmudyTkBl6_Udi%l82>rAFIpwzg#-EfhP`e? zs88Jw=#$1_1Fx=Hl?0~Q@XJHAY1GR=OO5RdJ!)}8`a2KZK8{@f*JFHkjIYpNl|1n2 z->Upnw{~DIZI})|9q4h6MKW{zlEG({0!mDbI@sB(zzQq9XUqYMO|^kDPGq0St5}dX zvpq@OV@x8mP4~+iyLgPhg+wY(Kj z938IHF`(>n7bJ7oa8&M>AjFBJMBas>qwPp->zd=#T;7;+KEF%nNJZphPB&EHB%B#* zWr8(Ya6KPaUZoq(ugh0z|8dS&pEds7&tE*A_(c7#rF|%pN zIj0ng#`W?VYQ1cPiU;=U3B-^75)*vMLLETUR@gdDEC&u4yq$pcAR=#(p>Da2HYUh% z;~6YFJB?wj{dfYUe;gOYi=j?NxVC!?8Dl^W-_ z6$q8QZ#u`11MnIV`}748VlX`Fqbemr;x_GS*b3o@m48&p;?i~9Qh$wjQ(1`k&J6(8 z1(WI2CZ|Vnr0r4phTlI%o`NXMyfN$>&KF-i4(f+fS4%wp&SBGcBtrDUAzsH`R_4WT zu$0G9$Ub2~WQi!Uk9>JeZ;uokxb+}!SICfX;AGWq@4SaGZo#wG5|@{pC9yw|??j?4 zHuKtD$Tp61w$+GF&H9pdy-*<1KHcpWqi)D)Th`blyXcFmxPrIFb&5GEj4yuii!~bKr+(_E#|!`E3&+_Hf4IMXP+!mK*jRJ+lCbS3 zF@-VWdN%jEsED=mYeNAXM~QLB*bU5XCrWIPZw!6TMutJly)alktDzz?WNY0NU&93Q zv})ryDFV~h^8(Kk*n7=(dZ1@*iIC@CgY3XDLoAv7BTxq)$9&?%o<~1t>nk;M!}-F4 zuNzlieVsnx{23kATz@Mr1>jt;m3)g-v9$~EC$;g&R|+itUf{| zIMEGfJC$xr9p}qe=1KV>BIb_I|?{ZDIL-trc;vLNs}rl@^_C~ zlt1sbM3Yc86puYy&z#WMrWX!sO_<7%TIu1xd=|=mDYrMA*V=?dhPuu$k9@!rY7Owo z0|9b1_|ip2&j4*_hLY)8W7@S`NWN0T#%$Cx2%v>MI8YtNRlTeJlT6=kLkqi zi$odeBpz+p|KczHa=iMde_~v7^)=)AzyAlj*lu`X0%x+xe&?jn`G?M?bQ6vCJh@aH z)W$W_CX=&N7?Msylc4G9;MfZgSLJWi#y{hP)xtFk(IDp`R5?sMOCHP4f{IEatZ|T+ zoi2Sfppjef_C{>bOS9x?ERl`_2s>}+xNBa3{Y77pbsT<{nn@`*_RASp6fxED*u z>?k}D()z+5qqJ|*C!C-1l&6lD{hJ>e5BiD+wb=W{#?%2yj&p8oq&t1YHPPw8fJZk+ zxgw*MA^_(X)`lZ1yvDxqq;W1bBFAi3n1%pbkA&lkL_B9@2OD4>o8#H} zVvZar0y|dB>LxY-Wh2Yo?>go>G6&c);WWkt%~PxZ z3~_vsJ1B}s6k6}Tove6yh5*eEL-FJA%n&!7jS%O7vhf+%6KyZ%+3SPnjd*sI92b6x z32f%d9R@1N;c@h)&yG8<`rGlK_x;{@z%!oVbF$|F5yk` zG56eyg4S4{cM?%RD52BCcwEV+&#g0O$tWKfLQ5$nVBE3T%(83}b8g)WLui4zA7^ye zT+aG|)q~U>i~nR-NZS*D>gOP&E{}Mlc})EDgke_9VLT(oK`$&&EFyPI#kFEKTGIB! zp4b(SibH*^fgX+JdUlX}UIYoy&)GqhjV)wkyX-lCk4{)TesrW7j}!Wb1Pa4mIp^9(-{fc`{VL;%q+*jYY7{TVyRa zc9|wNlx{W@wgt=1>K1E2H|JYACD4w#O?!bTqX899mD?sh?kYBp#jYI3sm}>WyoQ@c ze#K{Z6-#a$$fJGPS%T{v96*72^DUF<`Xr>XnY-qIkl58Qr_aMwQTWA(<=T`BA!c(- zP2xEXDA(PhyTxq$0cuh%lPo0TrsY> z_F6=BY=p_jouHeg9z`YN>ynPK;t{;&hMM<0$u;CO#pdwXFmz(lGpEG`RjKW1oS~27(L!PX^$J3-f|TdpPchBQgd*eLBz5N zbaesR1L$ej=aJTMY{02sdY^E2AwuWt2lSegob)nps*`I_=Rdx~`C{F0zHsM;GoHhP zzn%C?6}`v_SB-dTD&&3&$=v#mn*n{K(Xho9e~pez3S-$D9|H@CDFoPoP_tRFyEq%M zbZCxJA2qgxOdUg(JgTpO{+CnlWPyE6CiY(R>??k{+qLMrAQb1M+F%{UR2Y~|`;jl; ziI$m5Jcufc6$3Ev6>Fu6Yv&OfZNY$5^IFiJG5GKrnZ9Ey&Nec3T_+Yw(#oCGv{Hi3lo+n{auh_E=_I`)6d4+SdUI2umS+DTvvj*}HpflXW3sCZEWfn=* zwrdE)=TCv=^A<7`&PDr75EA*MPGL-4i+#?SVJFytgH`rix5UHD3Fb6%OHP)pG)kS- z?++oA#hNE^bbgx5Wx8r-lY|jHZtXh$eGQnd>oRMyv6YgyMWKKlmF*`EeE_Rhu|J4O|m_R>eAa0)V=BC!7gDQ?G#%ojZs1h^_t{7s?_ zKV2mar8#9H4o*sW5#I@SY|RmHMlP8E6q1IGdXQ#VvJ@Cc{r#zj4<8y={OO;K-+j;T zj*IqQpl!?@h4}J>8d`jHG?A3NTqg>$+r{X7fxG7G2~)Z7j=dyPQr~i0L(*)KET5+rI0>=(Pe)%2w4dQ51)D+L&YuEHK8* zul}X}Tf6itfMn-25}N~BcSklip1Yo|k^7N;VhoAj$8_)T7m>t=Q8Lzvs z6~>`%bqLV$u+sh6b6gUUM^Tu1lU0j%XiO{3tS21RO6R3!kp#%5uLdH9Lq`;PHJ$)_ zZTShqPNi@V4FVZEdTyw|*lFRcsI@lF5w4sxIlEe0wmc!(l1<0joSb_koAY9BHf7V{ zm;fU*gp+>wtlX75Xvq!s#LN05ksOfl#Gi)B1j6!{*9XSo558xd_Q=Q83uL3sP?d7OH(jla#k~nJ107e6F;U>2(&foppCML%zb;Dn zH1XlXN3!mTU7uzq#sjtJa&!_q@nB#1Thbe33sYV3M4H?iyUW3+tdHJt%edpuuO6rU z*pH5TKl3@`%y0OnaZ3G2nynP8Q;7=^P-D*Zn>C5k)~}9aPFgl0VMk;Bv#uoI&y4lY z@*N(F>iGzxrYT2F7FcbgbG(+6L+aUPrmFGeC}qX5rED&zfC2#x!L*Mk+vbwG+{CvA zjdxfmcVqJRLnF7ZE&T2>3q6x_w$hLF^7euXRu}2WmBv<}=R9W`q(CQvh!>Cu@X<(QTEB7Vz`0Jcuy@6`C9>6KlUinuJDbQ1azNO3Wa^iXsdreBr`FrdQ5s-4 zeK4MHPZDbMYIc*pF$nA{N^FkSZ;c>%*~@-#eAjn<_xJ`~mz{q4sfcpJS^H3ntEjCs zKkkt0F}brolRXAi6B(zMwPihKdQLaLX}n23I1y(U>@kAs_VG_1V2HsXB-o0nf?`+v zs0lZXh!n{@Pc#s``1B;4*y5vowl({>D?b}W$L(`2zI7v;T+6^e*82JjFBn(q!*8Gd z^bP(XNY|41>U3eouqWtjDb130%E^(S%1tfn4T-zvs7=S;x$WL?7C||5%{t9R5NFMr z1KzNOVyeJ2B`ra6af)+m3)^9^2Mvq;5t=n5G$wm60oEC>zja zflo#m#D=eFbWdeGFy| zfo(1LZ8^KoG3|3=Za5pJ!`h5*aB4DY=2(D>NLt{bm< z)vLy3m%Sf=pi%myShz5jTwY3SpWScj3S@Hashs7BjA*270+Ppf5;2ZV>l@YzV6*kW z2Y(|GZu_9+v9M0l%ettRcb!cyWhMkvkP_B9}osrMr2z%VKP3#k=W5ZdNJ|ptI2|RDizs zC7%rK7b_D_LX9_~68AA|Cz4IH3yGg_+NX(~onz?QI3{xoO$<%e{(9ONqiiQLP~r-& zFDOkcm@lH+;K2BYKmOx!%{PAII7JkvpZAz?%6@&i+3K9jniltAqZfBwG0S^iQOYkD zBB?8att}^Ly`YfM{-cM+Nq62djvP9q@25YkuiB96z{z9($)}Bz^eg83PCCW$9@DWv z1;{6rNc}q1R1_x_Z3itMPNl~LqDH*L$EOf@lG0z{=&Lnu9k+h;x^enSo{Cke_xr1|-!WFWx2~T*xQQVy0FWE03%@ zjlo(<2T!Vtskyk~#c9sX+;F~7H=O_Y!yg{&hI4E)5A-VzFDUuIU-OI86*sws_LcaF z5#L~RJ&h4KJ$&)s8rPpWE-aYx>PQkmND8yFV9c{N2VeKP@yusFb3E)3j~sW=*FPQA z*C6->xuVF;M$Vh+`;(9L)i-fn5rHEY9>gm#J8aZVIOL|DVg*K9VV59MZ;`MrOx2r$ zu|s5LlcbyZE5Ej(Po2O@;JVR^HByUf9D26tSy>pbQHbPkTF<`Dd2vF}SO|kZ!#$pB zZc`Be%ag#eWt>m2M7MJcyPhC=od{EFftY-bX%3tlDLiqYS2x!5@fA#tBg1op0&LY4 zl%w*vayL&~$1YU%f^m_hi_gRQYnyk!`(5J&FLS)@l4!g&ul!2Y z$D?DzPR;h-WSp4Pmz|FvC@VDYs-G#tC;#Bd`9E^(_20Zi6$dA};mn_*>dwVX--d-p zh-F-MAljQ42YMhDhHWBI&$5h>#eY!$pS^d1zOAaxJlB13c?gL30u==VvD73!6CgE` zic!1DM~F#`##kyu?UYucolYtbyAn;64+J#YBPlIGO~gm3DNUjgEsYU7zKBLq@c{xV zD&T`RmwPYw(%skt3|h6ro{&NYVO?2+BEiT8rA;7kBUm9EE9)km#UL$0R&^7Nfxb5 zOU9~mMRodF#fGo4@wtQZ6#eXKn6)&aSHQ?qJSm?NP~U(51IA5y_`J?zzV)qd`GPYif>8Jv&p=K(RYW=I<3zG#(fu%%9O6GO&xPV( zSPEim7MWX$+u;V7M{1m{XE+}tg!WZsKYQ)~ivl}4V-2ugBJ5bv0HNEVvXScRRzRMQ z=9jm?Y@S7CiThzw2*W}A-|vDmwhd3L@F3BP|8`_hc|zvg8X){SnB;gdQ>?bFJcc6k z0`szk1Do7nDGn2q)81L&hB|B4X;Wo^TrZnc_T2x-!C->EjxdHJG|YAYMC14HMyJiP zxB?^A)RJP=?FKS~W9OLUFZWAGMlZ__eAO9Os%UtDqVyc7rj@w0Z%mw**w~;JY_*(k z@i!lt)Z3Xc(X~yy$p+`xAn07m$ND`>$K19U`Kl4|=+);h@MH{85VXlf%l=PwJEKmu z#)dk+t8^91&BDO9_7TQLXT9-)GYI;Vxs_|F@JI%c)a0_g)3P12A!~G%w(o@$z6VL~ntvO(R;uD`3&-u;Y z&@=14Jid3;)#lrgl@IP=*?R9gj=gs}YV6S+m0NWoVhfRRz?8jNaX~1;(!HL~?X$B|XvZ!X$k@ZD zm$`HSVDp~c21{fQj+TQ zSCuuD;2W9_FtX;t(ECCJ#GzLr&>KPQ$vt-9^kO?O%pew^x>L%KjcSag;YR~s`jWcC z`Ql5Y*X$LK2vsk8e9A7KC8N>BRcT~nZd+C#Ryu-S>oIQ@yX&@uk+aM^nInmgkg9Zb z&Wk3J{&~-P-uSKG`mJ$?JKRCr@g8Ns6H^-E&+*gyFay@cZgX_uK!r6DiP2|q^8mHc^e!m_N{dTsUr4*N(o$D;t2|2 za%x~1+Qcz-B-(NjQapKM%|5Ng=||~1w3-)bt^#qaY9sP65JU8AvE@44hE?3|cd&gy z){)dC$Z=B!c9=PsxUwH0{GKrGYRv(^dB8ozaikia)O(8C6)}NVpqq6k{k7LzH@@)2 z&y9D#`(1i|^NVc2hwHvTTU2v=aGZps|K*oHdzQd$>IS848aeGb)-$TK|wa5^GnEc3RBXQ8QKUEeE z$xz^@3)>8J?V?O!!zhzJw4GbkMH-51+u1fG5qR$ZZ5|)9zh()qmjoh+QAte1wai%h zhVG-7;&kXq;PcRv*bt z*ziW)s_k>Wz5emgBagWIc-5=^Z2YT7{VSXA(U+(BRw$ikhC2i;EMZ_&Okc5ij<&q_ zgR)|-r-(=CgblmuOz9-xUmftd4}N53I(3>0Wexy=jWIKm?bC1CDy7dBRC5ctY^|rR z0?a;W5SN`L4xby4=>)pcWdvFFIQYE_G3t+j!Ur#>4w*`h1*vnv`Lxqd9T$B53%4>4Qd{#UF4Eb#zg-uT8Cp|R*=<&0UJ$DeS*c%vSvam>+2 z3!y^37%+xU`o7lU5KB*fa64r-BVzjOrRxwxO0#O@3|k~3FqfmV;k2WIj>ib3IO?iP zryIyFx%3juEPl;z z8RO8*jDK-6nN_Es+>-~p$E^BIc#Xwka$sM%n>pGCn+UPNLHUb2H^RnOD#JEa zOyvthA!jMtl9dLb@no4%3d&0_)Ysx$_YE88OXg0Clna%(-T818rQ##ALuu&SZAo$54gu$Z6*gg5`Gvs<(^+`N1D_{{m|kN@)4w~o_Znjh9U_~3)b zb=O@ld_2T73>K+cEvwvUDC-T%KsrQpt{by}V@{@}X#3`@I7%BrEh}>lGj1ur4D#Zp}tHHFc>S`w>^-7`*W$@vG%gu#z)DGD{$!{ zN+fN&kU2NRAW`bc6VW@5WfEN))89hV#0$Xv3c$G}|D2G{v!3WGU1f(%?B&dJ9ZmOx zsvzrWO3xfSxCT~$u(i9qIRhiS_*Jpq zTaMQqEsBGj@K>}BroB~USvg;5coB*Ih}rE`>_(sqBX=R}{_=Ta^Fw}m-2O2?Hx7T~ zqsPI={jjW*555MioSDK-WrH8R$b}WqY#i)#p6$B~4WS3FBtADZQ4m39I@hIPD9|*N zrrI_~n99^oSPc+JWK(YYaHNVx#ehZ?yH!iR`^}}XG6BV+7}BsQ61{pS(z418TAyTC z&Y}zXlvxtGCN`jkNzD2yr`|rxoo$QC)YR=vi^5mbbC|$60xvL7rN^Lcv{CwEj7S*o z#Q@!;fLQbkH9HA z`VN}>@H}?LkduD;5|-pCfhjl#jlLYZqK52dQPXPiQ8F)5x5DwIqbySc2_|06mZs%o z%Q7#(rYyFyto)QGvB`>lludd9PgymW<5WZc6|%?+v#L29i&fLVdE6K5yusIetKdYI zxH}@qAc!M;Wqt}L`{rxCozN#tu(DbCrcu6$r7^Zq(;^mu+ZKKwk1W@sW0~7~XGnHn zF}8az5Q+~%waukDrpa=Jew^xcuRm+NV2RP4aHIfk!(oZr z++jAWg_tpq)xSA;q=2gRQ(pW^7&*(5^WJ!jr#$5;}hXF4YtF(waT9mSpHs^6Qic%XPl5D%dbHVwHGfo|!``kVkoE_w9{F^>bOlFbX ztwM?q1nyL8w6CyCi{_zSg>i~lOU->;bHVv+U2wkl(MJd6csMs#6I)L}RU}7c`%Yv* z%FsIIfGHyMGMOoG*&^e=w>g;GWfYh$b1N;DD&iowmtK0QFF2oj?zs_r89i0UVNyAA zi3fXHoPorZmhjR{UooMXqT13(y=etl_qn=AieW}uwjr4L0J!Fu(88nUYpW{F*#_+2 ztcltf$6f7343513eOixyGl{!nuu&R4BWamIx`kt5@A!>di4%~PAy}Gf1Dm;Sf{7>_ z+U9Fgh*b9Bi#ephF%Er!zAPMnjAgz+tDb1!@l-cDmLAh~-;UMpe44<-2n#49tfv{3 z&~*q|PdVcfPJsJD*LOJkT(;g9U}Us|#C<&4-WzXX2w#>nCPM1Q>N;G@{5hZX>1kbX zChi2=q?s5(0w$m+06L&dHwl+50iY9TkZL|qBl9dwRPI=%aCws)U6zi-6gjxy5DsYx zf;gxzV2M}3Vc7#_Faip()lQVA?L$ILoFszKy@lhV3ojbK@Qc4VKKt482N#-e+;O9B z{nw6j?FQ3Td%A>MrB%QTjVpD94YsOK(7^iTf+c4U?doh0y`L}S#Hk?kO9S*lr<99&f;Pcj_4Ix_nr5E$CriPd-c z-09#ujOV@J-;XEjr0ej*?@;X6<<%Q)HX&7-jL(f zaxJK{=gC1W|AK)d1atMv8*`E+q+Qj8zedNe0HTI9xFCG(n)8j15RI|x>Z`}auYT3I_UzY;%{#9jTMxafe&A5|JugnH#|X-Q z8{^xNI$F0fWaJ1LB?x-pw>5}2>!BjMZyI~A{K~lTl558iZ+_D_>IqLATgZn}r+aDi zxDVlk-K=rS#rtHa{UNQ{U>{m!{51xS(t&^$NzMDjuQoAwoEUdXa!8Hs71QrmP}v*+ z6_w;)zU15U$ple$j7vT+ldj?mM=>VwieJQ@Pxg?|%Q@({P|c=NptHTT?gtx_arCe0 zr1pnvQuvLJZKULEBEghR;&gwocD!)MO=@!!^r!pe*>vPke_%TQ$Q^|Nk{c729KT>D zf5j|+#v`t{T=jk&``~iH`BXo{`NE68;y2Cd0FHV`f$!o~Eq5v?R^~;;<9OS59F?jq z!3xYuIHphArhyT{_LC;o?jLFuC@6MS4NuROOGotyPk6$3{`3E6-22|g`fIj(^@E!* zZ_`*9RnYE0Ouy7zZ4edbCdyFMmWYVqo|M&vV1ztL;|M;M;7q%dJ?n!Hi7pccS7)$`{ z(K#S|9P?*^OHE>NdfFcZm}6>u32az|?tl@YlNgP~*wJuV`tNP7sOW>oOBl1*zWXk% zh?38unZ&e1-p31v%|b-xRh?rIylfFXSy3E66t2Ub26tP++UIMpeeG*~hqH0` zv9D=pD~C-2RLGS-bC3|X9H)cM*_u6h!xY$tHdDRqXxdf_3~^bN9!Facr}g9wgTO6p zn}`KxqbqmBX*;uc;ar$Q=M|N!TyQ>poO;^n6DT^HvaTRYLOWxTTE&zGOBdWy!c#0- zrGJt)ATay#hGRvP?Im-e40=Zw%Cg2!6J|_Xu`n%qpl*qya}ZfDrgp-`;(4aERnZ$; zx$9hDlh6_vNNQ=N61_C$rdJ!WLWu)CHR=myd2cMv)(2M061v5FNqdI5!uESP5K9Dv zl@>Os#i+;3()O(&I9K+jpt{dirQ4!&MtpPk=%I%mI;eWPjhRbesEKq`>R;O zpIka57UJOChfw<%npm`yjvO*&fC5USiM5^GvNs#1?Xi&p4hm*AWq}k&T}+C;`d#h! zzVE&Iz(^OIb%*mezj?WiN9qIbh04yHTF{m|7tf)p$46plQJG?4o4hZgf5}UN49b3d zY)x#r@hU$Wc=j9hNR6Y9DWD?|pVl1+bAYB0b6dn~_gj7J>@e053*CWYXrTm2dVJN= zFc#%w+M&mGUGQa&P5V5<84z*AZO(htavvPPDn|{%hEn6;engUB9GN)DZ|ZiiA*Sj% zxwWa?7oB+wmUx-Bb68I?YlbP%cSy>Ky199M_eB`4a_4AS5^{#j6xuv^x zt%U=sKAV*vUwg7m1~q(gTmxqU)0cDNrK*=FP6NvCI=00O?w$awi@+PN39L1qCS3Tj zFJcMC?<&b7FEC|5ladkbaYYiv(z5~znVm8S$)>$Hyz`l&$pKrJ$s)(I?pRn5SItuA za0!xTA*P)@b?%JEi+CroY|73u)loGMjgG?e69oku_zc#f<>-(hDmBf;Aq~Km(il(r zl_%*=v!5UTT+iJ-@@_n5R)sB5#Q$6%NmBKD@>WcX#H9cz={CYr8?_-mu^b_4) z!)0-E!Wg`##z)6R7w1O<;ct@} zh+~sYZP)Ic?8yX7j1blp;QA+gw&$XwwKuO4ln z4_^M+eeN?(JpTCcYtMM*IN`(-Fx2~bJ(@>c&DLF#GDBky8c3>4Y6+(wMP&?Jsx;pF z{IXLVDNRsKt$?>Hq&>&X)%h(%4U^*r>ry$`w58sJs$HUHd4w0hXr@P$YKMcRTUw-_wf|Gw7p-OMKKT5=W?IBP77K6J(01CYH{|DnHk|9k%dQy1q2 z0!+xcbCb655;+f{l)~Q1U}?>o?B_)uxY}-Iwulf`%lZaMT*cqQQQ!K9pU=_-=TlBT zIob?_#)It27T;*JV4bcoUUe~mL`xV~8t1}s7iaf77Z5otWkzMb%0gf`1zas#*3#J< zW3pJ`Q#Du7cwDefRQ%j;W(r%S-%Ams$`!i9`3zlbKJE17g0pX&AVB>yj)tbws*8sg zy6!VX#b=)t&xZ5rkb$gD0V2NcJ%rI=H@7P%sxbl3C-h+mp%KK;z7bbJm+*+&Nc+n6 zU+uzT?p*|J4i^L^A(szlX$}O_Tovjv&WGNG23zvXg^WY@d!|huS`*ryPqfl0vSt1j z!As#S1#2yE*L{q7v2Bb8ue|mA>^Nf6xwS`_jh=a_JQHtK9b(SnW4mRmz8$P{L(0P+ z{)qA1=l{!A=DsgRvg#81B{b&23|HR>bx1BJVtJ2jr!x;GOFcl&)m5ryBWi_{f0dXX@ zQKOJHrD;NZ2&?x6?eo3wJ7=7B+Kcr_jW6es8oZ}VpkgpsQwC;UlMTiVW%_Sv4>o2l zZQJXGFS&P5>v+=_ocoa)!a6sKsFLX{A};RCnsPN)(suF#boP;D&IrhHs(AVu1On#= zTa@Zc`ln_7Ep}a){+0{8oIhRiRXtMUDa#`@97Fl<(BLzv1>vVk4VRSJC*r8Grm?sL z*;mqN#1d;;_qJi)f@MG0B(cF&v$&=?g)d$+S2K7a0k;#@O$U(*{<2Sj$Fs_C^8s*& zA*Z2Lb2<03F5iNy4L_Pm_uLv>p?FXoA%q&&p%q`5yU+bZROaGM8rr8bi zYo`FeUUUChdQ2zOELph!(_i_}DsnKy)NvLIM0&X^7Om!vI}lHE?m&YGtV=W*laj3U zF}EUlX{%+;k!<4yXOZi}zRs`1g2!B1bY4tR@oGCs&oUookTTA`De^3tH@rkp{XjmS z;T%~fsxh6IPDNQdq0|YigQQw|uj0u|W5gx9Wh0{}Wlz-ychJ15sG61t@-KzS(n0f~ zs4f~`_O+TvGh4xtH`ybh0TCK&|vCZ{`P?3_vMqL^Ba_i`?OlTN7Vw}lIA z;b>o_vkfwbUWRKsiNK%m=GoGEixJf>7p|?Yn>uYF&yX4 zcdD8Yq}ssvn|85s3=Y#lE>`8xafTnBbvBkbcthA1KA7Ll7X*E;enZ4U&{zNfKmbWZ zK~zKln%4%oP8H-PUvPe@9;x9U4b&qwc*6nSJxFKD9-`QUkG51Kj@VE=2nxS)DAh zE%m<143}ZBO1dc~?0}x)QE#5gRXer~5=d8sPZKH$W*m8&QD`3q6XN88^fVwrTs><`-)l z`LMof{EAn;a(wzTpVs!GS>!>B``{}O`iQH^YVXxrJeMWj^jgrcIDD2-Ia<53ixP&m z`XQ(j3sZ93ECsWV%oSqKJlk-=x%{!MtUWC8z(gw-xtMt1=E6pqU%@$85Jco9^(9VP zDV|~FC@V8d+2hnmMA11PJx~Rwe<{f`%Z7wW0R3Na#TCA(=Ja}>gN^sCinB)uF6Jwg z%wJsa!hN|zAqhoR$gPm9#UM=-R4f5afNk*^XvsrlBkSOAE-dUP+zz4e!P=}mEY_An zZ|vHCqJkcy@PSKvR_wD{ZQdC33O`E;yb3s(1)w(n9kUY`jQ4HgOtwSj9tZ<$Ls|Ql zqUfsML3TcBrh;;}tYvKD)=fqlZPOxjO9I0@j%AOa;;BnR-5duTu)iPgg#8nK`SIhq z|I2g7{qO%H<94?@xNKtBOY*?Jgm%Iy;y8uIa!U;&7btxsi(Yac!rfw#d0R}*b+&_e zn88bED!ju{31J)MFX*-rt&`k&LmnJrOk*$3YWJY187^V6{U<(&;{|}rthlwrBm4CQ z=lAM@v!CJo#eFU~Cy!2s82A7&Wz~n0eE-#qb_HqsMb{Uc>6!Z^w0|^kKEqj9@>pF; zYSWG=GY%(ay|s%dtd$oHu5WA4eC`Pca~x`~|3YGeYJV^A$8X9;$i zbwU;apo&w%{5!ye$rx3@-5WR81W{Nr7XpD3p;u)abvSWL+cK@aKXfjz5T^2yxm7G> zM7GI`ZKawitiFKu1!t|N1L|%xmjzkCFfz;GEn0L>L7Re**RX-S#N; zS~kbzg}AAi37gd7N%-bmZ^d&ypic+|j9G7s6>d1x0J`ylGeX`QfFw9oaOhXsYc9kK zVC5J^nG%pSl}orXpMjuJZ};xGIa3yJOu zJo0Y(P@%Lg6)js{F+?6`Q-z5d-DZfEBHz{Y8|YbYLiwfWq1e*Rn9TupzO=pZv`&qrm@fgB-=6W03gzNmYQ3(fUVf+b2T@Q;z( zcv=^eSsN)h%w($^x|NB9b*I(!#DfpXV-|TWb0<186COun%`#T8wL|RT!3XiGqNWyY zS#4x0^cA!t>sq1Yj}&;cdg z2`(WNugqj9zhJQeqyKDEDCNb<$jsIY`{+*!!Kz5d%qH)AHu3fMzkgh)XMrDlul>gM zyZkfFtNncUaOV;O(>Yva0bg7*6A35pzLp^oe1u#>uBsaNiFI0FbTZ3@sU6?GY-~MX z(>U~BK4Bd3+}{}oA9=TN%S}75(#~t{8Y;EKd0GB;>fN5ENVG4^b(Ij@W<$bm~okH}2Hb_66te8^(>F`qH@Nk^f@c z|JAP@hu!OFbzB$ZnLD->OXWYECr5CTr10=gg4+hpmG@xfX%`^5($j+OB% zUVa3FHzW8!hhx7vk(&!Xe}R6RLC4_f&%A9#>ldp_Qm-PB$8?6e9=Rl08xBDYWl=f8a&j591kp8PywlToiz``@)^5Epi_O*SyAh3JzDPm$X~Ws6Kpr0$ z+1iU5uF}~MEB))`i7#1wV-5q(q5TI(^~v+n3~gWLo)@9RmV&=ZkpuGl!Ik6{gg}PY zf(8IqEL61W`PVv|EW?-a7T$mQ2Ek_af#b>RbSLoBpZ;{yZ1p$(^ek|;FG+aaLhdV; zxgS(JV;|oR#|{apEz>Ldv7TyBxvUgrDlyS5t&ErL4TMTH=u$HiGp&hqj=S`2xIvIRqs>yk(olhJBI1JwK$2B@8OoX-&)?gK*%> zD&mL;*4c1u_%#P|Dk|6^WPuE0>iWN}3(gWtCFVIFI?tAx0}S@2OEpUrj1@&I`=x5% zk%uLgEeTm#@Md1fka~4w&imrVf!%otmNpVJ#YMw>7N$`$Ruu2&=kXr9_9(ul>5kYU z3%c3!y1R_VF(eH8HrhNbY*OMBq?#U6)r}%%8xmhCYpk_)s-D(Zf|^_~H&GJK>qJNBh^KC9kwnT|yjKCA`j;{kIV<0L6E;rOkD6OPX}ZrZNTwa8^}JJz`~ zaLA+jXumX3u3~E*uj!w#-tGnLk+iNjoHi($Fv{c^^5Q_8AJ9@IVEcvB-%te$r{Z)> z)mLa8gM@)t>qd_yU7L0Mq<0ms15+4$AS|VdFEUrBeeP26yw5)xc$$9v_yS#U{+4ms zuf(@@PDQ|6b~KK8A(mQ!l%}GPNLahZ5C1f(e<56!y$^McDqvr5K3k8}IOZ4wJtwG{ z!;}is9@3DvYRTO)YUMsUbCd7Pv)PAu5XPBzKYL7Kf(<(MAi>Ny)SR*5Sr?oyy)-`> zcy9e@U~<^e*_l~3N+M69@KN2WesLv-LNB{_j<-|b1fx%x44x#CN}sDiVo;~Z5hd?g zQ%6)Zv*PzYE$j&=JExZWmJZ1)Dh{puu&% zqk7v}uQuG~FNIgtnRWl12)sclkZshQe3~w0mb^+qpZdHFPwpce(+aX`H<9(XUfk+} z^Kw?Xj2~PTSo^Ywe#7rq9hK?3&%2RtbUyPbOl)GT3(o$ocA{H&N6b<)$g$Sfqe8z~&jbTqO3h zgW<S?0A3yoY@wT_UZM^i^@prdMB z`pmKw&Vez(M_0B&xhU7^vWc2Go*aMrKwfw`?-&C2n*hmcOfBxT*e@5Rc(X_2|NX+n zXZq$IYu#guV9AZTp^ITYNYO`nD1CNV$!RWFny6jy`fc`&rK!&wR$Ok3$YUL~`AsDLqW?cg2)OxEU)h zw8j_9^tUmYONzq(L7{V8>TfJMPNc{r)xYNmeRe$>8nj({p3vrn`Sc^vYP%0}VFaSR zp+IV02vnJXS&<%{tfbG$vtskO*f1tFc{%ZNu{n!iEUP}u6B*C(*4v=)$Y`sh-T~O! zi=bB957J5u^D8-&{ft@qj#b;4y?Ib8Hf-0fwT)R*oWxJtCkCouuXCQUOOK2AjxIKT z`(1xMuK&+xjsqTeKV1OUogsR2f6HbDh#c9Q>MBl4e3@EY4#SXTT##YiCqTIyAb$Of zCGqUuvuj-U@$<)BUjFiN)JcyU+mF2K*rFdJ!?*j58}F|P7zerpeEoIfx-WfkeD%!# zJa)Y5%yHle57xH1rDCkd5D~NUAv=1Sf7R(tUSUH*UV0o{SU$DAS!2SpJ=8CJu<+1Tl6n|XW%TfpXz*_vlxQ7* zBo@*xY>NtGD*|@AqOLZwH9yQQf(I#WSENX~BrshfqyvUbzr_(yH?Vd+ZwMfuG)HtS zW{D()9b1RD&Coj#(nftF?0`-jC1 zz+g8d&^eJi`;3p&)6WYo&;{pHR~MZ7d_j@HZFjEBmW0%$S6~%RLNB@fOW{}z%{D%h zh*8O{X%e$$(Z>=vDr;pU{RVtzraAE|)+Bs9>)$+EUuAyuIPoV>9Jjyyp*ntQA4VS? z1A7AcK`^`|v_Gw?Z|f}pEXAho9Ifn4mYf$?0tb+S5oM~gebc0POo(HRTh;ATI78I1 zbs1YHg^wLNKG5cs99Iuk+&+}R!9Jk_XfF55j3!9UY$0s@+OTug^Fqj;3It-P?9A16 z0(k#z>f)~$);YHo9OCR?9fI2|R4^A`K3Kz|JGHI}Gy8}K>9CV5-qUb>I>04H;;iHD zU;M=z^n*%IkxU;R>VmW0Gnh7Z7RxA%S;^KE?I?bX6aZD~S>ZaesquE?UUlxu1fWr} zLGS!Pzb>?!O7^J+l^0EM^hCd9W;4q~H%G)=QGYYeY|x2 z3}^bO82duf9KR+aULxo@=MKj~A~j%H#PQOmMi;eO`m}&NN>VbW*+%W4-p0s++{m|W zRgHF`cMh?i^SBXalmTsdv27Dz5F4#rfQ6%cscp+OFJKeJD*bT}jAi(2!vcPo;R)RJ zuJ-f-Wxv940XA$Hs=%XSn>Mt71}~utgV;sw4jHbPHGV=|iLMFKS`fFE&us(;`>365 z1+!(_RzH#wp65O9e;bc^%wzOJf)5^Bx9Y})akI7yohPEyr+>HT<}S7m9+#Ah&)Ggh zjt`LS2qTKx7LhkKwQ#c%VGAu-Q=9<-K=nA}gFtU=M!;dad3>|!ilg#eIQ-hD5Vq?< zP=hu~>)l8@jHNV+_z5hae*fsXP%_ZYPgn;RoKHVZ&v3qgJDk7e8@X%;O*jjJFj(w2J8Z!fI;zhPU zfqZR3Bd3n|IFFY1W3*kb@eniIS>Tn?Mp7U0spj)GK53?)GJz^2NrH>`Ksmq_KG>B_8N&y<8TUm*S4)jGdS1(U zNW8WE+&I9<%=j92vsk!_9^u?R6^rz(4L%X|d&kHU1hnpVn$?eTY|o`&Wtwm$;;M@v z?+X&^Bw0Z>`9atsfwTJ3YNYEj``G;wzWW2W<1L!5x4ms?r~*H)#>6cI(P!Ms0v`Yv zAB=!ts5-t2Wj+Yq#wO73y9Bq!oT~Rc&wcK5$A0?OJtf!9;1|~nREqL#5Q`3g`Xo%n z(Uc=cgl#+4yfBraEVS+Vf-^+yczS!pU}ZQDFk(V%tVw7PxEpp<=|E_m^|JBn-x zIR}t@s3NcQZ^Oxf;&7mqEytSJsX9kFn{|xqoEl0W*bXRKWz=1btd|AxP&@Cfkd1Q2 z*UE0V;l^>F``mZD;!j>a9;_3s!w)~)Aj3J3R=VbNv4T0k3!lUi7%Id2Lj?Pmq-+w7 zdSg(>f|MR2Zl}xVq z>p--gcvXUpW6vij)udl$w`wsmetPc6mOLNGul*M7_=4!F=OVQ5)%n5~0?`|L@jbKHA9x9JmivF*{_!8>pG-nj1kOUAwQ!P_yv zl)EF%3WfGH=IZ3yg|-g0_vmZ@df1GbEV?|t^nMD^dVe+oPIFssf}ZlHvy+mSB|^K3)2K z6^)irrOq6)*p28B+^Ph%h~-fxoJ?enhS*W1DyVGiq^wL4KMWNm997RsR_O^!qXARb z%VsR-Q_nw>1;dAg#=sRoYrON=s+{oZ9a634Up$NTZ->-7( z3(jp@)`Sd@MF-t|BEo_z#Q_+n1^+11fyxO4Md*QF>_Z+0&TQo&{2bRYEnDhUaF?PH ziFx9cu$tpvKl!QSC8xe<9C_rC8k6F{&;S=L;vs>EaPuOaXNi>V% z35R@|DD$dNV^UAxBRmtQ{K{N}fe-}}AaU5L9T3bRb7 zVhgQy0Vt(#TMPTdumGyH$g!ETh{}dlA7@*=az(E~0?=Ti90UH-|BMeB!{p2twbaf9 z=aa3;z8d!AjANdY*1@@B(kG!(iG2nGx7hW+cr#Tm>_dy#1e$>CvV58&$H$7K3@}F` zL%lp^uA^QD;Q(S|XzQ@iHli`5a320LU2s12rKh>gBKt@Br1{-u%og__GKzFk+NJX$ zIc;g|&WLKbUfW8=3NTof*rX@a%_1>za1QOeOo>Iru<+t$3>V96bMBo0%Ar|SILm*+*H^RtV6GBQ@ImY?C z2pjzMMvgxiKs7`gTW}y*YpAc=YT<0=7M)79?SZ`L zv~~S0;TON?CF9rs&Ht5{CYK zZXuVBWR-{x5rgQeckUt*UJSkkTGI_>yYkg(LrY0Kv0CPqv=d-2Zm&fh$11dPStvR3 zDARN_%6oOe`HYw9g7X)?kVk6Nhk)on5CuMo5jsk3`pQ`$YVP{$KE*qS zb&|x^tSH?9l&V(DuH#Yv$DeS*c;kGe2AX}&K?%%GnD5ldJy}JuE}j{hBWzRB*=77@ zTkuj;(ydL^-_nQ-d~8@#vmaGF9=2nwbMA1-CAq`-!yo>z0}0;M*d}Z)I_L#hyL#sa;&m3^+1!sp6%09hb0(r|rrjRb_2adQKrg zv}^;hCuDCwD>nS4pbb&eIUK}O<0#dtph{u^9fP=_nqZ?&SumG%dIqy~z$iCfdJ znSoUAq_D1uC9c6uG71kylR7Q1X3(lCX!37NOXGx=khOte>Ezg!okVe&oP}QQWaJ(q zL;!V>p@$JVe$<2Zmd#to*S_{uolL)Z{I~!1{_%kid?3c__)0Q^$4{f=FEKgN1yU1Y z1r=jQKtCX$1KF9bFFF;qSMda{E){9V=x5Kd(cr_A#Vji`Sz!{hmHhix54*!5<41q= zNA!B|xbOYA=zNS`$BrZKa^&DgAV?t@V*`PfekC@oYiCXWQjBn3{OA##JP<2CByq#_ zH;hXz{p$Fn?j}Fy-R~Li{Ofm?&26u+;4WpJhf2HFRwx9TAxt65=f(qAi+hD6$ol_H{)d8OsoT1B#yi2_J zN_}##b;XMayzRv0JR(}Yzbv5??P_(NH)BOl9KtvxwM`E%GX0^>7zJa0l2M|Q+~cQq z?I@7@yb|yR1LjZ(wCeo|81_95cM2it(j@Wdma3VCrCZw(4`N;prdIA8iO>-1S@GBC z&dW>w^c7?G*>4#K{P+XLEnDl8NG_tP1B@Lv?m}cbe5UC()y{jwi6x;(<0iK1n*!qN zkejycH+J82K)D8mdhLmW~_x* zIPL920;g&2<7DWftf6E7p?^YjTRJ#=2fH|I8&ZL!u%JNkY%ycd9}f9~v!3DXM{0aU zkJP~4{nA>v*{94{giERYLVT?ZD@P5SVPvBde~p8K$BQbCm!qo+a!NIt4xT;_B9jf9 zK?^W_wYk<0fB3_7LG88U9{0G1@+S;&5PRnttbM7nq3kQ19+wz9cH41&k}`+1#|3dV z`bNlS@vDRM5nFH8S~m}1k3tJftk`L@J<}hIii4!FPoltXo&0deoQs6^D~NsSjV@!{ z7lw=xbPg4fI81n{kax}~EOZ?kJf=I6)6lk`>m_{1uey}HJnt|lPO1*XmBx?{Y$S{u zSHdrN?WE?Wia(q-R{Gd3xjM-Pjli{(%oHnk=#Yhav(AsdHqJWpHRFBnd*Arj z$3G#>KBd7LpKz5wV8~`d30`s8yO05U+)Yt!vlF8S2@@jXmD0Ird-tK$a8#XDyI$?o z<6qo;LGP@yxWoBm=bimxqQqLS=`6lGGx@fF`sVQk7QBy%#H|6MrzxF(;sFOUy6BS+ zix+oN@dg+2Cj-B>g>}YqI5joCKp_r1mk7W zld6`D6={K)tLa^X(()Wp)mp`4OSczX`l_+j-OK2o{p@FtfBPH1F^)RwUSofKb8he6 zUFPP-uc7xnxa8E09FSAbzfOkt|LI!ZF9+9g635);oI^+CR7`pGY2BmrqXLgfcVM+f z5i8~hCH`Dh(Ac+etyj5FRfXdXWyQcaN!a@jSo80#L0I((h%nH5+pV!ZhdZ40ZR`uU z;H(b>x9D+qd6Z+k*cA-I_XTD@GK)4!EgBh0aQ0ZH8H0inmJ8>f9vihdznZ)AVqt;{5r&N4EDq zP4}_1wsSCSvzK1-Rey`;+z+3N>suAU9K$j?2qMis_*N$0S3o}~-Q!yUqXwX|p;1s6 zlC3O*Vy?UYGEqwWDw12dXaVfxz@^Em`GZ&4zuBH~7RijL_^c}uZ|5o zNW?-(JfI3GwWF)H^lW5;vt339SoK@>-fY?+i%=sDh<_I$LL33h1U%KMOt6J*;fdPf;f!h~#YZkO$lK)~j|iFoqk76)d9QL~@@I zGd!?n8DoFl<$RN#ZA*F5ul}l@srmTvu%CI@IOLFnHUD%%>ezL1&DY2{2|S;-)X>?p4BlbQ8-?0$9{__1i6w7S9v2?d>s>O zELnjgcQk3wlH7rrZcsGhhe{k3kt*1eS}V5?}RCpBh)Z?#yw` zCqFheU3SUX|8B=B6+Iz1FkoDLEDj`H;Oll}Y_=Cn#=)0}#7C+(Z_)nZGann{rye=( z_~etv;rgM=+Z}aO*w_#1zxRi?Xj>&Wj-4YZcUI^wxEn6`!nooC?;lsb@VCbScl)8S z_0T)`K;vuGj#+bCF*`>0L-g)LA~v72OZ**i*2podS>$a-?@@Ho`KEEzd7m8zKJ(;p z_s5AibZlltCzBR5RH0?h`cyZA$}-SiH#Kilkz5 z?2;(fSgG#+(t}5B4_YvB)%FY7mmJ@7%}kb@6RA1f}5 zD{D5{xDc^jE~NNbi|{?$u5>$N%|70JV~iXm35G;otw^({L@)r$6Bza{HPpChDz?F< z08N1>G9=|gRgbrf?bCB77E_*Hn8OR^P~%J5F}i02LJ_DrLLmjz4#bGGQFWg!yMfb^A?dvbS z^itg^|EuHw_=k_+?6wQw>=>iBF*5liPp-BQ2ob1Fd?j9MTMfpsCb;CHWWl$UQNrSD zAuO|!2-7MhbzX2jQx}|1IobWTeH=PQ+Y>HPVC#veb-P7nIhD$x1RgVN;Hm+16-wJ+YpDQ z5Dt&CQ9_$XDsInhP{MlOED;uo)d~rU!@^>eEb+%j_mOV_e)qfIoxc8mTT#BeN347$ zLs}{wj2)$O5(&C!kb|G&A7k5iVU9Fs>KV(jYfMHWoGg3pn65c!6hGt3oC;@R#ENhW zQjy~-?k2!AnPF}@p4r}4} zY_8U7MKHwb{v{6TIbS7)9CsWu^VM)i9g@mR6zPb2R{jI(-l+xNMI6LRy=3V#Z3`0& z)m1@dw#kD42``O;4PfoyiL_@69JF|okRJ`?4(FqfKHB6S2Vzp(@KWdt zFADvOE80RBL~dy_envs9Ci&JMLj5;Sa;9C8K!L-#j!(Aa13T`hHVC>HI0kKv7hQDG zIPt`v9N+%-m3aFf<^N&^4msqIah-0Ks=@NO^cYQw3}?o%ggv%tdW0vuD~zJ&M~&GA zf(F%^$KbO6=-<%VNBuvV%D@Z$_yyy4fA`;w?RAH<2CKHk&Oh67HW6<@?1R{L*l5^% zDvKTtHL{h};IyGIu9ny>8%CgQQx}{Otb}}I8Ye30qSUaO|XU8NIc3r#^iB&}5$(_xT7^_7=oH{jc*7KP^tqVNw`P+Ao zKhy4E>tc*Ru|nEC!X*V;{kfJd5?P><&E%m2Om7{cK5rFAOG=(j-&3byPp0# zg&a7(ig&qCsF>*_0ZG?6@I_O}=!SRV)ls^HEM=*+q}SJ6bJh6h$3CWU`HV%3!?(Zl zZQXhP!SUJiBWvsd`)}9RJsGQVSUHL#`RMpCP#l?-)gK34G0}(W2PTw^W5-!SD~jc$8kUOL*pHP^;hG*_r0$Uj+|)e0*IDolL=Nm*4g&R zbIapn!_xW1Dl;Y4Vq>C7$G9*~ASlgE%}&Ae_6jZmL}x&3ngc$zL5lA{a;1#u1fC`d z?G*ZwD5Mt$#WHiT(2FadR0&;m@Hy!Sw!)!dTl|C*0WTRd7xa&PZ%4?3i&ylH5lmH6 zgCi>Rn{}0P-brC(FCf4rR-IAuANxtN&I7Rlk7=!BQMuqwftz>k9+$oCt>c?ddFt45 z&x6O7yB<5X>PPr^dEr)2_IuLf$8rDhrQ@KZ?1&T%#j;A*RswW6l&+9C%*c)hy(rsHw8qztgy~M&MMg) zfBRZ8?mJW#tJI)&GVm=A?h`f~k5U-NuJ>7f_BGKHmtDEJs=?h&w$&<)rmt=2m?gk7 zf2hJ6P;A11HZ^jE6SWP)8P-*#>uv6W3qG$O4LmIuob`w&ZSc0ki~X5Ub?+z0p#&xk zqcON@&v7L|dy_33nBjiv*VVEv8(TWx$gwJ}@*5h-^lwfOv*L(=I99~R9e3>bl_x%7 zJXRmXJov#6*+^$jP)!hZT3U8LDg=04XxmH?QrF8Dm!q|kE)Y$q3rE{BwPzm7s8qHw zE*R#a(@|7QJ{5pu8S8L>+e<)JMQ8 z75vRz1i)3K>>%7;WN6T*&v39ak~bVWvG!tKWAKBnAf`5n7Lu7saaaVV1ENnR)k<1$ zX~r|lTyPf7RFcS+KJlY~=biVDdK1o%eQBS*b(_wQ`KHaSOV~`Yb_e_Pw^-pzaj39L zt!yontb~r&eNfFZ7~2~Jdeugd-j!ittuK41A)$YqTT;%f3(nc6iJ8!Hl&P@>Reivh z{UKXQJj$x{IsZV9U2B*4E#kN+wdsh-S*Y>D(lN_ie=SXyR(!Sz*7i~@*yIU`Yj(=9 zTOj>kak(xyzigii&cZkz7Ak#X1s-AP;&wM{KRz!w12RdW8Q|i}1A`4^_J0_P7^=O)HjczdWEZt@5C!gWsD$I4%v zlh^Q*8-8T;U|p2@-uJ#Ii=iJNef>D;q?5*>w?D)eQTx3RHn-^6@aqfC;1fA~M4C9` zQcL{Mpns}cPX6lTE@OiY7%dIYJn_82uE*8y8|=Vy%{Ik3Gvhp(i~*wJxkDK1Sct0i1&Tl+h7o6)E&i!q=db?!{u%^bc`s4mlU$p_b zsRjL@e{{>fYpmLDq$aeF=>U;lp0d#UorNVD_GBlYNo*cp{o1AD^wZB6-}&};{1`HF z&o;;fOf3AKOR+ek2-bz%Aq%xvsAo#4yVEgDzmS0{vu@y__(MxO0?yepz6G##IkzZ; zrfP2F#l1;4>rI_G1(E=0LDWx^s*N-a>brdt<1J(V{rA^3jcwyP?c4tTLmwKS``qVZ z;4y(uR&eVdhFP+?q>0+pD-i7tVpV1IDI2&fx$VUhb0u8`1GefHJ)XU{d)nB(E#I6r zzvonw;FR8fLkrRMo1*?}37;5}H#Z^;0eE^0Bv2dQ0YI|cUJ1o6P zASW=t6kqM!`yfSMFTC)g@uz?KXXDkc`cJ|wWt)DGA{V$}(?e1mz78ks03@+r?KsRY zKiScwi|Fms$yTdE@Ecs3dM#sxG8Q(&QXlMi$jDK3Mm8M-QCP2q)s8<}y@XP-9ao}C=Dx``hk2uMp0yUpV=D}_D zIsPyI_{YbW^+r+OLm1m1tYmlI^|SJSYoQaE+=qP)4kz{npjPW{N) zW<6qL^XC23PhFJXbHmvA@z0E155CX1&zt^g-2OOSaCU(ye_SZykCxb!PxfIQjij?L zs58pJcFe*?oO}r8c}p-TDn~}UUVb!J&0|jQ6y=riz|I*hTH(coRic8^PPAB+0uXL; zlCZ)iTybFQUA!tajNv9W8G~mw;DlKELjn4fU52(jLFYaN8*C}`g#cWw9gI06vpiZ5 zV&^V>{1nzYtGZTe_{Cwr@qrsyYe<}P@|m$oKOBkxSQpwgjxt>mu3~VU+~NFr{pikV z;~#YACci1L$sb<801q(~+w8MMA(57#qF;PsN{eV&F}ten9VoJDs~Rt9cVDm#t$0us z+&AUPT~3(BP)vtWsAPKut(2+f5RKzFrNJ6C!ps!%+cJyPXqI z};SWe2lfsXYOGL6KweClDpuDgZWt)Q?*55B|}0ht|~UTqB)XCb53veTRzZK zm3<^J_pwf@3Z>?-?C=RZ5oAf=QTbiNqnXrsd385Cp-7<2YE17oE}gSVD1&M%46-u@Ez^C z0vf0Op8(?;EV4eo?6E)$}v029GV3z$w=$t2!u)oP~TX2lY{2*sNQ}FE%iTG9|4)n_Y2gR~4 z+`>FPnmt1nmxcK5r#^3$jhsxsnuX?}O=UE^*=jEdKX2tBs?