From 62ca707817ccb41c98153ce9a342ae18f7580c77 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 18 Dec 2025 17:01:04 +0000 Subject: [PATCH 1/7] update draw_tree to v0.3.0 --- doc/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/requirements.txt b/doc/requirements.txt index 2daeedc58..f98a15ea3 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -10,4 +10,4 @@ matplotlib pickleshare jupyter open_spiel; sys_platform != 'win32' -draw-tree @ git+https://github.com/gambitproject/draw_tree.git@v0.2.0 +draw-tree @ git+https://github.com/gambitproject/draw_tree.git@v0.3.0 From 8f3c0abc152033743afadb1d1916e0d0c8e99218 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 18 Dec 2025 17:08:19 +0000 Subject: [PATCH 2/7] add draw_tree to openspiel notebook --- .../openspiel.ipynb | 2107 ++++++++++++++++- 1 file changed, 2032 insertions(+), 75 deletions(-) diff --git a/doc/tutorials/interoperability_tutorials/openspiel.ipynb b/doc/tutorials/interoperability_tutorials/openspiel.ipynb index a33cedd25..68fa579e6 100644 --- a/doc/tutorials/interoperability_tutorials/openspiel.ipynb +++ b/doc/tutorials/interoperability_tutorials/openspiel.ipynb @@ -25,7 +25,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 39, "id": "ebb78322", "metadata": {}, "outputs": [], @@ -56,7 +56,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 40, "id": "b3eb3671", "metadata": {}, "outputs": [ @@ -86,7 +86,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 41, "id": "1d51af0a", "metadata": {}, "outputs": [], @@ -104,7 +104,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 42, "id": "1bcdb97b", "metadata": {}, "outputs": [ @@ -120,7 +120,7 @@ "-1,1 1,-1 0,0 " ] }, - "execution_count": 4, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" } @@ -140,7 +140,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 43, "id": "70575dc7", "metadata": {}, "outputs": [ @@ -170,7 +170,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 44, "id": "a532321e", "metadata": {}, "outputs": [ @@ -188,7 +188,7 @@ "-1,1 1,-1 0,0 " ] }, - "execution_count": 6, + "execution_count": 44, "metadata": {}, "output_type": "execute_result" } @@ -208,7 +208,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 45, "id": "f5fa4e42", "metadata": {}, "outputs": [ @@ -218,7 +218,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": 45, "metadata": {}, "output_type": "execute_result" } @@ -239,7 +239,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 46, "id": "b684325e", "metadata": {}, "outputs": [ @@ -253,7 +253,7 @@ "Game(title='Rock-Paper-Scissors')" ] }, - "execution_count": 8, + "execution_count": 46, "metadata": {}, "output_type": "execute_result" } @@ -281,7 +281,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 47, "id": "707c6c30", "metadata": {}, "outputs": [ @@ -294,7 +294,7 @@ "[[Rational(1, 3), Rational(1, 3), Rational(1, 3)], [Rational(1, 3), Rational(1, 3), Rational(1, 3)]]" ] }, - "execution_count": 9, + "execution_count": 47, "metadata": {}, "output_type": "execute_result" } @@ -315,7 +315,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 48, "id": "cf1acdeb", "metadata": {}, "outputs": [ @@ -325,7 +325,7 @@ "array([ 0.03, -0.03, 0. ])" ] }, - "execution_count": 10, + "execution_count": 48, "metadata": {}, "output_type": "execute_result" } @@ -350,7 +350,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 49, "id": "b9a352c5", "metadata": {}, "outputs": [ @@ -412,7 +412,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 50, "id": "86c6aa52", "metadata": {}, "outputs": [ @@ -441,7 +441,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 51, "id": "189f898f", "metadata": {}, "outputs": [ @@ -472,7 +472,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 52, "id": "cdd0bfe0", "metadata": {}, "outputs": [ @@ -486,7 +486,7 @@ "Game(title='Prisoner's Dilemma')" ] }, - "execution_count": 14, + "execution_count": 52, "metadata": {}, "output_type": "execute_result" } @@ -505,7 +505,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 53, "id": "d42e6545", "metadata": {}, "outputs": [ @@ -518,7 +518,7 @@ "[[Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1)]]" ] }, - "execution_count": 15, + "execution_count": 53, "metadata": {}, "output_type": "execute_result" } @@ -539,7 +539,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 54, "id": "fcd42af0", "metadata": {}, "outputs": [], @@ -565,7 +565,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 55, "id": "7ce6f2e2", "metadata": {}, "outputs": [ @@ -582,7 +582,7 @@ "0,-3 -2,-2 " ] }, - "execution_count": 17, + "execution_count": 55, "metadata": {}, "output_type": "execute_result" } @@ -604,7 +604,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 56, "id": "d1495c7c", "metadata": {}, "outputs": [ @@ -662,7 +662,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 57, "id": "02a42600", "metadata": {}, "outputs": [ @@ -672,7 +672,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": 19, + "execution_count": 57, "metadata": {}, "output_type": "execute_result" } @@ -694,24 +694,1637 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 58, "id": "1a534e25", "metadata": {}, + "outputs": [], + "source": [ + "gbt_hanabi_game = gbt.read_efg(StringIO(efg_hanabi_game))\n", + "eqm = gbt.nash.lcp_solve(gbt_hanabi_game).equilibria[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "id": "b913fc7a", + "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", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 59, + "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)" + "from draw_tree import draw_tree\n", + "\n", + "draw_tree(\n", + " gbt_hanabi_game,\n", + " color_scheme=\"gambit\",\n", + " edge_thickness=2,\n", + " action_label_position=0.7\n", + ")" ] }, { @@ -724,7 +2337,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 60, "id": "1ec19b1c", "metadata": {}, "outputs": [ @@ -737,7 +2350,7 @@ "[[Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)]]" ] }, - "execution_count": 21, + "execution_count": 60, "metadata": {}, "output_type": "execute_result" } @@ -756,7 +2369,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 61, "id": "ae9fc7a7", "metadata": {}, "outputs": [ @@ -789,7 +2402,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 62, "id": "8528e1bd", "metadata": {}, "outputs": [ @@ -802,7 +2415,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": 23, + "execution_count": 62, "metadata": {}, "output_type": "execute_result" } @@ -813,7 +2426,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 63, "id": "2965aed0", "metadata": {}, "outputs": [ @@ -854,7 +2467,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 64, "id": "4e72c924", "metadata": {}, "outputs": [], @@ -881,7 +2494,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 65, "id": "53547263", "metadata": {}, "outputs": [ @@ -924,7 +2537,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 66, "id": "d71bc733", "metadata": {}, "outputs": [ @@ -933,14 +2546,14 @@ "output_type": "stream", "text": [ "\n", - "p0:d1 p1:d1\n", - "Agent 0 chooses p0a0\n", + "p0:d1 p1:d0\n", + "Agent 0 chooses p0a1\n", "\n", - "p0:d1 p1:d1 p0:a0\n", - "Agent 1 chooses p1a0\n", + "p0:d1 p1:d0 p0:a1\n", + "Agent 1 chooses p1a1\n", "\n", - "p0:d1 p1:d1 p0:a0 p1:a0\n", - "Rewards: [10.0, 10.0]\n" + "p0:d1 p1:d0 p0:a1 p1:a1\n", + "Rewards: [8.0, 8.0]\n" ] } ], @@ -986,7 +2599,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 67, "id": "77dc34c8", "metadata": {}, "outputs": [], @@ -1056,6 +2669,350 @@ ")" ] }, + { + "cell_type": "code", + "execution_count": 77, + "id": "ed920d33-b7c6-4cc1-b055-7244a5bf42d8", + "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", + "" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "draw_tree(gbt_one_card_poker, color_scheme=\"gambit\")" + ] + }, { "cell_type": "markdown", "id": "4f296f44", @@ -1066,7 +3023,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 68, "id": "07340e32", "metadata": {}, "outputs": [ @@ -1076,7 +3033,7 @@ "efg_game()" ] }, - "execution_count": 29, + "execution_count": 68, "metadata": {}, "output_type": "execute_result" } @@ -1098,7 +3055,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 69, "id": "c01c4d6f", "metadata": {}, "outputs": [ @@ -1108,7 +3065,7 @@ "3" ] }, - "execution_count": 30, + "execution_count": 69, "metadata": {}, "output_type": "execute_result" } @@ -1129,7 +3086,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 70, "id": "3b9cc43b", "metadata": {}, "outputs": [ @@ -1139,7 +3096,7 @@ "0: Chance: 1 King 0.5 Queen 0.5" ] }, - "execution_count": 31, + "execution_count": 70, "metadata": {}, "output_type": "execute_result" } @@ -1151,7 +3108,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 71, "id": "e23df723", "metadata": {}, "outputs": [ @@ -1161,7 +3118,7 @@ "[0, 1]" ] }, - "execution_count": 32, + "execution_count": 71, "metadata": {}, "output_type": "execute_result" } @@ -1180,7 +3137,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 72, "id": "4dd5d504", "metadata": {}, "outputs": [ @@ -1190,7 +3147,7 @@ "1: Player: 1 1 Bet Fold" ] }, - "execution_count": 33, + "execution_count": 72, "metadata": {}, "output_type": "execute_result" } @@ -1202,7 +3159,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 73, "id": "be557706", "metadata": {}, "outputs": [ @@ -1212,7 +3169,7 @@ "[0, 1]" ] }, - "execution_count": 34, + "execution_count": 73, "metadata": {}, "output_type": "execute_result" } @@ -1232,7 +3189,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 74, "id": "bd15369f", "metadata": {}, "outputs": [ @@ -1242,7 +3199,7 @@ "3: Player: 2 1 Call Fold" ] }, - "execution_count": 35, + "execution_count": 74, "metadata": {}, "output_type": "execute_result" } @@ -1262,7 +3219,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 75, "id": "8d81ff6b", "metadata": {}, "outputs": [ @@ -1272,7 +3229,7 @@ "[1, 2]" ] }, - "execution_count": 36, + "execution_count": 75, "metadata": {}, "output_type": "execute_result" } @@ -1292,7 +3249,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 76, "id": "97913fe5", "metadata": {}, "outputs": [ @@ -1302,7 +3259,7 @@ "6: Terminal: Win 1 -1" ] }, - "execution_count": 37, + "execution_count": 76, "metadata": {}, "output_type": "execute_result" } @@ -1323,7 +3280,7 @@ ], "metadata": { "kernelspec": { - "display_name": "gambitvenv313", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, From 71f40ce3566c057aab2bc7e6c83a3a1dd3b1b85a Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Thu, 18 Dec 2025 17:13:37 +0000 Subject: [PATCH 3/7] add gambit color scheme to tutorial 3 --- doc/tutorials/03_stripped_down_poker.ipynb | 1522 ++++++++++---------- 1 file changed, 759 insertions(+), 763 deletions(-) diff --git a/doc/tutorials/03_stripped_down_poker.ipynb b/doc/tutorials/03_stripped_down_poker.ipynb index 7937f092e..8131c0ec4 100644 --- a/doc/tutorials/03_stripped_down_poker.ipynb +++ b/doc/tutorials/03_stripped_down_poker.ipynb @@ -39,7 +39,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 1, "id": "69cbfe81", "metadata": {}, "outputs": [], @@ -59,7 +59,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 2, "id": "ad6a1119", "metadata": {}, "outputs": [], @@ -80,7 +80,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 3, "id": "841f9f74", "metadata": {}, "outputs": [ @@ -116,7 +116,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 4, "id": "fe80c64c", "metadata": {}, "outputs": [], @@ -130,153 +130,154 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 5, "id": "867cb1d8-7a5d-45d1-9349-9bbc2a4e2344", "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", "" ], @@ -284,13 +285,13 @@ "" ] }, - "execution_count": 41, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "draw_tree(g)" + "draw_tree(g, color_scheme=\"gambit\")" ] }, { @@ -309,7 +310,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 6, "id": "0e3bb5ef", "metadata": {}, "outputs": [], @@ -324,284 +325,269 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 7, "id": "0c522c2d-992e-48b6-a1f8-0696d33cdbe0", "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", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", "" ], @@ -609,13 +595,13 @@ "" ] }, - "execution_count": 43, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "draw_tree(g)" + "draw_tree(g, color_scheme=\"gambit\")" ] }, { @@ -638,7 +624,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 8, "id": "dbfa7035", "metadata": {}, "outputs": [], @@ -652,51 +638,81 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 9, "id": "e85b3346-2fea-4a73-aa72-9efb436c68c1", "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", @@ -708,291 +724,277 @@ "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", "\n", - "\n", + "\n", "\n", - "\n", - "\n", - "\n", - "\n", "\n", - "\n", + "\n", "\n", - "\n", "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\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": 45, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "draw_tree(g)" + "draw_tree(g, color_scheme=\"gambit\")" ] }, { @@ -1010,7 +1012,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 10, "id": "87c988be", "metadata": {}, "outputs": [], @@ -1031,7 +1033,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 11, "id": "29aa60a0", "metadata": {}, "outputs": [], @@ -1053,57 +1055,87 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 12, "id": "fdee7b53-7820-44df-9d17-d15d0b9667aa", "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", @@ -1115,290 +1147,254 @@ "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", + "\n", "\n", - "\n", - "\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": 48, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "draw_tree(g)" + "draw_tree(g, color_scheme=\"gambit\")" ] }, { @@ -1414,7 +1410,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 13, "id": "4d92c8d9", "metadata": {}, "outputs": [ @@ -1424,7 +1420,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": 49, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -1448,7 +1444,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 14, "id": "9967d6f7", "metadata": {}, "outputs": [ @@ -1475,7 +1471,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 15, "id": "3293e818", "metadata": {}, "outputs": [ @@ -1485,7 +1481,7 @@ "pygambit.gambit.MixedBehaviorProfileRational" ] }, - "execution_count": 51, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -1506,7 +1502,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 16, "id": "4cf38264", "metadata": {}, "outputs": [ @@ -1516,7 +1512,7 @@ "pygambit.gambit.MixedBehavior" ] }, - "execution_count": 52, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -1527,7 +1523,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 17, "id": "85e7fdda", "metadata": {}, "outputs": [ @@ -1540,7 +1536,7 @@ "[[Rational(1, 1), Rational(0, 1)], [Rational(1, 3), Rational(2, 3)]]" ] }, - "execution_count": 53, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -1565,7 +1561,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 18, "id": "f45a82b6", "metadata": {}, "outputs": [ @@ -1597,7 +1593,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 19, "id": "83bbd3e5", "metadata": {}, "outputs": [ @@ -1630,7 +1626,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 20, "id": "6bf51b38", "metadata": {}, "outputs": [ @@ -1643,7 +1639,7 @@ "[[Rational(2, 3), Rational(1, 3)]]" ] }, - "execution_count": 56, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -1666,7 +1662,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 21, "id": "2966e700", "metadata": {}, "outputs": [ @@ -1679,7 +1675,7 @@ "Rational(2, 3)" ] }, - "execution_count": 57, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -1698,7 +1694,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 22, "id": "f5a7f110", "metadata": {}, "outputs": [ @@ -1711,7 +1707,7 @@ "Rational(2, 3)" ] }, - "execution_count": 58, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -1732,7 +1728,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 23, "id": "a7d3816d", "metadata": {}, "outputs": [ @@ -1767,7 +1763,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 24, "id": "4a54b20c", "metadata": {}, "outputs": [ @@ -1800,7 +1796,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 25, "id": "b250c1cd", "metadata": {}, "outputs": [ @@ -1813,7 +1809,7 @@ "Rational(2, 3)" ] }, - "execution_count": 61, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -1832,7 +1828,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 26, "id": "6f01846b", "metadata": {}, "outputs": [ @@ -1864,7 +1860,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 27, "id": "5079d231", "metadata": {}, "outputs": [ @@ -1877,7 +1873,7 @@ "Rational(1, 3)" ] }, - "execution_count": 63, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } @@ -1888,7 +1884,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 28, "id": "c55f2c7a", "metadata": {}, "outputs": [ @@ -1901,7 +1897,7 @@ "Rational(-1, 3)" ] }, - "execution_count": 64, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -1928,7 +1924,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 29, "id": "d4ecff88", "metadata": {}, "outputs": [ @@ -1938,7 +1934,7 @@ "['11', '12', '21', '22']" ] }, - "execution_count": 65, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } @@ -1962,7 +1958,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 30, "id": "24e4b6e8", "metadata": {}, "outputs": [ @@ -1972,7 +1968,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": 66, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -1994,7 +1990,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 31, "id": "d9ffb4b8", "metadata": {}, "outputs": [ @@ -2004,7 +2000,7 @@ "pygambit.gambit.MixedStrategyProfileDouble" ] }, - "execution_count": 67, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -2026,7 +2022,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 32, "id": "56e2f847", "metadata": {}, "outputs": [ @@ -2079,7 +2075,7 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 33, "id": "d18a91f0", "metadata": {}, "outputs": [ @@ -2145,7 +2141,7 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": 34, "id": "0c55f745", "metadata": {}, "outputs": [ @@ -2155,7 +2151,7 @@ "(Rational(2, 1), Rational(-2, 1))" ] }, - "execution_count": 70, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } @@ -2177,7 +2173,7 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 35, "id": "101598c6", "metadata": {}, "outputs": [ @@ -2187,7 +2183,7 @@ "1" ] }, - "execution_count": 71, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -2199,7 +2195,7 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 36, "id": "9b142728", "metadata": {}, "outputs": [ @@ -2209,7 +2205,7 @@ "3.987411578698641e-08" ] }, - "execution_count": 72, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } @@ -2230,7 +2226,7 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 37, "id": "ff405409", "metadata": {}, "outputs": [ @@ -2240,7 +2236,7 @@ "9.968528946746602e-09" ] }, - "execution_count": 73, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } @@ -2261,7 +2257,7 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 38, "id": "31b0143c", "metadata": {}, "outputs": [ @@ -2271,7 +2267,7 @@ "9.395259956013202e-05" ] }, - "execution_count": 74, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } @@ -2290,7 +2286,7 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 39, "id": "7cfba34a", "metadata": {}, "outputs": [ @@ -2298,8 +2294,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 9.86 ms, sys: 91 μs, total: 9.95 ms\n", - "Wall time: 9.96 ms\n" + "CPU times: user 8.9 ms, sys: 159 μs, total: 9.06 ms\n", + "Wall time: 9.04 ms\n" ] }, { @@ -2308,7 +2304,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": 75, + "execution_count": 39, "metadata": {}, "output_type": "execute_result" } @@ -2320,7 +2316,7 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 40, "id": "6f1809a7", "metadata": {}, "outputs": [ @@ -2328,8 +2324,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 18.8 ms, sys: 148 μs, total: 19 ms\n", - "Wall time: 19 ms\n" + "CPU times: user 17.1 ms, sys: 317 μs, total: 17.4 ms\n", + "Wall time: 17.4 ms\n" ] }, { @@ -2338,7 +2334,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": 76, + "execution_count": 40, "metadata": {}, "output_type": "execute_result" } @@ -2360,7 +2356,7 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": 41, "id": "414b6f65", "metadata": {}, "outputs": [ @@ -2370,7 +2366,7 @@ "5.509949805110326e-05" ] }, - "execution_count": 77, + "execution_count": 41, "metadata": {}, "output_type": "execute_result" } @@ -2392,7 +2388,7 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": 42, "id": "a892dc2b", "metadata": {}, "outputs": [ @@ -2402,7 +2398,7 @@ "5.509949805110326e-05" ] }, - "execution_count": 78, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" } @@ -2433,7 +2429,7 @@ }, { "cell_type": "code", - "execution_count": 79, + "execution_count": 43, "id": "2f79695a", "metadata": {}, "outputs": [ @@ -2443,7 +2439,7 @@ "[Rational(1, 3), Rational(1, 3), Rational(1, 3)]" ] }, - "execution_count": 79, + "execution_count": 43, "metadata": {}, "output_type": "execute_result" } @@ -2467,7 +2463,7 @@ }, { "cell_type": "code", - "execution_count": 80, + "execution_count": 44, "id": "5de6acb2", "metadata": {}, "outputs": [ @@ -2477,7 +2473,7 @@ "[Rational(1, 4), Rational(1, 2), Rational(1, 4)]" ] }, - "execution_count": 80, + "execution_count": 44, "metadata": {}, "output_type": "execute_result" } @@ -2500,7 +2496,7 @@ }, { "cell_type": "code", - "execution_count": 81, + "execution_count": 45, "id": "c47d2ab6", "metadata": {}, "outputs": [ @@ -2510,7 +2506,7 @@ "[Decimal('0.25'), Decimal('0.50'), Decimal('0.25')]" ] }, - "execution_count": 81, + "execution_count": 45, "metadata": {}, "output_type": "execute_result" } @@ -2537,7 +2533,7 @@ }, { "cell_type": "code", - "execution_count": 82, + "execution_count": 46, "id": "04329084", "metadata": {}, "outputs": [ @@ -2547,7 +2543,7 @@ "[Rational(1, 4), Rational(1, 2), Rational(1, 4)]" ] }, - "execution_count": 82, + "execution_count": 46, "metadata": {}, "output_type": "execute_result" } @@ -2559,7 +2555,7 @@ }, { "cell_type": "code", - "execution_count": 83, + "execution_count": 47, "id": "9015e129", "metadata": {}, "outputs": [ @@ -2569,7 +2565,7 @@ "[Decimal('0.25'), Decimal('0.50'), Decimal('0.25')]" ] }, - "execution_count": 83, + "execution_count": 47, "metadata": {}, "output_type": "execute_result" } @@ -2594,7 +2590,7 @@ }, { "cell_type": "code", - "execution_count": 84, + "execution_count": 48, "id": "0a019aa5", "metadata": {}, "outputs": [ @@ -2604,7 +2600,7 @@ "[Decimal('0.25'), Decimal('0.5'), Decimal('0.25')]" ] }, - "execution_count": 84, + "execution_count": 48, "metadata": {}, "output_type": "execute_result" } @@ -2624,7 +2620,7 @@ }, { "cell_type": "code", - "execution_count": 85, + "execution_count": 49, "id": "1991d288", "metadata": {}, "outputs": [ @@ -2654,7 +2650,7 @@ }, { "cell_type": "code", - "execution_count": 86, + "execution_count": 50, "id": "b1dc37fd", "metadata": {}, "outputs": [ @@ -2664,7 +2660,7 @@ "1.0" ] }, - "execution_count": 86, + "execution_count": 50, "metadata": {}, "output_type": "execute_result" } @@ -2683,7 +2679,7 @@ }, { "cell_type": "code", - "execution_count": 87, + "execution_count": 51, "id": "dc1edea2", "metadata": {}, "outputs": [ @@ -2693,7 +2689,7 @@ "Decimal('0.3333333333333333')" ] }, - "execution_count": 87, + "execution_count": 51, "metadata": {}, "output_type": "execute_result" } @@ -2712,7 +2708,7 @@ }, { "cell_type": "code", - "execution_count": 88, + "execution_count": 52, "id": "1edd90d6", "metadata": {}, "outputs": [ @@ -2722,7 +2718,7 @@ "Decimal('0.9999999999999999')" ] }, - "execution_count": 88, + "execution_count": 52, "metadata": {}, "output_type": "execute_result" } @@ -2756,7 +2752,7 @@ ], "metadata": { "kernelspec": { - "display_name": "gambit310", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -2770,7 +2766,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.19" + "version": "3.13.5" } }, "nbformat": 4, From 51f4dd037a642063aa2c00ddeb9a128dff5137da Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Tue, 6 Jan 2026 10:16:24 +0000 Subject: [PATCH 4/7] adjust tint hanabi draw_tree visual --- .../openspiel.ipynb | 1439 ++++++++--------- 1 file changed, 715 insertions(+), 724 deletions(-) diff --git a/doc/tutorials/interoperability_tutorials/openspiel.ipynb b/doc/tutorials/interoperability_tutorials/openspiel.ipynb index 68fa579e6..f1862e0d7 100644 --- a/doc/tutorials/interoperability_tutorials/openspiel.ipynb +++ b/doc/tutorials/interoperability_tutorials/openspiel.ipynb @@ -25,7 +25,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 1, "id": "ebb78322", "metadata": {}, "outputs": [], @@ -56,7 +56,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 2, "id": "b3eb3671", "metadata": {}, "outputs": [ @@ -86,7 +86,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 3, "id": "1d51af0a", "metadata": {}, "outputs": [], @@ -104,7 +104,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 4, "id": "1bcdb97b", "metadata": {}, "outputs": [ @@ -120,7 +120,7 @@ "-1,1 1,-1 0,0 " ] }, - "execution_count": 42, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -140,7 +140,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 5, "id": "70575dc7", "metadata": {}, "outputs": [ @@ -170,7 +170,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 6, "id": "a532321e", "metadata": {}, "outputs": [ @@ -188,7 +188,7 @@ "-1,1 1,-1 0,0 " ] }, - "execution_count": 44, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -208,7 +208,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 7, "id": "f5fa4e42", "metadata": {}, "outputs": [ @@ -218,7 +218,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": 45, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" } @@ -239,7 +239,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 8, "id": "b684325e", "metadata": {}, "outputs": [ @@ -253,7 +253,7 @@ "Game(title='Rock-Paper-Scissors')" ] }, - "execution_count": 46, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -281,7 +281,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 9, "id": "707c6c30", "metadata": {}, "outputs": [ @@ -294,7 +294,7 @@ "[[Rational(1, 3), Rational(1, 3), Rational(1, 3)], [Rational(1, 3), Rational(1, 3), Rational(1, 3)]]" ] }, - "execution_count": 47, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -315,7 +315,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 10, "id": "cf1acdeb", "metadata": {}, "outputs": [ @@ -325,7 +325,7 @@ "array([ 0.03, -0.03, 0. ])" ] }, - "execution_count": 48, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -350,7 +350,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 11, "id": "b9a352c5", "metadata": {}, "outputs": [ @@ -412,7 +412,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 12, "id": "86c6aa52", "metadata": {}, "outputs": [ @@ -441,7 +441,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 13, "id": "189f898f", "metadata": {}, "outputs": [ @@ -472,7 +472,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 14, "id": "cdd0bfe0", "metadata": {}, "outputs": [ @@ -486,7 +486,7 @@ "Game(title='Prisoner's Dilemma')" ] }, - "execution_count": 52, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -505,7 +505,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 15, "id": "d42e6545", "metadata": {}, "outputs": [ @@ -518,7 +518,7 @@ "[[Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1)]]" ] }, - "execution_count": 53, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -539,7 +539,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 16, "id": "fcd42af0", "metadata": {}, "outputs": [], @@ -565,7 +565,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 17, "id": "7ce6f2e2", "metadata": {}, "outputs": [ @@ -582,7 +582,7 @@ "0,-3 -2,-2 " ] }, - "execution_count": 55, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -604,7 +604,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 18, "id": "d1495c7c", "metadata": {}, "outputs": [ @@ -662,7 +662,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 19, "id": "02a42600", "metadata": {}, "outputs": [ @@ -672,7 +672,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": 57, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -694,7 +694,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 20, "id": "1a534e25", "metadata": {}, "outputs": [], @@ -705,14 +705,14 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 42, "id": "b913fc7a", "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ - "\n", + "\n", "\n", "\n", "\n", @@ -752,1558 +752,1548 @@ "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", + "\n", "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", + "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", - "\n", + "\n", "\n", - "\n", - "\n", - "\n", + "\n", + "\n", + "\n", "\n", "" ], @@ -2311,7 +2301,7 @@ "" ] }, - "execution_count": 59, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" } @@ -2323,7 +2313,8 @@ " gbt_hanabi_game,\n", " color_scheme=\"gambit\",\n", " edge_thickness=2,\n", - " action_label_position=0.7\n", + " action_label_position=0.8,\n", + " shared_terminal_depth=True\n", ")" ] }, @@ -2337,7 +2328,7 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 22, "id": "1ec19b1c", "metadata": {}, "outputs": [ @@ -2350,7 +2341,7 @@ "[[Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)]]" ] }, - "execution_count": 60, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -2369,7 +2360,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 23, "id": "ae9fc7a7", "metadata": {}, "outputs": [ @@ -2402,7 +2393,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 24, "id": "8528e1bd", "metadata": {}, "outputs": [ @@ -2415,7 +2406,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": 62, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -2426,7 +2417,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 25, "id": "2965aed0", "metadata": {}, "outputs": [ @@ -2467,7 +2458,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 26, "id": "4e72c924", "metadata": {}, "outputs": [], @@ -2494,7 +2485,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 27, "id": "53547263", "metadata": {}, "outputs": [ @@ -2537,7 +2528,7 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 28, "id": "d71bc733", "metadata": {}, "outputs": [ @@ -2546,13 +2537,13 @@ "output_type": "stream", "text": [ "\n", - "p0:d1 p1:d0\n", + "p0:d1 p1:d1\n", "Agent 0 chooses p0a1\n", "\n", - "p0:d1 p1:d0 p0:a1\n", + "p0:d1 p1:d1 p0:a1\n", "Agent 1 chooses p1a1\n", "\n", - "p0:d1 p1:d0 p0:a1 p1:a1\n", + "p0:d1 p1:d1 p0:a1 p1:a1\n", "Rewards: [8.0, 8.0]\n" ] } @@ -2599,7 +2590,7 @@ }, { "cell_type": "code", - "execution_count": 67, + "execution_count": 29, "id": "77dc34c8", "metadata": {}, "outputs": [], @@ -2671,7 +2662,7 @@ }, { "cell_type": "code", - "execution_count": 77, + "execution_count": 30, "id": "ed920d33-b7c6-4cc1-b055-7244a5bf42d8", "metadata": {}, "outputs": [ @@ -3004,7 +2995,7 @@ "" ] }, - "execution_count": 77, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -3023,7 +3014,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 31, "id": "07340e32", "metadata": {}, "outputs": [ @@ -3033,7 +3024,7 @@ "efg_game()" ] }, - "execution_count": 68, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -3055,7 +3046,7 @@ }, { "cell_type": "code", - "execution_count": 69, + "execution_count": 32, "id": "c01c4d6f", "metadata": {}, "outputs": [ @@ -3065,7 +3056,7 @@ "3" ] }, - "execution_count": 69, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -3086,7 +3077,7 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": 33, "id": "3b9cc43b", "metadata": {}, "outputs": [ @@ -3096,7 +3087,7 @@ "0: Chance: 1 King 0.5 Queen 0.5" ] }, - "execution_count": 70, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -3108,7 +3099,7 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": 34, "id": "e23df723", "metadata": {}, "outputs": [ @@ -3118,7 +3109,7 @@ "[0, 1]" ] }, - "execution_count": 71, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } @@ -3137,7 +3128,7 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": 35, "id": "4dd5d504", "metadata": {}, "outputs": [ @@ -3147,7 +3138,7 @@ "1: Player: 1 1 Bet Fold" ] }, - "execution_count": 72, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -3159,7 +3150,7 @@ }, { "cell_type": "code", - "execution_count": 73, + "execution_count": 36, "id": "be557706", "metadata": {}, "outputs": [ @@ -3169,7 +3160,7 @@ "[0, 1]" ] }, - "execution_count": 73, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } @@ -3189,7 +3180,7 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": 37, "id": "bd15369f", "metadata": {}, "outputs": [ @@ -3199,7 +3190,7 @@ "3: Player: 2 1 Call Fold" ] }, - "execution_count": 74, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } @@ -3219,7 +3210,7 @@ }, { "cell_type": "code", - "execution_count": 75, + "execution_count": 38, "id": "8d81ff6b", "metadata": {}, "outputs": [ @@ -3229,7 +3220,7 @@ "[1, 2]" ] }, - "execution_count": 75, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } @@ -3249,7 +3240,7 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": 39, "id": "97913fe5", "metadata": {}, "outputs": [ @@ -3259,7 +3250,7 @@ "6: Terminal: Win 1 -1" ] }, - "execution_count": 76, + "execution_count": 39, "metadata": {}, "output_type": "execute_result" } From 640be12e7458c45f9596ac0cc6d65cfc8bd70ace Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 7 Jan 2026 11:55:25 +0000 Subject: [PATCH 5/7] use draw_tree 0.3.1 --- doc/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/requirements.txt b/doc/requirements.txt index f98a15ea3..6b2fbe573 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -10,4 +10,4 @@ matplotlib pickleshare jupyter open_spiel; sys_platform != 'win32' -draw-tree @ git+https://github.com/gambitproject/draw_tree.git@v0.3.0 +draw-tree @ git+https://github.com/gambitproject/draw_tree.git@v0.3.1 From fe238e3acb09870a02c45999c37c4b568907b77b Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 7 Jan 2026 11:59:07 +0000 Subject: [PATCH 6/7] resave outputs again --- doc/tutorials/03_stripped_down_poker.ipynb | 24 +- .../openspiel.ipynb | 216 ++++++------------ 2 files changed, 85 insertions(+), 155 deletions(-) diff --git a/doc/tutorials/03_stripped_down_poker.ipynb b/doc/tutorials/03_stripped_down_poker.ipynb index e6a6cfe82..10c425d36 100644 --- a/doc/tutorials/03_stripped_down_poker.ipynb +++ b/doc/tutorials/03_stripped_down_poker.ipynb @@ -1417,7 +1417,7 @@ { "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})" + "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': None, 'max_depth': None})" ] }, "execution_count": 13, @@ -2202,7 +2202,7 @@ { "data": { "text/plain": [ - "5.0647885885268806e-08" + "2.6582744783176793e-08" ] }, "execution_count": 36, @@ -2233,7 +2233,7 @@ { "data": { "text/plain": [ - "6.330985735658601e-09" + "6.645686195794198e-09" ] }, "execution_count": 37, @@ -2264,7 +2264,7 @@ { "data": { "text/plain": [ - "6.566536354296604e-05" + "6.265863445531483e-05" ] }, "execution_count": 38, @@ -2297,14 +2297,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 8.9 ms, sys: 159 μs, total: 9.06 ms\n", - "Wall time: 9.04 ms\n" + "CPU times: user 9.91 ms, sys: 68 μs, total: 9.98 ms\n", + "Wall time: 9.97 ms\n" ] }, { "data": { "text/plain": [ - "NashComputationResult(method='logit', rational=False, use_strategic=False, equilibria=[[[[1.0, 0.0], [0.333859274697877, 0.6661407253531737]], [[0.6670586236711866, 0.3329413763565089]]]], parameters={'first_step': 0.03, 'max_accel': 1.1})" + "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": 39, @@ -2327,14 +2327,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 17.1 ms, sys: 317 μs, total: 17.4 ms\n", - "Wall time: 17.4 ms\n" + "CPU times: user 18.9 ms, sys: 166 μs, total: 19 ms\n", + "Wall time: 19 ms\n" ] }, { "data": { "text/plain": [ - "NashComputationResult(method='logit', rational=False, use_strategic=False, equilibria=[[[[1.0, 0.0], [0.3333333839812253, 0.6666666160187746]], [[0.6666667046525624, 0.33333329534743755]]]], parameters={'first_step': 0.03, 'max_accel': 1.1})" + "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": 40, @@ -2366,7 +2366,7 @@ { "data": { "text/plain": [ - "0.03211100728219732" + "0.036578041721892926" ] }, "execution_count": 41, @@ -2398,7 +2398,7 @@ { "data": { "text/plain": [ - "0.03211100728219732" + "0.036578041721892926" ] }, "execution_count": 42, diff --git a/doc/tutorials/interoperability_tutorials/openspiel.ipynb b/doc/tutorials/interoperability_tutorials/openspiel.ipynb index f1862e0d7..91ba85101 100644 --- a/doc/tutorials/interoperability_tutorials/openspiel.ipynb +++ b/doc/tutorials/interoperability_tutorials/openspiel.ipynb @@ -705,7 +705,27 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 21, + "id": "19332f47-6c9d-447f-8f56-4cf728c5e1a2", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Node(game=Game(title='tiny_hanabi()'), label='p0:d0')\n", + "Node(game=Game(title='tiny_hanabi()'), label='p0:d1')\n" + ] + } + ], + "source": [ + "for node in gbt_hanabi_game.root.children:\n", + " print(node)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, "id": "b913fc7a", "metadata": {}, "outputs": [ @@ -794,21 +814,6 @@ "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", "\n", "\n", "\n", @@ -825,21 +830,6 @@ "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", "\n", "\n", "\n", @@ -1167,34 +1157,19 @@ "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", "\n", "\n", "\n", @@ -1520,34 +1495,19 @@ "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", "\n", "\n", "\n", @@ -1564,21 +1524,6 @@ "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", "\n", "\n", "\n", @@ -1902,34 +1847,19 @@ "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", + "\n", "\n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", + "\n", "\n", "\n", "\n", @@ -2301,7 +2231,7 @@ "" ] }, - "execution_count": 42, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -2328,7 +2258,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 23, "id": "1ec19b1c", "metadata": {}, "outputs": [ @@ -2341,7 +2271,7 @@ "[[Rational(0, 1), Rational(0, 1), Rational(1, 1)], [Rational(0, 1), Rational(1, 1), Rational(0, 1)]]" ] }, - "execution_count": 22, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -2360,7 +2290,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 24, "id": "ae9fc7a7", "metadata": {}, "outputs": [ @@ -2393,7 +2323,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 25, "id": "8528e1bd", "metadata": {}, "outputs": [ @@ -2406,7 +2336,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": 24, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -2417,7 +2347,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 26, "id": "2965aed0", "metadata": {}, "outputs": [ @@ -2458,7 +2388,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 27, "id": "4e72c924", "metadata": {}, "outputs": [], @@ -2485,7 +2415,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 28, "id": "53547263", "metadata": {}, "outputs": [ @@ -2528,7 +2458,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 29, "id": "d71bc733", "metadata": {}, "outputs": [ @@ -2537,14 +2467,14 @@ "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", - "Rewards: [8.0, 8.0]\n" + "p0:d0 p1:d0 p0:a2 p1:a0\n", + "Rewards: [10.0, 10.0]\n" ] } ], @@ -2590,7 +2520,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 30, "id": "77dc34c8", "metadata": {}, "outputs": [], @@ -2662,7 +2592,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 31, "id": "ed920d33-b7c6-4cc1-b055-7244a5bf42d8", "metadata": {}, "outputs": [ @@ -2995,7 +2925,7 @@ "" ] }, - "execution_count": 30, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -3014,7 +2944,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 32, "id": "07340e32", "metadata": {}, "outputs": [ @@ -3024,7 +2954,7 @@ "efg_game()" ] }, - "execution_count": 31, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -3046,7 +2976,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 33, "id": "c01c4d6f", "metadata": {}, "outputs": [ @@ -3056,7 +2986,7 @@ "3" ] }, - "execution_count": 32, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -3077,7 +3007,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 34, "id": "3b9cc43b", "metadata": {}, "outputs": [ @@ -3087,7 +3017,7 @@ "0: Chance: 1 King 0.5 Queen 0.5" ] }, - "execution_count": 33, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } @@ -3099,7 +3029,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 35, "id": "e23df723", "metadata": {}, "outputs": [ @@ -3109,7 +3039,7 @@ "[0, 1]" ] }, - "execution_count": 34, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -3128,7 +3058,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 36, "id": "4dd5d504", "metadata": {}, "outputs": [ @@ -3138,7 +3068,7 @@ "1: Player: 1 1 Bet Fold" ] }, - "execution_count": 35, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } @@ -3150,7 +3080,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 37, "id": "be557706", "metadata": {}, "outputs": [ @@ -3160,7 +3090,7 @@ "[0, 1]" ] }, - "execution_count": 36, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } @@ -3180,7 +3110,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 38, "id": "bd15369f", "metadata": {}, "outputs": [ @@ -3190,7 +3120,7 @@ "3: Player: 2 1 Call Fold" ] }, - "execution_count": 37, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } @@ -3210,7 +3140,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 39, "id": "8d81ff6b", "metadata": {}, "outputs": [ @@ -3220,7 +3150,7 @@ "[1, 2]" ] }, - "execution_count": 38, + "execution_count": 39, "metadata": {}, "output_type": "execute_result" } @@ -3240,7 +3170,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 40, "id": "97913fe5", "metadata": {}, "outputs": [ @@ -3250,7 +3180,7 @@ "6: Terminal: Win 1 -1" ] }, - "execution_count": 39, + "execution_count": 40, "metadata": {}, "output_type": "execute_result" } From fe6230a5eb105ac22f7f42ac98c46220ce97f268 Mon Sep 17 00:00:00 2001 From: Ed Chalstrey Date: Wed, 7 Jan 2026 12:09:39 +0000 Subject: [PATCH 7/7] remove cell added by mistake --- .../openspiel.ipynb | 20 ------------------- 1 file changed, 20 deletions(-) diff --git a/doc/tutorials/interoperability_tutorials/openspiel.ipynb b/doc/tutorials/interoperability_tutorials/openspiel.ipynb index 91ba85101..8863e5e37 100644 --- a/doc/tutorials/interoperability_tutorials/openspiel.ipynb +++ b/doc/tutorials/interoperability_tutorials/openspiel.ipynb @@ -703,26 +703,6 @@ "eqm = gbt.nash.lcp_solve(gbt_hanabi_game).equilibria[0]" ] }, - { - "cell_type": "code", - "execution_count": 21, - "id": "19332f47-6c9d-447f-8f56-4cf728c5e1a2", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Node(game=Game(title='tiny_hanabi()'), label='p0:d0')\n", - "Node(game=Game(title='tiny_hanabi()'), label='p0:d1')\n" - ] - } - ], - "source": [ - "for node in gbt_hanabi_game.root.children:\n", - " print(node)" - ] - }, { "cell_type": "code", "execution_count": 22,