diff --git a/notebooks/Agent-Close-Following.ipynb b/notebooks/Agent-Close-Following.ipynb index 3fb4ed51644e01c7f971e13b88839625de25a46a..f21b9ef602c3d072f8f0e7140861851a3dc9d345 100644 --- a/notebooks/Agent-Close-Following.ipynb +++ b/notebooks/Agent-Close-Following.ipynb @@ -54,9 +54,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "<style>.container { width:95% !important; }</style>" + ], + "text/plain": [ + "<IPython.core.display.HTML object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "%load_ext autoreload\n", "%autoreload 2\n", @@ -66,7 +79,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -80,7 +93,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ @@ -106,9 +119,17 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "<class 'graphviz.files.Source'>\n" + ] + } + ], "source": [ "omc = ac.MotionCheck()\n", "ac.create_test_agents2(omc)\n", @@ -132,7 +153,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -141,9 +162,675 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/svg+xml": [ + "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n", + "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n", + " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n", + "<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n", + " -->\n", + "<!-- Pages: 1 -->\n", + "<svg width=\"537pt\" height=\"1136pt\"\n", + " viewBox=\"0.00 0.00 537.14 1136.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n", + "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 1132)\">\n", + "<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-1132 533.1419,-1132 533.1419,4 -4,4\"/>\n", + "<!-- (1, 0) -->\n", + "<g id=\"node1\" class=\"node\">\n", + "<title>(1, 0)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"82.5473\" cy=\"-48\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"82.5473\" y=\"-44.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 0)</text>\n", + "<text text-anchor=\"middle\" x=\"30.5\" y=\"-18.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">stopped</text>\n", + "<text text-anchor=\"middle\" x=\"30.5\" y=\"-3.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">chain</text>\n", + "</g>\n", + "<!-- (1, 1) -->\n", + "<g id=\"node2\" class=\"node\">\n", + "<title>(1, 1)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"187.5473\" cy=\"-48\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"187.5473\" y=\"-44.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 1)</text>\n", + "</g>\n", + "<!-- (1, 0)->(1, 1) -->\n", + "<g id=\"edge1\" class=\"edge\">\n", + "<title>(1, 0)->(1, 1)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M113.1999,-48C123.5669,-48 135.3172,-48 146.3654,-48\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"146.6748,-51.5001 156.6748,-48 146.6748,-44.5001 146.6748,-51.5001\"/>\n", + "</g>\n", + "<!-- (1, 2) -->\n", + "<g id=\"node3\" class=\"node\">\n", + "<title>(1, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"292.5473\" cy=\"-48\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"292.5473\" y=\"-44.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 2)</text>\n", + "</g>\n", + "<!-- (1, 1)->(1, 2) -->\n", + "<g id=\"edge2\" class=\"edge\">\n", + "<title>(1, 1)->(1, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M218.1999,-48C228.5669,-48 240.3172,-48 251.3654,-48\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"251.6748,-51.5001 261.6748,-48 251.6748,-44.5001 251.6748,-51.5001\"/>\n", + "</g>\n", + "<!-- (1, 3) -->\n", + "<g id=\"node4\" class=\"node\">\n", + "<title>(1, 3)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"397.5473\" cy=\"-48\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"397.5473\" y=\"-44.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 3)</text>\n", + "</g>\n", + "<!-- (1, 2)->(1, 3) -->\n", + "<g id=\"edge3\" class=\"edge\">\n", + "<title>(1, 2)->(1, 3)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M323.1999,-48C333.5669,-48 345.3172,-48 356.3654,-48\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"356.6748,-51.5001 366.6748,-48 356.6748,-44.5001 356.6748,-51.5001\"/>\n", + "</g>\n", + "<!-- (1, 3)->(1, 3) -->\n", + "<g id=\"edge4\" class=\"edge\">\n", + "<title>(1, 3)->(1, 3)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M380.6283,-63.1666C375.5014,-73.6641 381.141,-84 397.5473,-84 408.5702,-84 414.733,-79.3342 416.0355,-73.0884\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"419.4855,-72.497 414.4662,-63.1666 412.5715,-73.5906 419.4855,-72.497\"/>\n", + "</g>\n", + "<!-- (2, 0) -->\n", + "<g id=\"node5\" class=\"node\">\n", + "<title>(2, 0)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"82.5473\" cy=\"-120\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"82.5473\" y=\"-116.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(2, 0)</text>\n", + "<text text-anchor=\"middle\" x=\"30.5\" y=\"-90.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">running</text>\n", + "<text text-anchor=\"middle\" x=\"30.5\" y=\"-75.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">chain</text>\n", + "</g>\n", + "<!-- (2, 1) -->\n", + "<g id=\"node6\" class=\"node\">\n", + "<title>(2, 1)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"187.5473\" cy=\"-120\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"187.5473\" y=\"-116.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(2, 1)</text>\n", + "</g>\n", + "<!-- (2, 0)->(2, 1) -->\n", + "<g id=\"edge5\" class=\"edge\">\n", + "<title>(2, 0)->(2, 1)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M113.1999,-120C123.5669,-120 135.3172,-120 146.3654,-120\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"146.6748,-123.5001 156.6748,-120 146.6748,-116.5001 146.6748,-123.5001\"/>\n", + "</g>\n", + "<!-- (2, 2) -->\n", + "<g id=\"node7\" class=\"node\">\n", + "<title>(2, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"292.5473\" cy=\"-120\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"292.5473\" y=\"-116.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(2, 2)</text>\n", + "</g>\n", + "<!-- (2, 1)->(2, 2) -->\n", + "<g id=\"edge6\" class=\"edge\">\n", + "<title>(2, 1)->(2, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M218.1999,-120C228.5669,-120 240.3172,-120 251.3654,-120\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"251.6748,-123.5001 261.6748,-120 251.6748,-116.5001 251.6748,-123.5001\"/>\n", + "</g>\n", + "<!-- (2, 3) -->\n", + "<g id=\"node8\" class=\"node\">\n", + "<title>(2, 3)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"397.5473\" cy=\"-120\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"397.5473\" y=\"-116.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(2, 3)</text>\n", + "</g>\n", + "<!-- (2, 2)->(2, 3) -->\n", + "<g id=\"edge7\" class=\"edge\">\n", + "<title>(2, 2)->(2, 3)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M323.1999,-120C333.5669,-120 345.3172,-120 356.3654,-120\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"356.6748,-123.5001 366.6748,-120 356.6748,-116.5001 356.6748,-123.5001\"/>\n", + "</g>\n", + "<!-- (2, 4) -->\n", + "<g id=\"node9\" class=\"node\">\n", + "<title>(2, 4)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"498.5946\" cy=\"-120\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"498.5946\" y=\"-116.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(2, 4)</text>\n", + "</g>\n", + "<!-- (2, 3)->(2, 4) -->\n", + "<g id=\"edge8\" class=\"edge\">\n", + "<title>(2, 3)->(2, 4)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M428.139,-120C437.4512,-120 447.8392,-120 457.7164,-120\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"457.7581,-123.5001 467.7581,-120 457.7581,-116.5001 457.7581,-123.5001\"/>\n", + "</g>\n", + "<!-- (3, 0) -->\n", + "<g id=\"node10\" class=\"node\">\n", + "<title>(3, 0)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"82.5473\" cy=\"-174\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"82.5473\" y=\"-170.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(3, 0)</text>\n", + "<text text-anchor=\"middle\" x=\"29\" y=\"-144.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">stopped </text>\n", + "<text text-anchor=\"middle\" x=\"29\" y=\"-129.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">short</text>\n", + "<text text-anchor=\"middle\" x=\"29\" y=\"-114.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\"> chain</text>\n", + "</g>\n", + "<!-- (3, 1) -->\n", + "<g id=\"node11\" class=\"node\">\n", + "<title>(3, 1)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"187.5473\" cy=\"-174\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"187.5473\" y=\"-170.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(3, 1)</text>\n", + "</g>\n", + "<!-- (3, 0)->(3, 1) -->\n", + "<g id=\"edge9\" class=\"edge\">\n", + "<title>(3, 0)->(3, 1)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M113.1999,-174C123.5669,-174 135.3172,-174 146.3654,-174\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"146.6748,-177.5001 156.6748,-174 146.6748,-170.5001 146.6748,-177.5001\"/>\n", + "</g>\n", + "<!-- (3, 1)->(3, 1) -->\n", + "<g id=\"edge10\" class=\"edge\">\n", + "<title>(3, 1)->(3, 1)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M169.9516,-189.1666C164.6196,-199.6641 170.4848,-210 187.5473,-210 199.0112,-210 205.4204,-205.3342 206.775,-199.0884\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"210.2197,-198.4659 205.143,-189.1666 203.3126,-199.6021 210.2197,-198.4659\"/>\n", + "</g>\n", + "<!-- (4, 1) -->\n", + "<g id=\"node12\" class=\"node\">\n", + "<title>(4, 1)</title>\n", + "<ellipse fill=\"none\" stroke=\"#a020f0\" cx=\"82.5473\" cy=\"-246\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"82.5473\" y=\"-242.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 1)</text>\n", + "<text text-anchor=\"middle\" x=\"38\" y=\"-216.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">swap</text>\n", + "</g>\n", + "<!-- (4, 2) -->\n", + "<g id=\"node13\" class=\"node\">\n", + "<title>(4, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#a020f0\" cx=\"187.5473\" cy=\"-246\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"187.5473\" y=\"-242.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 2)</text>\n", + "</g>\n", + "<!-- (4, 1)->(4, 2) -->\n", + "<g id=\"edge11\" class=\"edge\">\n", + "<title>(4, 1)->(4, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M111.517,-239.8928C122.9934,-239.2218 136.3613,-239.0761 148.6589,-239.4558\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"148.5274,-242.9533 158.6722,-239.8983 148.8365,-235.9602 148.5274,-242.9533\"/>\n", + "</g>\n", + "<!-- (4, 2)->(4, 1) -->\n", + "<g id=\"edge12\" class=\"edge\">\n", + "<title>(4, 2)->(4, 1)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M158.6722,-252.1017C147.2061,-252.7756 133.8405,-252.9241 121.537,-252.5473\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"121.6609,-249.0495 111.517,-252.1072 121.3537,-256.0427 121.6609,-249.0495\"/>\n", + "</g>\n", + "<!-- (5, 1) -->\n", + "<g id=\"node14\" class=\"node\">\n", + "<title>(5, 1)</title>\n", + "<ellipse fill=\"none\" stroke=\"#a020f0\" cx=\"82.5473\" cy=\"-300\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"82.5473\" y=\"-296.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(5, 1)</text>\n", + "<text text-anchor=\"middle\" x=\"37\" y=\"-270.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">chain</text>\n", + "<text text-anchor=\"middle\" x=\"37\" y=\"-255.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">swap</text>\n", + "</g>\n", + "<!-- (5, 2) -->\n", + "<g id=\"node15\" class=\"node\">\n", + "<title>(5, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#a020f0\" cx=\"187.5473\" cy=\"-300\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"187.5473\" y=\"-296.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(5, 2)</text>\n", + "</g>\n", + "<!-- (5, 1)->(5, 2) -->\n", + "<g id=\"edge13\" class=\"edge\">\n", + "<title>(5, 1)->(5, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M113.1999,-300C123.5669,-300 135.3172,-300 146.3654,-300\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"146.6748,-303.5001 156.6748,-300 146.6748,-296.5001 146.6748,-303.5001\"/>\n", + "</g>\n", + "<!-- (5, 3) -->\n", + "<g id=\"node16\" class=\"node\">\n", + "<title>(5, 3)</title>\n", + "<ellipse fill=\"none\" stroke=\"#a020f0\" cx=\"292.5473\" cy=\"-300\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"292.5473\" y=\"-296.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(5, 3)</text>\n", + "</g>\n", + "<!-- (5, 2)->(5, 3) -->\n", + "<g id=\"edge14\" class=\"edge\">\n", + "<title>(5, 2)->(5, 3)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M216.517,-293.8928C227.9934,-293.2218 241.3613,-293.0761 253.6589,-293.4558\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"253.5274,-296.9533 263.6722,-293.8983 253.8365,-289.9602 253.5274,-296.9533\"/>\n", + "</g>\n", + "<!-- (5, 3)->(5, 2) -->\n", + "<g id=\"edge15\" class=\"edge\">\n", + "<title>(5, 3)->(5, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M263.6722,-306.1017C252.2061,-306.7756 238.8405,-306.9241 226.537,-306.5473\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"226.6609,-303.0495 216.517,-306.1072 226.3537,-310.0427 226.6609,-303.0495\"/>\n", + "</g>\n", + "<!-- (6, 1) -->\n", + "<g id=\"node17\" class=\"node\">\n", + "<title>(6, 1)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"82.5473\" cy=\"-354\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"82.5473\" y=\"-350.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(6, 1)</text>\n", + "<text text-anchor=\"middle\" x=\"26\" y=\"-324.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">midchain</text>\n", + "<text text-anchor=\"middle\" x=\"26\" y=\"-309.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">stop</text>\n", + "</g>\n", + "<!-- (6, 2) -->\n", + "<g id=\"node18\" class=\"node\">\n", + "<title>(6, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"187.5473\" cy=\"-354\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"187.5473\" y=\"-350.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(6, 2)</text>\n", + "</g>\n", + "<!-- (6, 1)->(6, 2) -->\n", + "<g id=\"edge16\" class=\"edge\">\n", + "<title>(6, 1)->(6, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M113.1999,-354C123.5669,-354 135.3172,-354 146.3654,-354\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"146.6748,-357.5001 156.6748,-354 146.6748,-350.5001 146.6748,-357.5001\"/>\n", + "</g>\n", + "<!-- (6, 3) -->\n", + "<g id=\"node19\" class=\"node\">\n", + "<title>(6, 3)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"292.5473\" cy=\"-354\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"292.5473\" y=\"-350.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(6, 3)</text>\n", + "</g>\n", + "<!-- (6, 2)->(6, 3) -->\n", + "<g id=\"edge17\" class=\"edge\">\n", + "<title>(6, 2)->(6, 3)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M218.1999,-354C228.5669,-354 240.3172,-354 251.3654,-354\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"251.6748,-357.5001 261.6748,-354 251.6748,-350.5001 251.6748,-357.5001\"/>\n", + "</g>\n", + "<!-- (6, 4) -->\n", + "<g id=\"node20\" class=\"node\">\n", + "<title>(6, 4)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"397.5473\" cy=\"-354\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"397.5473\" y=\"-350.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(6, 4)</text>\n", + "</g>\n", + "<!-- (6, 3)->(6, 4) -->\n", + "<g id=\"edge18\" class=\"edge\">\n", + "<title>(6, 3)->(6, 4)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M323.1999,-354C333.5669,-354 345.3172,-354 356.3654,-354\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"356.6748,-357.5001 366.6748,-354 356.6748,-350.5001 356.6748,-357.5001\"/>\n", + "</g>\n", + "<!-- (6, 4)->(6, 4) -->\n", + "<g id=\"edge19\" class=\"edge\">\n", + "<title>(6, 4)->(6, 4)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M380.6283,-369.1666C375.5014,-379.6641 381.141,-390 397.5473,-390 408.5702,-390 414.733,-385.3342 416.0355,-379.0884\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"419.4855,-378.497 414.4662,-369.1666 412.5715,-379.5906 419.4855,-378.497\"/>\n", + "</g>\n", + "<!-- (6, 5) -->\n", + "<g id=\"node21\" class=\"node\">\n", + "<title>(6, 5)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"82.5473\" cy=\"-408\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"82.5473\" y=\"-404.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(6, 5)</text>\n", + "</g>\n", + "<!-- (6, 6) -->\n", + "<g id=\"node22\" class=\"node\">\n", + "<title>(6, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"187.5473\" cy=\"-408\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"187.5473\" y=\"-404.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(6, 6)</text>\n", + "</g>\n", + "<!-- (6, 5)->(6, 6) -->\n", + "<g id=\"edge20\" class=\"edge\">\n", + "<title>(6, 5)->(6, 6)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M113.1999,-408C123.5669,-408 135.3172,-408 146.3654,-408\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"146.6748,-411.5001 156.6748,-408 146.6748,-404.5001 146.6748,-411.5001\"/>\n", + "</g>\n", + "<!-- (6, 7) -->\n", + "<g id=\"node23\" class=\"node\">\n", + "<title>(6, 7)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"292.5473\" cy=\"-408\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"292.5473\" y=\"-404.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(6, 7)</text>\n", + "</g>\n", + "<!-- (6, 6)->(6, 7) -->\n", + "<g id=\"edge21\" class=\"edge\">\n", + "<title>(6, 6)->(6, 7)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M218.1999,-408C228.5669,-408 240.3172,-408 251.3654,-408\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"251.6748,-411.5001 261.6748,-408 251.6748,-404.5001 251.6748,-411.5001\"/>\n", + "</g>\n", + "<!-- (7, 1) -->\n", + "<g id=\"node24\" class=\"node\">\n", + "<title>(7, 1)</title>\n", + "<ellipse fill=\"none\" stroke=\"#a020f0\" cx=\"82.5473\" cy=\"-516\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"82.5473\" y=\"-512.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(7, 1)</text>\n", + "<text text-anchor=\"middle\" x=\"26\" y=\"-486.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">midchain</text>\n", + "<text text-anchor=\"middle\" x=\"26\" y=\"-471.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">swap</text>\n", + "</g>\n", + "<!-- (7, 2) -->\n", + "<g id=\"node25\" class=\"node\">\n", + "<title>(7, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#a020f0\" cx=\"187.5473\" cy=\"-516\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"187.5473\" y=\"-512.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(7, 2)</text>\n", + "</g>\n", + "<!-- (7, 1)->(7, 2) -->\n", + "<g id=\"edge22\" class=\"edge\">\n", + "<title>(7, 1)->(7, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M113.1999,-516C123.5669,-516 135.3172,-516 146.3654,-516\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"146.6748,-519.5001 156.6748,-516 146.6748,-512.5001 146.6748,-519.5001\"/>\n", + "</g>\n", + "<!-- (7, 3) -->\n", + "<g id=\"node26\" class=\"node\">\n", + "<title>(7, 3)</title>\n", + "<ellipse fill=\"none\" stroke=\"#a020f0\" cx=\"292.5473\" cy=\"-516\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"292.5473\" y=\"-512.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(7, 3)</text>\n", + "</g>\n", + "<!-- (7, 2)->(7, 3) -->\n", + "<g id=\"edge23\" class=\"edge\">\n", + "<title>(7, 2)->(7, 3)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M218.1999,-516C228.5669,-516 240.3172,-516 251.3654,-516\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"251.6748,-519.5001 261.6748,-516 251.6748,-512.5001 251.6748,-519.5001\"/>\n", + "</g>\n", + "<!-- (7, 4) -->\n", + "<g id=\"node27\" class=\"node\">\n", + "<title>(7, 4)</title>\n", + "<ellipse fill=\"none\" stroke=\"#a020f0\" cx=\"397.5473\" cy=\"-516\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"397.5473\" y=\"-512.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(7, 4)</text>\n", + "</g>\n", + "<!-- (7, 3)->(7, 4) -->\n", + "<g id=\"edge24\" class=\"edge\">\n", + "<title>(7, 3)->(7, 4)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M321.517,-509.8928C332.9934,-509.2218 346.3613,-509.0761 358.6589,-509.4558\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"358.5274,-512.9533 368.6722,-509.8983 358.8365,-505.9602 358.5274,-512.9533\"/>\n", + "</g>\n", + "<!-- (7, 4)->(7, 3) -->\n", + "<g id=\"edge25\" class=\"edge\">\n", + "<title>(7, 4)->(7, 3)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M368.6722,-522.1017C357.2061,-522.7756 343.8405,-522.9241 331.537,-522.5473\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"331.6609,-519.0495 321.517,-522.1072 331.3537,-526.0427 331.6609,-519.0495\"/>\n", + "</g>\n", + "<!-- (7, 5) -->\n", + "<g id=\"node28\" class=\"node\">\n", + "<title>(7, 5)</title>\n", + "<ellipse fill=\"none\" stroke=\"#a020f0\" cx=\"292.5473\" cy=\"-462\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"292.5473\" y=\"-458.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(7, 5)</text>\n", + "</g>\n", + "<!-- (7, 5)->(7, 4) -->\n", + "<g id=\"edge26\" class=\"edge\">\n", + "<title>(7, 5)->(7, 4)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M315.59,-473.8505C330.1236,-481.325 349.1103,-491.0896 365.1489,-499.3379\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"363.7019,-502.5295 374.1955,-503.9905 366.9033,-496.3045 363.7019,-502.5295\"/>\n", + "</g>\n", + "<!-- (7, 6) -->\n", + "<g id=\"node29\" class=\"node\">\n", + "<title>(7, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#a020f0\" cx=\"187.5473\" cy=\"-462\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"187.5473\" y=\"-458.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(7, 6)</text>\n", + "</g>\n", + "<!-- (7, 6)->(7, 5) -->\n", + "<g id=\"edge27\" class=\"edge\">\n", + "<title>(7, 6)->(7, 5)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M218.1999,-462C228.5669,-462 240.3172,-462 251.3654,-462\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"251.6748,-465.5001 261.6748,-462 251.6748,-458.5001 251.6748,-465.5001\"/>\n", + "</g>\n", + "<!-- (8, 1) -->\n", + "<g id=\"node30\" class=\"node\">\n", + "<title>(8, 1)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"82.5473\" cy=\"-624\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"82.5473\" y=\"-620.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(8, 1)</text>\n", + "<text text-anchor=\"middle\" x=\"29\" y=\"-594.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">Land on</text>\n", + "<text text-anchor=\"middle\" x=\"29\" y=\"-579.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">Same</text>\n", + "</g>\n", + "<!-- (8, 2) -->\n", + "<g id=\"node31\" class=\"node\">\n", + "<title>(8, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#0000ff\" cx=\"187.5473\" cy=\"-597\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"187.5473\" y=\"-593.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(8, 2)</text>\n", + "</g>\n", + "<!-- (8, 1)->(8, 2) -->\n", + "<g id=\"edge28\" class=\"edge\">\n", + "<title>(8, 1)->(8, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M110.6854,-616.7645C122.5727,-613.7077 136.6012,-610.1004 149.3976,-606.8099\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"150.5183,-610.1357 159.3315,-604.2555 148.7749,-603.3562 150.5183,-610.1357\"/>\n", + "</g>\n", + "<!-- (8, 3) -->\n", + "<g id=\"node32\" class=\"node\">\n", + "<title>(8, 3)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"82.5473\" cy=\"-570\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"82.5473\" y=\"-566.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(8, 3)</text>\n", + "</g>\n", + "<!-- (8, 3)->(8, 2) -->\n", + "<g id=\"edge29\" class=\"edge\">\n", + "<title>(8, 3)->(8, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M110.6854,-577.2355C122.5727,-580.2923 136.6012,-583.8996 149.3976,-587.1901\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"148.7749,-590.6438 159.3315,-589.7445 150.5183,-583.8643 148.7749,-590.6438\"/>\n", + "</g>\n", + "<!-- (9, 1) -->\n", + "<g id=\"node33\" class=\"node\">\n", + "<title>(9, 1)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"82.5473\" cy=\"-732\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"82.5473\" y=\"-728.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(9, 1)</text>\n", + "<text text-anchor=\"middle\" x=\"34.5\" y=\"-702.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">chains</text>\n", + "<text text-anchor=\"middle\" x=\"34.5\" y=\"-687.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">onto</text>\n", + "<text text-anchor=\"middle\" x=\"34.5\" y=\"-672.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">same</text>\n", + "</g>\n", + "<!-- (9, 2) -->\n", + "<g id=\"node34\" class=\"node\">\n", + "<title>(9, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"187.5473\" cy=\"-732\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"187.5473\" y=\"-728.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(9, 2)</text>\n", + "</g>\n", + "<!-- (9, 1)->(9, 2) -->\n", + "<g id=\"edge30\" class=\"edge\">\n", + "<title>(9, 1)->(9, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M113.1999,-732C123.5669,-732 135.3172,-732 146.3654,-732\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"146.6748,-735.5001 156.6748,-732 146.6748,-728.5001 146.6748,-735.5001\"/>\n", + "</g>\n", + "<!-- (9, 3) -->\n", + "<g id=\"node35\" class=\"node\">\n", + "<title>(9, 3)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"292.5473\" cy=\"-732\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"292.5473\" y=\"-728.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(9, 3)</text>\n", + "</g>\n", + "<!-- (9, 2)->(9, 3) -->\n", + "<g id=\"edge31\" class=\"edge\">\n", + "<title>(9, 2)->(9, 3)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M218.1999,-732C228.5669,-732 240.3172,-732 251.3654,-732\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"251.6748,-735.5001 261.6748,-732 251.6748,-728.5001 251.6748,-735.5001\"/>\n", + "</g>\n", + "<!-- (9, 4) -->\n", + "<g id=\"node36\" class=\"node\">\n", + "<title>(9, 4)</title>\n", + "<ellipse fill=\"none\" stroke=\"#0000ff\" cx=\"397.5473\" cy=\"-705\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"397.5473\" y=\"-701.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(9, 4)</text>\n", + "</g>\n", + "<!-- (9, 3)->(9, 4) -->\n", + "<g id=\"edge32\" class=\"edge\">\n", + "<title>(9, 3)->(9, 4)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M320.6854,-724.7645C332.5727,-721.7077 346.6012,-718.1004 359.3976,-714.8099\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"360.5183,-718.1357 369.3315,-712.2555 358.7749,-711.3562 360.5183,-718.1357\"/>\n", + "</g>\n", + "<!-- (9, 5) -->\n", + "<g id=\"node37\" class=\"node\">\n", + "<title>(9, 5)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"292.5473\" cy=\"-678\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"292.5473\" y=\"-674.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(9, 5)</text>\n", + "</g>\n", + "<!-- (9, 5)->(9, 4) -->\n", + "<g id=\"edge33\" class=\"edge\">\n", + "<title>(9, 5)->(9, 4)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M320.6854,-685.2355C332.5727,-688.2923 346.6012,-691.8996 359.3976,-695.1901\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"358.7749,-698.6438 369.3315,-697.7445 360.5183,-691.8643 358.7749,-698.6438\"/>\n", + "</g>\n", + "<!-- (9, 6) -->\n", + "<g id=\"node38\" class=\"node\">\n", + "<title>(9, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"187.5473\" cy=\"-678\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"187.5473\" y=\"-674.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(9, 6)</text>\n", + "</g>\n", + "<!-- (9, 6)->(9, 5) -->\n", + "<g id=\"edge34\" class=\"edge\">\n", + "<title>(9, 6)->(9, 5)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M218.1999,-678C228.5669,-678 240.3172,-678 251.3654,-678\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"251.6748,-681.5001 261.6748,-678 251.6748,-674.5001 251.6748,-681.5001\"/>\n", + "</g>\n", + "<!-- (9, 7) -->\n", + "<g id=\"node39\" class=\"node\">\n", + "<title>(9, 7)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"82.5473\" cy=\"-678\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"82.5473\" y=\"-674.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(9, 7)</text>\n", + "</g>\n", + "<!-- (9, 7)->(9, 6) -->\n", + "<g id=\"edge35\" class=\"edge\">\n", + "<title>(9, 7)->(9, 6)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M113.1999,-678C123.5669,-678 135.3172,-678 146.3654,-678\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"146.6748,-681.5001 156.6748,-678 146.6748,-674.5001 146.6748,-681.5001\"/>\n", + "</g>\n", + "<!-- (10, 1) -->\n", + "<g id=\"node40\" class=\"node\">\n", + "<title>(10, 1)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"82.5473\" cy=\"-894\" rx=\"34.5\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"82.5473\" y=\"-890.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(10, 1)</text>\n", + "<text text-anchor=\"middle\" x=\"31.0473\" y=\"-864.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">3-way</text>\n", + "<text text-anchor=\"middle\" x=\"31.0473\" y=\"-849.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">same</text>\n", + "</g>\n", + "<!-- (10, 2) -->\n", + "<g id=\"node41\" class=\"node\">\n", + "<title>(10, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#0000ff\" cx=\"187.5473\" cy=\"-840\" rx=\"34.5\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"187.5473\" y=\"-836.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(10, 2)</text>\n", + "</g>\n", + "<!-- (10, 1)->(10, 2) -->\n", + "<g id=\"edge36\" class=\"edge\">\n", + "<title>(10, 1)->(10, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M107.1651,-881.3394C121.0194,-874.2143 138.5231,-865.2124 153.657,-857.4293\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"155.4277,-860.4544 162.7199,-852.7684 152.2262,-854.2294 155.4277,-860.4544\"/>\n", + "</g>\n", + "<!-- (10, 3) -->\n", + "<g id=\"node42\" class=\"node\">\n", + "<title>(10, 3)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"82.5473\" cy=\"-840\" rx=\"34.5\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"82.5473\" y=\"-836.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(10, 3)</text>\n", + "</g>\n", + "<!-- (10, 3)->(10, 2) -->\n", + "<g id=\"edge37\" class=\"edge\">\n", + "<title>(10, 3)->(10, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M117.2192,-840C125.373,-840 134.1778,-840 142.707,-840\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"142.9118,-843.5001 152.9118,-840 142.9117,-836.5001 142.9118,-843.5001\"/>\n", + "</g>\n", + "<!-- (11, 2) -->\n", + "<g id=\"node43\" class=\"node\">\n", + "<title>(11, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"82.5473\" cy=\"-786\" rx=\"34.5\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"82.5473\" y=\"-782.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(11, 2)</text>\n", + "</g>\n", + "<!-- (11, 2)->(10, 2) -->\n", + "<g id=\"edge38\" class=\"edge\">\n", + "<title>(11, 2)->(10, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M107.1651,-798.6606C121.0194,-805.7857 138.5231,-814.7876 153.657,-822.5707\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"152.2262,-825.7706 162.7199,-827.2316 155.4277,-819.5456 152.2262,-825.7706\"/>\n", + "</g>\n", + "<!-- (12, 1) -->\n", + "<g id=\"node44\" class=\"node\">\n", + "<title>(12, 1)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"82.5473\" cy=\"-948\" rx=\"34.5\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"82.5473\" y=\"-944.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(12, 1)</text>\n", + "<text text-anchor=\"middle\" x=\"37.5473\" y=\"-918.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">Tee</text>\n", + "</g>\n", + "<!-- (12, 2) -->\n", + "<g id=\"node45\" class=\"node\">\n", + "<title>(12, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"187.5473\" cy=\"-948\" rx=\"34.5\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"187.5473\" y=\"-944.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(12, 2)</text>\n", + "</g>\n", + "<!-- (12, 1)->(12, 2) -->\n", + "<g id=\"edge39\" class=\"edge\">\n", + "<title>(12, 1)->(12, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M117.2192,-948C125.373,-948 134.1778,-948 142.707,-948\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"142.9118,-951.5001 152.9118,-948 142.9117,-944.5001 142.9118,-951.5001\"/>\n", + "</g>\n", + "<!-- (12, 3) -->\n", + "<g id=\"node46\" class=\"node\">\n", + "<title>(12, 3)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff00ff\" cx=\"292.5473\" cy=\"-921\" rx=\"34.5\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"292.5473\" y=\"-917.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(12, 3)</text>\n", + "</g>\n", + "<!-- (12, 2)->(12, 3) -->\n", + "<g id=\"edge40\" class=\"edge\">\n", + "<title>(12, 2)->(12, 3)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M218.7665,-939.9722C229.0413,-937.3301 240.6252,-934.3514 251.5168,-931.5507\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"252.4538,-934.9237 261.2671,-929.0435 250.7105,-928.1442 252.4538,-934.9237\"/>\n", + "</g>\n", + "<!-- (12, 4) -->\n", + "<g id=\"node47\" class=\"node\">\n", + "<title>(12, 4)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"397.5473\" cy=\"-921\" rx=\"34.5\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"397.5473\" y=\"-917.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(12, 4)</text>\n", + "</g>\n", + "<!-- (12, 3)->(12, 4) -->\n", + "<g id=\"edge41\" class=\"edge\">\n", + "<title>(12, 3)->(12, 4)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M327.2192,-921C335.373,-921 344.1778,-921 352.707,-921\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"352.9118,-924.5001 362.9118,-921 352.9117,-917.5001 352.9118,-924.5001\"/>\n", + "</g>\n", + "<!-- (13, 3) -->\n", + "<g id=\"node48\" class=\"node\">\n", + "<title>(13, 3)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"187.5473\" cy=\"-894\" rx=\"34.5\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"187.5473\" y=\"-890.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(13, 3)</text>\n", + "</g>\n", + "<!-- (13, 3)->(12, 3) -->\n", + "<g id=\"edge42\" class=\"edge\">\n", + "<title>(13, 3)->(12, 3)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M218.7665,-902.0278C229.0413,-904.6699 240.6252,-907.6486 251.5168,-910.4493\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"250.7105,-913.8558 261.2671,-912.9565 252.4538,-907.0763 250.7105,-913.8558\"/>\n", + "</g>\n", + "<!-- (14, 1) -->\n", + "<g id=\"node49\" class=\"node\">\n", + "<title>(14, 1)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"82.5473\" cy=\"-1110\" rx=\"34.5\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"82.5473\" y=\"-1106.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(14, 1)</text>\n", + "<text text-anchor=\"middle\" x=\"35.5473\" y=\"-1080.8\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">Tree</text>\n", + "</g>\n", + "<!-- (14, 2) -->\n", + "<g id=\"node50\" class=\"node\">\n", + "<title>(14, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"187.5473\" cy=\"-1110\" rx=\"34.5\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"187.5473\" y=\"-1106.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(14, 2)</text>\n", + "</g>\n", + "<!-- (14, 1)->(14, 2) -->\n", + "<g id=\"edge43\" class=\"edge\">\n", + "<title>(14, 1)->(14, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M117.2192,-1110C125.373,-1110 134.1778,-1110 142.707,-1110\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"142.9118,-1113.5001 152.9118,-1110 142.9117,-1106.5001 142.9118,-1113.5001\"/>\n", + "</g>\n", + "<!-- (14, 3) -->\n", + "<g id=\"node51\" class=\"node\">\n", + "<title>(14, 3)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff00ff\" cx=\"292.5473\" cy=\"-1083\" rx=\"34.5\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"292.5473\" y=\"-1079.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(14, 3)</text>\n", + "</g>\n", + "<!-- (14, 2)->(14, 3) -->\n", + "<g id=\"edge44\" class=\"edge\">\n", + "<title>(14, 2)->(14, 3)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M218.7665,-1101.9722C229.0413,-1099.3301 240.6252,-1096.3514 251.5168,-1093.5507\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"252.4538,-1096.9237 261.2671,-1091.0435 250.7105,-1090.1442 252.4538,-1096.9237\"/>\n", + "</g>\n", + "<!-- (14, 4) -->\n", + "<g id=\"node52\" class=\"node\">\n", + "<title>(14, 4)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"397.5473\" cy=\"-1083\" rx=\"34.5\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"397.5473\" y=\"-1079.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(14, 4)</text>\n", + "</g>\n", + "<!-- (14, 3)->(14, 4) -->\n", + "<g id=\"edge45\" class=\"edge\">\n", + "<title>(14, 3)->(14, 4)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M327.2192,-1083C335.373,-1083 344.1778,-1083 352.707,-1083\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"352.9118,-1086.5001 362.9118,-1083 352.9117,-1079.5001 352.9118,-1086.5001\"/>\n", + "</g>\n", + "<!-- (15, 3) -->\n", + "<g id=\"node53\" class=\"node\">\n", + "<title>(15, 3)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"187.5473\" cy=\"-1056\" rx=\"34.5\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"187.5473\" y=\"-1052.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(15, 3)</text>\n", + "</g>\n", + "<!-- (15, 3)->(14, 3) -->\n", + "<g id=\"edge46\" class=\"edge\">\n", + "<title>(15, 3)->(14, 3)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M218.7665,-1064.0278C229.0413,-1066.6699 240.6252,-1069.6486 251.5168,-1072.4493\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"250.7105,-1075.8558 261.2671,-1074.9565 252.4538,-1069.0763 250.7105,-1075.8558\"/>\n", + "</g>\n", + "<!-- (15, 2) -->\n", + "<g id=\"node54\" class=\"node\">\n", + "<title>(15, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"82.5473\" cy=\"-1056\" rx=\"34.5\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"82.5473\" y=\"-1052.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(15, 2)</text>\n", + "</g>\n", + "<!-- (15, 2)->(15, 3) -->\n", + "<g id=\"edge47\" class=\"edge\">\n", + "<title>(15, 2)->(15, 3)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M117.2192,-1056C125.373,-1056 134.1778,-1056 142.707,-1056\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"142.9118,-1059.5001 152.9118,-1056 142.9117,-1052.5001 142.9118,-1059.5001\"/>\n", + "</g>\n", + "<!-- (16, 2) -->\n", + "<g id=\"node55\" class=\"node\">\n", + "<title>(16, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"82.5473\" cy=\"-1002\" rx=\"34.5\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"82.5473\" y=\"-998.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(16, 2)</text>\n", + "</g>\n", + "<!-- (16, 2)->(15, 3) -->\n", + "<g id=\"edge48\" class=\"edge\">\n", + "<title>(16, 2)->(15, 3)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M107.1651,-1014.6606C121.0194,-1021.7857 138.5231,-1030.7876 153.657,-1038.5707\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"152.2262,-1041.7706 162.7199,-1043.2316 155.4277,-1035.5456 152.2262,-1041.7706\"/>\n", + "</g>\n", + "</g>\n", + "</svg>\n" + ], + "text/plain": [ + "<graphviz.files.Source at 0x7f49b81eccc0>" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "gvDot = ac.render(omc)\n", "gvDot" @@ -151,7 +838,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -161,7 +848,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -170,7 +857,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -182,7 +869,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -191,7 +878,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -208,9 +895,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "77c9e38ec86049b9a2e8479bff0a0877", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Canvas(layout=Layout(height='300px', width='600px'), size=(600, 300))" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "env, envModel = eeu.makeTestEnv(\"merging_spurs\", nAg=10, bUCF=True)\n", "oEC = ju.EnvCanvas(env)\n", @@ -219,11 +921,1604 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": { "scrolled": false }, - "outputs": [], + "outputs": [ + { + "data": { + "text/html": [ + "<br>Step: 0\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/svg+xml": [ + "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n", + "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n", + " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n", + "<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n", + " -->\n", + "<!-- Pages: 1 -->\n", + "<svg width=\"830pt\" height=\"116pt\"\n", + " viewBox=\"0.00 0.00 830.29 116.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n", + "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 112)\">\n", + "<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-112 826.2941,-112 826.2941,4 -4,4\"/>\n", + "<!-- (-1, 0) -->\n", + "<g id=\"node1\" class=\"node\">\n", + "<title>(-1, 0)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"33.1471\" cy=\"-90\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"33.1471\" y=\"-86.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 0)</text>\n", + "</g>\n", + "<!-- (1, 2) -->\n", + "<g id=\"node2\" class=\"node\">\n", + "<title>(1, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#0000ff\" cx=\"201.1471\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"201.1471\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 2)</text>\n", + "</g>\n", + "<!-- (-1, 0)->(1, 2) -->\n", + "<g id=\"edge1\" class=\"edge\">\n", + "<title>(-1, 0)->(1, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M59.3971,-78.75C88.3342,-66.3484 134.9933,-46.3516 166.8141,-32.7141\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"168.3644,-35.8576 176.1772,-28.7014 165.607,-29.4236 168.3644,-35.8576\"/>\n", + "</g>\n", + "<!-- (-1, 1) -->\n", + "<g id=\"node3\" class=\"node\">\n", + "<title>(-1, 1)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"453.1471\" cy=\"-90\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"453.1471\" y=\"-86.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 1)</text>\n", + "</g>\n", + "<!-- (4, 2) -->\n", + "<g id=\"node4\" class=\"node\">\n", + "<title>(4, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#0000ff\" cx=\"621.1471\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"621.1471\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 2)</text>\n", + "</g>\n", + "<!-- (-1, 1)->(4, 2) -->\n", + "<g id=\"edge2\" class=\"edge\">\n", + "<title>(-1, 1)->(4, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M479.3971,-78.75C508.3342,-66.3484 554.9933,-46.3516 586.8141,-32.7141\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"588.3644,-35.8576 596.1772,-28.7014 585.607,-29.4236 588.3644,-35.8576\"/>\n", + "</g>\n", + "<!-- (-1, 2) -->\n", + "<g id=\"node5\" class=\"node\">\n", + "<title>(-1, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"117.1471\" cy=\"-90\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"117.1471\" y=\"-86.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 2)</text>\n", + "</g>\n", + "<!-- (-1, 2)->(1, 2) -->\n", + "<g id=\"edge3\" class=\"edge\">\n", + "<title>(-1, 2)->(1, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M134.9613,-74.7307C146.8461,-64.5437 162.6502,-50.9973 175.8345,-39.6965\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"178.3317,-42.1658 183.6465,-33.0004 173.7762,-36.851 178.3317,-42.1658\"/>\n", + "</g>\n", + "<!-- (-1, 3) -->\n", + "<g id=\"node6\" class=\"node\">\n", + "<title>(-1, 3)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"537.1471\" cy=\"-90\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"537.1471\" y=\"-86.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 3)</text>\n", + "</g>\n", + "<!-- (-1, 3)->(4, 2) -->\n", + "<g id=\"edge4\" class=\"edge\">\n", + "<title>(-1, 3)->(4, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M554.9613,-74.7307C566.8461,-64.5437 582.6502,-50.9973 595.8345,-39.6965\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"598.3317,-42.1658 603.6465,-33.0004 593.7762,-36.851 598.3317,-42.1658\"/>\n", + "</g>\n", + "<!-- (-1, 4) -->\n", + "<g id=\"node7\" class=\"node\">\n", + "<title>(-1, 4)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"201.1471\" cy=\"-90\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"201.1471\" y=\"-86.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 4)</text>\n", + "</g>\n", + "<!-- (-1, 4)->(1, 2) -->\n", + "<g id=\"edge5\" class=\"edge\">\n", + "<title>(-1, 4)->(1, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M201.1471,-71.8314C201.1471,-64.131 201.1471,-54.9743 201.1471,-46.4166\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"204.6472,-46.4132 201.1471,-36.4133 197.6472,-46.4133 204.6472,-46.4132\"/>\n", + "</g>\n", + "<!-- (-1, 5) -->\n", + "<g id=\"node8\" class=\"node\">\n", + "<title>(-1, 5)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"621.1471\" cy=\"-90\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"621.1471\" y=\"-86.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 5)</text>\n", + "</g>\n", + "<!-- (-1, 5)->(4, 2) -->\n", + "<g id=\"edge6\" class=\"edge\">\n", + "<title>(-1, 5)->(4, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M621.1471,-71.8314C621.1471,-64.131 621.1471,-54.9743 621.1471,-46.4166\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"624.6472,-46.4132 621.1471,-36.4133 617.6472,-46.4133 624.6472,-46.4132\"/>\n", + "</g>\n", + "<!-- (-1, 6) -->\n", + "<g id=\"node9\" class=\"node\">\n", + "<title>(-1, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"285.1471\" cy=\"-90\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"285.1471\" y=\"-86.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 6)</text>\n", + "</g>\n", + "<!-- (-1, 6)->(1, 2) -->\n", + "<g id=\"edge7\" class=\"edge\">\n", + "<title>(-1, 6)->(1, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M267.3328,-74.7307C255.4481,-64.5437 239.6439,-50.9973 226.4596,-39.6965\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"228.518,-36.851 218.6476,-33.0004 223.9624,-42.1658 228.518,-36.851\"/>\n", + "</g>\n", + "<!-- (-1, 7) -->\n", + "<g id=\"node10\" class=\"node\">\n", + "<title>(-1, 7)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"705.1471\" cy=\"-90\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"705.1471\" y=\"-86.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 7)</text>\n", + "</g>\n", + "<!-- (-1, 7)->(4, 2) -->\n", + "<g id=\"edge8\" class=\"edge\">\n", + "<title>(-1, 7)->(4, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M687.3328,-74.7307C675.4481,-64.5437 659.6439,-50.9973 646.4596,-39.6965\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"648.518,-36.851 638.6476,-33.0004 643.9624,-42.1658 648.518,-36.851\"/>\n", + "</g>\n", + "<!-- (-1, 8) -->\n", + "<g id=\"node11\" class=\"node\">\n", + "<title>(-1, 8)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"369.1471\" cy=\"-90\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"369.1471\" y=\"-86.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 8)</text>\n", + "</g>\n", + "<!-- (-1, 8)->(1, 2) -->\n", + "<g id=\"edge9\" class=\"edge\">\n", + "<title>(-1, 8)->(1, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M342.8971,-78.75C313.9599,-66.3484 267.3008,-46.3516 235.48,-32.7141\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"236.6871,-29.4236 226.1169,-28.7014 233.9297,-35.8576 236.6871,-29.4236\"/>\n", + "</g>\n", + "<!-- (-1, 9) -->\n", + "<g id=\"node12\" class=\"node\">\n", + "<title>(-1, 9)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"789.1471\" cy=\"-90\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"789.1471\" y=\"-86.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 9)</text>\n", + "</g>\n", + "<!-- (-1, 9)->(4, 2) -->\n", + "<g id=\"edge10\" class=\"edge\">\n", + "<title>(-1, 9)->(4, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M762.8971,-78.75C733.9599,-66.3484 687.3008,-46.3516 655.48,-32.7141\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"656.6871,-29.4236 646.1169,-28.7014 653.9297,-35.8576 656.6871,-29.4236\"/>\n", + "</g>\n", + "</g>\n", + "</svg>\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<br>Step: 1\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/svg+xml": [ + "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n", + "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n", + " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n", + "<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n", + " -->\n", + "<!-- Pages: 1 -->\n", + "<svg width=\"662pt\" height=\"188pt\"\n", + " viewBox=\"0.00 0.00 662.29 188.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n", + "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 184)\">\n", + "<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-184 658.2941,-184 658.2941,4 -4,4\"/>\n", + "<!-- (1, 2) -->\n", + "<g id=\"node1\" class=\"node\">\n", + "<title>(1, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff00ff\" cx=\"159.1471\" cy=\"-90\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"159.1471\" y=\"-86.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 2)</text>\n", + "</g>\n", + "<!-- (1, 3) -->\n", + "<g id=\"node2\" class=\"node\">\n", + "<title>(1, 3)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"159.1471\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"159.1471\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 3)</text>\n", + "</g>\n", + "<!-- (1, 2)->(1, 3) -->\n", + "<g id=\"edge1\" class=\"edge\">\n", + "<title>(1, 2)->(1, 3)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M159.1471,-71.8314C159.1471,-64.131 159.1471,-54.9743 159.1471,-46.4166\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"162.6472,-46.4132 159.1471,-36.4133 155.6472,-46.4133 162.6472,-46.4132\"/>\n", + "</g>\n", + "<!-- (4, 2) -->\n", + "<g id=\"node3\" class=\"node\">\n", + "<title>(4, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff00ff\" cx=\"495.1471\" cy=\"-90\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"495.1471\" y=\"-86.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 2)</text>\n", + "</g>\n", + "<!-- (4, 3) -->\n", + "<g id=\"node4\" class=\"node\">\n", + "<title>(4, 3)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"495.1471\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"495.1471\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 3)</text>\n", + "</g>\n", + "<!-- (4, 2)->(4, 3) -->\n", + "<g id=\"edge2\" class=\"edge\">\n", + "<title>(4, 2)->(4, 3)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M495.1471,-71.8314C495.1471,-64.131 495.1471,-54.9743 495.1471,-46.4166\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"498.6472,-46.4132 495.1471,-36.4133 491.6472,-46.4133 498.6472,-46.4132\"/>\n", + "</g>\n", + "<!-- (-1, 2) -->\n", + "<g id=\"node5\" class=\"node\">\n", + "<title>(-1, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"33.1471\" cy=\"-162\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"33.1471\" y=\"-158.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 2)</text>\n", + "</g>\n", + "<!-- (-1, 2)->(1, 2) -->\n", + "<g id=\"edge3\" class=\"edge\">\n", + "<title>(-1, 2)->(1, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M56.2574,-148.7941C76.4886,-137.2334 106.0432,-120.3451 128.2917,-107.6316\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"130.0823,-110.6396 137.0283,-102.6393 126.6093,-104.5619 130.0823,-110.6396\"/>\n", + "</g>\n", + "<!-- (-1, 3) -->\n", + "<g id=\"node6\" class=\"node\">\n", + "<title>(-1, 3)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"369.1471\" cy=\"-162\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"369.1471\" y=\"-158.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 3)</text>\n", + "</g>\n", + "<!-- (-1, 3)->(4, 2) -->\n", + "<g id=\"edge4\" class=\"edge\">\n", + "<title>(-1, 3)->(4, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M392.2574,-148.7941C412.4886,-137.2334 442.0432,-120.3451 464.2917,-107.6316\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"466.0823,-110.6396 473.0283,-102.6393 462.6093,-104.5619 466.0823,-110.6396\"/>\n", + "</g>\n", + "<!-- (-1, 4) -->\n", + "<g id=\"node7\" class=\"node\">\n", + "<title>(-1, 4)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"117.1471\" cy=\"-162\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"117.1471\" y=\"-158.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 4)</text>\n", + "</g>\n", + "<!-- (-1, 4)->(1, 2) -->\n", + "<g id=\"edge5\" class=\"edge\">\n", + "<title>(-1, 4)->(1, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M127.3141,-144.5708C132.3183,-135.9922 138.4526,-125.4762 143.996,-115.9732\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"147.0581,-117.6701 149.0737,-107.2687 141.0117,-114.1429 147.0581,-117.6701\"/>\n", + "</g>\n", + "<!-- (-1, 5) -->\n", + "<g id=\"node8\" class=\"node\">\n", + "<title>(-1, 5)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"453.1471\" cy=\"-162\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"453.1471\" y=\"-158.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 5)</text>\n", + "</g>\n", + "<!-- (-1, 5)->(4, 2) -->\n", + "<g id=\"edge6\" class=\"edge\">\n", + "<title>(-1, 5)->(4, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M463.3141,-144.5708C468.3183,-135.9922 474.4526,-125.4762 479.996,-115.9732\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"483.0581,-117.6701 485.0737,-107.2687 477.0117,-114.1429 483.0581,-117.6701\"/>\n", + "</g>\n", + "<!-- (-1, 6) -->\n", + "<g id=\"node9\" class=\"node\">\n", + "<title>(-1, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"201.1471\" cy=\"-162\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"201.1471\" y=\"-158.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 6)</text>\n", + "</g>\n", + "<!-- (-1, 6)->(1, 2) -->\n", + "<g id=\"edge7\" class=\"edge\">\n", + "<title>(-1, 6)->(1, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M190.98,-144.5708C185.9759,-135.9922 179.8415,-125.4762 174.2981,-115.9732\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"177.2824,-114.1429 169.2205,-107.2687 171.236,-117.6701 177.2824,-114.1429\"/>\n", + "</g>\n", + "<!-- (-1, 7) -->\n", + "<g id=\"node10\" class=\"node\">\n", + "<title>(-1, 7)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"537.1471\" cy=\"-162\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"537.1471\" y=\"-158.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 7)</text>\n", + "</g>\n", + "<!-- (-1, 7)->(4, 2) -->\n", + "<g id=\"edge8\" class=\"edge\">\n", + "<title>(-1, 7)->(4, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M526.98,-144.5708C521.9759,-135.9922 515.8415,-125.4762 510.2981,-115.9732\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"513.2824,-114.1429 505.2205,-107.2687 507.236,-117.6701 513.2824,-114.1429\"/>\n", + "</g>\n", + "<!-- (-1, 8) -->\n", + "<g id=\"node11\" class=\"node\">\n", + "<title>(-1, 8)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"285.1471\" cy=\"-162\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"285.1471\" y=\"-158.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 8)</text>\n", + "</g>\n", + "<!-- (-1, 8)->(1, 2) -->\n", + "<g id=\"edge9\" class=\"edge\">\n", + "<title>(-1, 8)->(1, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M262.0367,-148.7941C241.8055,-137.2334 212.251,-120.3451 190.0024,-107.6316\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"191.6848,-104.5619 181.2658,-102.6393 188.2118,-110.6396 191.6848,-104.5619\"/>\n", + "</g>\n", + "<!-- (-1, 9) -->\n", + "<g id=\"node12\" class=\"node\">\n", + "<title>(-1, 9)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"621.1471\" cy=\"-162\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"621.1471\" y=\"-158.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 9)</text>\n", + "</g>\n", + "<!-- (-1, 9)->(4, 2) -->\n", + "<g id=\"edge10\" class=\"edge\">\n", + "<title>(-1, 9)->(4, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M598.0367,-148.7941C577.8055,-137.2334 548.251,-120.3451 526.0024,-107.6316\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"527.6848,-104.5619 517.2658,-102.6393 524.2118,-110.6396 527.6848,-104.5619\"/>\n", + "</g>\n", + "</g>\n", + "</svg>\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<br>Step: 2\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/svg+xml": [ + "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n", + "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n", + " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n", + "<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n", + " -->\n", + "<!-- Pages: 1 -->\n", + "<svg width=\"494pt\" height=\"260pt\"\n", + " viewBox=\"0.00 0.00 494.29 260.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n", + "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 256)\">\n", + "<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-256 490.2941,-256 490.2941,4 -4,4\"/>\n", + "<!-- (1, 3) -->\n", + "<g id=\"node1\" class=\"node\">\n", + "<title>(1, 3)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"117.1471\" cy=\"-90\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"117.1471\" y=\"-86.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 3)</text>\n", + "</g>\n", + "<!-- (1, 4) -->\n", + "<g id=\"node2\" class=\"node\">\n", + "<title>(1, 4)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"117.1471\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"117.1471\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 4)</text>\n", + "</g>\n", + "<!-- (1, 3)->(1, 4) -->\n", + "<g id=\"edge1\" class=\"edge\">\n", + "<title>(1, 3)->(1, 4)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M117.1471,-71.8314C117.1471,-64.131 117.1471,-54.9743 117.1471,-46.4166\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"120.6472,-46.4132 117.1471,-36.4133 113.6472,-46.4133 120.6472,-46.4132\"/>\n", + "</g>\n", + "<!-- (4, 3) -->\n", + "<g id=\"node3\" class=\"node\">\n", + "<title>(4, 3)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"369.1471\" cy=\"-90\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"369.1471\" y=\"-86.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 3)</text>\n", + "</g>\n", + "<!-- (4, 4) -->\n", + "<g id=\"node4\" class=\"node\">\n", + "<title>(4, 4)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"369.1471\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"369.1471\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 4)</text>\n", + "</g>\n", + "<!-- (4, 3)->(4, 4) -->\n", + "<g id=\"edge2\" class=\"edge\">\n", + "<title>(4, 3)->(4, 4)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M369.1471,-71.8314C369.1471,-64.131 369.1471,-54.9743 369.1471,-46.4166\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"372.6472,-46.4132 369.1471,-36.4133 365.6472,-46.4133 372.6472,-46.4132\"/>\n", + "</g>\n", + "<!-- (1, 2) -->\n", + "<g id=\"node5\" class=\"node\">\n", + "<title>(1, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff00ff\" cx=\"117.1471\" cy=\"-162\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"117.1471\" y=\"-158.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 2)</text>\n", + "</g>\n", + "<!-- (1, 2)->(1, 3) -->\n", + "<g id=\"edge3\" class=\"edge\">\n", + "<title>(1, 2)->(1, 3)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M117.1471,-143.8314C117.1471,-136.131 117.1471,-126.9743 117.1471,-118.4166\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"120.6472,-118.4132 117.1471,-108.4133 113.6472,-118.4133 120.6472,-118.4132\"/>\n", + "</g>\n", + "<!-- (4, 2) -->\n", + "<g id=\"node6\" class=\"node\">\n", + "<title>(4, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff00ff\" cx=\"369.1471\" cy=\"-162\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"369.1471\" y=\"-158.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 2)</text>\n", + "</g>\n", + "<!-- (4, 2)->(4, 3) -->\n", + "<g id=\"edge4\" class=\"edge\">\n", + "<title>(4, 2)->(4, 3)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M369.1471,-143.8314C369.1471,-136.131 369.1471,-126.9743 369.1471,-118.4166\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"372.6472,-118.4132 369.1471,-108.4133 365.6472,-118.4133 372.6472,-118.4132\"/>\n", + "</g>\n", + "<!-- (-1, 4) -->\n", + "<g id=\"node7\" class=\"node\">\n", + "<title>(-1, 4)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"33.1471\" cy=\"-234\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"33.1471\" y=\"-230.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 4)</text>\n", + "</g>\n", + "<!-- (-1, 4)->(1, 2) -->\n", + "<g id=\"edge5\" class=\"edge\">\n", + "<title>(-1, 4)->(1, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M50.9613,-218.7307C62.8461,-208.5437 78.6502,-194.9973 91.8345,-183.6965\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"94.3317,-186.1658 99.6465,-177.0004 89.7762,-180.851 94.3317,-186.1658\"/>\n", + "</g>\n", + "<!-- (-1, 5) -->\n", + "<g id=\"node8\" class=\"node\">\n", + "<title>(-1, 5)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"285.1471\" cy=\"-234\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"285.1471\" y=\"-230.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 5)</text>\n", + "</g>\n", + "<!-- (-1, 5)->(4, 2) -->\n", + "<g id=\"edge6\" class=\"edge\">\n", + "<title>(-1, 5)->(4, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M302.9613,-218.7307C314.8461,-208.5437 330.6502,-194.9973 343.8345,-183.6965\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"346.3317,-186.1658 351.6465,-177.0004 341.7762,-180.851 346.3317,-186.1658\"/>\n", + "</g>\n", + "<!-- (-1, 6) -->\n", + "<g id=\"node9\" class=\"node\">\n", + "<title>(-1, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"117.1471\" cy=\"-234\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"117.1471\" y=\"-230.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 6)</text>\n", + "</g>\n", + "<!-- (-1, 6)->(1, 2) -->\n", + "<g id=\"edge7\" class=\"edge\">\n", + "<title>(-1, 6)->(1, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M117.1471,-215.8314C117.1471,-208.131 117.1471,-198.9743 117.1471,-190.4166\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"120.6472,-190.4132 117.1471,-180.4133 113.6472,-190.4133 120.6472,-190.4132\"/>\n", + "</g>\n", + "<!-- (-1, 7) -->\n", + "<g id=\"node10\" class=\"node\">\n", + "<title>(-1, 7)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"369.1471\" cy=\"-234\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"369.1471\" y=\"-230.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 7)</text>\n", + "</g>\n", + "<!-- (-1, 7)->(4, 2) -->\n", + "<g id=\"edge8\" class=\"edge\">\n", + "<title>(-1, 7)->(4, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M369.1471,-215.8314C369.1471,-208.131 369.1471,-198.9743 369.1471,-190.4166\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"372.6472,-190.4132 369.1471,-180.4133 365.6472,-190.4133 372.6472,-190.4132\"/>\n", + "</g>\n", + "<!-- (-1, 8) -->\n", + "<g id=\"node11\" class=\"node\">\n", + "<title>(-1, 8)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"201.1471\" cy=\"-234\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"201.1471\" y=\"-230.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 8)</text>\n", + "</g>\n", + "<!-- (-1, 8)->(1, 2) -->\n", + "<g id=\"edge9\" class=\"edge\">\n", + "<title>(-1, 8)->(1, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M183.3328,-218.7307C171.4481,-208.5437 155.6439,-194.9973 142.4596,-183.6965\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"144.518,-180.851 134.6476,-177.0004 139.9624,-186.1658 144.518,-180.851\"/>\n", + "</g>\n", + "<!-- (-1, 9) -->\n", + "<g id=\"node12\" class=\"node\">\n", + "<title>(-1, 9)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"453.1471\" cy=\"-234\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"453.1471\" y=\"-230.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 9)</text>\n", + "</g>\n", + "<!-- (-1, 9)->(4, 2) -->\n", + "<g id=\"edge10\" class=\"edge\">\n", + "<title>(-1, 9)->(4, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M435.3328,-218.7307C423.4481,-208.5437 407.6439,-194.9973 394.4596,-183.6965\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"396.518,-180.851 386.6476,-177.0004 391.9624,-186.1658 396.518,-180.851\"/>\n", + "</g>\n", + "</g>\n", + "</svg>\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<br>Step: 3\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/svg+xml": [ + "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n", + "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n", + " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n", + "<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n", + " -->\n", + "<!-- Pages: 1 -->\n", + "<svg width=\"463pt\" height=\"206pt\"\n", + " viewBox=\"0.00 0.00 462.67 206.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n", + "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 202)\">\n", + "<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-202 458.6724,-202 458.6724,4 -4,4\"/>\n", + "<!-- (1, 4) -->\n", + "<g id=\"node1\" class=\"node\">\n", + "<title>(1, 4)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"327.0306\" cy=\"-45\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"327.0306\" y=\"-41.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 4)</text>\n", + "</g>\n", + "<!-- (1, 5) -->\n", + "<g id=\"node2\" class=\"node\">\n", + "<title>(1, 5)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"424.1251\" cy=\"-45\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"424.1251\" y=\"-41.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 5)</text>\n", + "</g>\n", + "<!-- (1, 4)->(1, 5) -->\n", + "<g id=\"edge1\" class=\"edge\">\n", + "<title>(1, 4)->(1, 5)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M357.7519,-45C365.8095,-45 374.628,-45 383.1297,-45\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"383.2704,-48.5001 393.2704,-45 383.2704,-41.5001 383.2704,-48.5001\"/>\n", + "</g>\n", + "<!-- (4, 4) -->\n", + "<g id=\"node3\" class=\"node\">\n", + "<title>(4, 4)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"327.0306\" cy=\"-153\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"327.0306\" y=\"-149.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 4)</text>\n", + "</g>\n", + "<!-- (4, 5) -->\n", + "<g id=\"node4\" class=\"node\">\n", + "<title>(4, 5)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"424.1251\" cy=\"-153\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"424.1251\" y=\"-149.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 5)</text>\n", + "</g>\n", + "<!-- (4, 4)->(4, 5) -->\n", + "<g id=\"edge2\" class=\"edge\">\n", + "<title>(4, 4)->(4, 5)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M357.7519,-153C365.8095,-153 374.628,-153 383.1297,-153\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"383.2704,-156.5001 393.2704,-153 383.2704,-149.5001 383.2704,-156.5001\"/>\n", + "</g>\n", + "<!-- (1, 3) -->\n", + "<g id=\"node5\" class=\"node\">\n", + "<title>(1, 3)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"229.936\" cy=\"-45\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"229.936\" y=\"-41.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 3)</text>\n", + "</g>\n", + "<!-- (1, 3)->(1, 4) -->\n", + "<g id=\"edge3\" class=\"edge\">\n", + "<title>(1, 3)->(1, 4)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M260.6573,-45C268.715,-45 277.5334,-45 286.0351,-45\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"286.1759,-48.5001 296.1758,-45 286.1758,-41.5001 286.1759,-48.5001\"/>\n", + "</g>\n", + "<!-- (4, 3) -->\n", + "<g id=\"node6\" class=\"node\">\n", + "<title>(4, 3)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"229.936\" cy=\"-153\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"229.936\" y=\"-149.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 3)</text>\n", + "</g>\n", + "<!-- (4, 3)->(4, 4) -->\n", + "<g id=\"edge4\" class=\"edge\">\n", + "<title>(4, 3)->(4, 4)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M260.6573,-153C268.715,-153 277.5334,-153 286.0351,-153\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"286.1759,-156.5001 296.1758,-153 286.1758,-149.5001 286.1759,-156.5001\"/>\n", + "</g>\n", + "<!-- (1, 2) -->\n", + "<g id=\"node7\" class=\"node\">\n", + "<title>(1, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff00ff\" cx=\"132.8414\" cy=\"-45\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"132.8414\" y=\"-41.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 2)</text>\n", + "</g>\n", + "<!-- (1, 2)->(1, 3) -->\n", + "<g id=\"edge5\" class=\"edge\">\n", + "<title>(1, 2)->(1, 3)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M163.5627,-45C171.6204,-45 180.4388,-45 188.9405,-45\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"189.0813,-48.5001 199.0812,-45 189.0812,-41.5001 189.0813,-48.5001\"/>\n", + "</g>\n", + "<!-- (4, 2) -->\n", + "<g id=\"node8\" class=\"node\">\n", + "<title>(4, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff00ff\" cx=\"132.8414\" cy=\"-153\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"132.8414\" y=\"-149.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 2)</text>\n", + "</g>\n", + "<!-- (4, 2)->(4, 3) -->\n", + "<g id=\"edge6\" class=\"edge\">\n", + "<title>(4, 2)->(4, 3)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M163.5627,-153C171.6204,-153 180.4388,-153 188.9405,-153\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"189.0813,-156.5001 199.0812,-153 189.0812,-149.5001 189.0813,-156.5001\"/>\n", + "</g>\n", + "<!-- (-1, 6) -->\n", + "<g id=\"node9\" class=\"node\">\n", + "<title>(-1, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"33.1471\" cy=\"-72\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"33.1471\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 6)</text>\n", + "</g>\n", + "<!-- (-1, 6)->(1, 2) -->\n", + "<g id=\"edge7\" class=\"edge\">\n", + "<title>(-1, 6)->(1, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M63.0587,-63.8991C73.1423,-61.1682 84.5291,-58.0843 95.1351,-55.2119\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"96.2591,-58.5337 104.9964,-52.5412 94.4292,-51.7771 96.2591,-58.5337\"/>\n", + "</g>\n", + "<!-- (-1, 7) -->\n", + "<g id=\"node10\" class=\"node\">\n", + "<title>(-1, 7)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"33.1471\" cy=\"-180\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"33.1471\" y=\"-176.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 7)</text>\n", + "</g>\n", + "<!-- (-1, 7)->(4, 2) -->\n", + "<g id=\"edge8\" class=\"edge\">\n", + "<title>(-1, 7)->(4, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M63.0587,-171.8991C73.1423,-169.1682 84.5291,-166.0843 95.1351,-163.2119\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"96.2591,-166.5337 104.9964,-160.5412 94.4292,-159.7771 96.2591,-166.5337\"/>\n", + "</g>\n", + "<!-- (-1, 8) -->\n", + "<g id=\"node11\" class=\"node\">\n", + "<title>(-1, 8)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"33.1471\" cy=\"-18\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"33.1471\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 8)</text>\n", + "</g>\n", + "<!-- (-1, 8)->(1, 2) -->\n", + "<g id=\"edge9\" class=\"edge\">\n", + "<title>(-1, 8)->(1, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M63.0587,-26.1009C73.1423,-28.8318 84.5291,-31.9157 95.1351,-34.7881\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"94.4292,-38.2229 104.9964,-37.4588 96.2591,-31.4663 94.4292,-38.2229\"/>\n", + "</g>\n", + "<!-- (-1, 9) -->\n", + "<g id=\"node12\" class=\"node\">\n", + "<title>(-1, 9)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"33.1471\" cy=\"-126\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"33.1471\" y=\"-122.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 9)</text>\n", + "</g>\n", + "<!-- (-1, 9)->(4, 2) -->\n", + "<g id=\"edge10\" class=\"edge\">\n", + "<title>(-1, 9)->(4, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M63.0587,-134.1009C73.1423,-136.8318 84.5291,-139.9157 95.1351,-142.7881\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"94.4292,-146.2229 104.9964,-145.4588 96.2591,-139.4663 94.4292,-146.2229\"/>\n", + "</g>\n", + "</g>\n", + "</svg>\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<br>Step: 4\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/svg+xml": [ + "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n", + "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n", + " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n", + "<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n", + " -->\n", + "<!-- Pages: 1 -->\n", + "<svg width=\"560pt\" height=\"98pt\"\n", + " viewBox=\"0.00 0.00 559.77 98.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n", + "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 94)\">\n", + "<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-94 555.767,-94 555.767,4 -4,4\"/>\n", + "<!-- (1, 5) -->\n", + "<g id=\"node1\" class=\"node\">\n", + "<title>(1, 5)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"424.1251\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"424.1251\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 5)</text>\n", + "</g>\n", + "<!-- (1, 6) -->\n", + "<g id=\"node2\" class=\"node\">\n", + "<title>(1, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"521.2197\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"521.2197\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 6)</text>\n", + "</g>\n", + "<!-- (1, 5)->(1, 6) -->\n", + "<g id=\"edge1\" class=\"edge\">\n", + "<title>(1, 5)->(1, 6)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M454.8465,-18C462.9041,-18 471.7226,-18 480.2243,-18\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"480.365,-21.5001 490.365,-18 480.3649,-14.5001 480.365,-21.5001\"/>\n", + "</g>\n", + "<!-- (4, 5) -->\n", + "<g id=\"node3\" class=\"node\">\n", + "<title>(4, 5)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"424.1251\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"424.1251\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 5)</text>\n", + "</g>\n", + "<!-- (4, 6) -->\n", + "<g id=\"node4\" class=\"node\">\n", + "<title>(4, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"521.2197\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"521.2197\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 6)</text>\n", + "</g>\n", + "<!-- (4, 5)->(4, 6) -->\n", + "<g id=\"edge2\" class=\"edge\">\n", + "<title>(4, 5)->(4, 6)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M454.8465,-72C462.9041,-72 471.7226,-72 480.2243,-72\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"480.365,-75.5001 490.365,-72 480.3649,-68.5001 480.365,-75.5001\"/>\n", + "</g>\n", + "<!-- (1, 4) -->\n", + "<g id=\"node5\" class=\"node\">\n", + "<title>(1, 4)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"327.0306\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"327.0306\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 4)</text>\n", + "</g>\n", + "<!-- (1, 4)->(1, 5) -->\n", + "<g id=\"edge3\" class=\"edge\">\n", + "<title>(1, 4)->(1, 5)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M357.7519,-18C365.8095,-18 374.628,-18 383.1297,-18\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"383.2704,-21.5001 393.2704,-18 383.2704,-14.5001 383.2704,-21.5001\"/>\n", + "</g>\n", + "<!-- (4, 4) -->\n", + "<g id=\"node6\" class=\"node\">\n", + "<title>(4, 4)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"327.0306\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"327.0306\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 4)</text>\n", + "</g>\n", + "<!-- (4, 4)->(4, 5) -->\n", + "<g id=\"edge4\" class=\"edge\">\n", + "<title>(4, 4)->(4, 5)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M357.7519,-72C365.8095,-72 374.628,-72 383.1297,-72\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"383.2704,-75.5001 393.2704,-72 383.2704,-68.5001 383.2704,-75.5001\"/>\n", + "</g>\n", + "<!-- (1, 3) -->\n", + "<g id=\"node7\" class=\"node\">\n", + "<title>(1, 3)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"229.936\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"229.936\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 3)</text>\n", + "</g>\n", + "<!-- (1, 3)->(1, 4) -->\n", + "<g id=\"edge5\" class=\"edge\">\n", + "<title>(1, 3)->(1, 4)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M260.6573,-18C268.715,-18 277.5334,-18 286.0351,-18\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"286.1759,-21.5001 296.1758,-18 286.1758,-14.5001 286.1759,-21.5001\"/>\n", + "</g>\n", + "<!-- (4, 3) -->\n", + "<g id=\"node8\" class=\"node\">\n", + "<title>(4, 3)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"229.936\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"229.936\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 3)</text>\n", + "</g>\n", + "<!-- (4, 3)->(4, 4) -->\n", + "<g id=\"edge6\" class=\"edge\">\n", + "<title>(4, 3)->(4, 4)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M260.6573,-72C268.715,-72 277.5334,-72 286.0351,-72\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"286.1759,-75.5001 296.1758,-72 286.1758,-68.5001 286.1759,-75.5001\"/>\n", + "</g>\n", + "<!-- (1, 2) -->\n", + "<g id=\"node9\" class=\"node\">\n", + "<title>(1, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"132.8414\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"132.8414\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 2)</text>\n", + "</g>\n", + "<!-- (1, 2)->(1, 3) -->\n", + "<g id=\"edge7\" class=\"edge\">\n", + "<title>(1, 2)->(1, 3)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M163.5627,-18C171.6204,-18 180.4388,-18 188.9405,-18\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"189.0813,-21.5001 199.0812,-18 189.0812,-14.5001 189.0813,-21.5001\"/>\n", + "</g>\n", + "<!-- (4, 2) -->\n", + "<g id=\"node10\" class=\"node\">\n", + "<title>(4, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"132.8414\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"132.8414\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 2)</text>\n", + "</g>\n", + "<!-- (4, 2)->(4, 3) -->\n", + "<g id=\"edge8\" class=\"edge\">\n", + "<title>(4, 2)->(4, 3)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M163.5627,-72C171.6204,-72 180.4388,-72 188.9405,-72\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"189.0813,-75.5001 199.0812,-72 189.0812,-68.5001 189.0813,-75.5001\"/>\n", + "</g>\n", + "<!-- (-1, 8) -->\n", + "<g id=\"node11\" class=\"node\">\n", + "<title>(-1, 8)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"33.1471\" cy=\"-18\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"33.1471\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 8)</text>\n", + "</g>\n", + "<!-- (-1, 8)->(1, 2) -->\n", + "<g id=\"edge9\" class=\"edge\">\n", + "<title>(-1, 8)->(1, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M66.3438,-18C74.5588,-18 83.4555,-18 91.9884,-18\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"92.1461,-21.5001 102.1461,-18 92.1461,-14.5001 92.1461,-21.5001\"/>\n", + "</g>\n", + "<!-- (-1, 9) -->\n", + "<g id=\"node12\" class=\"node\">\n", + "<title>(-1, 9)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"33.1471\" cy=\"-72\" rx=\"33.2948\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"33.1471\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(-1, 9)</text>\n", + "</g>\n", + "<!-- (-1, 9)->(4, 2) -->\n", + "<g id=\"edge10\" class=\"edge\">\n", + "<title>(-1, 9)->(4, 2)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M66.3438,-72C74.5588,-72 83.4555,-72 91.9884,-72\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"92.1461,-75.5001 102.1461,-72 92.1461,-68.5001 92.1461,-75.5001\"/>\n", + "</g>\n", + "</g>\n", + "</svg>\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<br>Step: 5\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/svg+xml": [ + "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n", + "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n", + " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n", + "<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n", + " -->\n", + "<!-- Pages: 1 -->\n", + "<svg width=\"555pt\" height=\"98pt\"\n", + " viewBox=\"0.00 0.00 554.57 98.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n", + "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 94)\">\n", + "<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-94 550.5675,-94 550.5675,4 -4,4\"/>\n", + "<!-- (1, 6) -->\n", + "<g id=\"node1\" class=\"node\">\n", + "<title>(1, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"418.9256\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"418.9256\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 6)</text>\n", + "</g>\n", + "<!-- (1, 7) -->\n", + "<g id=\"node2\" class=\"node\">\n", + "<title>(1, 7)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"516.0202\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"516.0202\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 7)</text>\n", + "</g>\n", + "<!-- (1, 6)->(1, 7) -->\n", + "<g id=\"edge1\" class=\"edge\">\n", + "<title>(1, 6)->(1, 7)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M449.6469,-18C457.7046,-18 466.523,-18 475.0247,-18\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"475.1655,-21.5001 485.1654,-18 475.1654,-14.5001 475.1655,-21.5001\"/>\n", + "</g>\n", + "<!-- (4, 6) -->\n", + "<g id=\"node3\" class=\"node\">\n", + "<title>(4, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"418.9256\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"418.9256\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 6)</text>\n", + "</g>\n", + "<!-- (3, 6) -->\n", + "<g id=\"node4\" class=\"node\">\n", + "<title>(3, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"516.0202\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"516.0202\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(3, 6)</text>\n", + "</g>\n", + "<!-- (4, 6)->(3, 6) -->\n", + "<g id=\"edge2\" class=\"edge\">\n", + "<title>(4, 6)->(3, 6)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M449.6469,-72C457.7046,-72 466.523,-72 475.0247,-72\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"475.1655,-75.5001 485.1654,-72 475.1654,-68.5001 475.1655,-75.5001\"/>\n", + "</g>\n", + "<!-- (1, 5) -->\n", + "<g id=\"node5\" class=\"node\">\n", + "<title>(1, 5)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"321.831\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"321.831\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 5)</text>\n", + "</g>\n", + "<!-- (1, 5)->(1, 6) -->\n", + "<g id=\"edge3\" class=\"edge\">\n", + "<title>(1, 5)->(1, 6)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M352.5524,-18C360.61,-18 369.4285,-18 377.9302,-18\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"378.0709,-21.5001 388.0709,-18 378.0708,-14.5001 378.0709,-21.5001\"/>\n", + "</g>\n", + "<!-- (4, 5) -->\n", + "<g id=\"node6\" class=\"node\">\n", + "<title>(4, 5)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"321.831\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"321.831\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 5)</text>\n", + "</g>\n", + "<!-- (4, 5)->(4, 6) -->\n", + "<g id=\"edge4\" class=\"edge\">\n", + "<title>(4, 5)->(4, 6)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M352.5524,-72C360.61,-72 369.4285,-72 377.9302,-72\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"378.0709,-75.5001 388.0709,-72 378.0708,-68.5001 378.0709,-75.5001\"/>\n", + "</g>\n", + "<!-- (1, 4) -->\n", + "<g id=\"node7\" class=\"node\">\n", + "<title>(1, 4)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"224.7364\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"224.7364\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 4)</text>\n", + "</g>\n", + "<!-- (1, 4)->(1, 5) -->\n", + "<g id=\"edge5\" class=\"edge\">\n", + "<title>(1, 4)->(1, 5)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M255.4578,-18C263.5154,-18 272.3339,-18 280.8356,-18\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"280.9763,-21.5001 290.9763,-18 280.9763,-14.5001 280.9763,-21.5001\"/>\n", + "</g>\n", + "<!-- (4, 4) -->\n", + "<g id=\"node8\" class=\"node\">\n", + "<title>(4, 4)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"224.7364\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"224.7364\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 4)</text>\n", + "</g>\n", + "<!-- (4, 4)->(4, 5) -->\n", + "<g id=\"edge6\" class=\"edge\">\n", + "<title>(4, 4)->(4, 5)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M255.4578,-72C263.5154,-72 272.3339,-72 280.8356,-72\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"280.9763,-75.5001 290.9763,-72 280.9763,-68.5001 280.9763,-75.5001\"/>\n", + "</g>\n", + "<!-- (1, 3) -->\n", + "<g id=\"node9\" class=\"node\">\n", + "<title>(1, 3)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"127.6419\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"127.6419\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 3)</text>\n", + "</g>\n", + "<!-- (1, 3)->(1, 4) -->\n", + "<g id=\"edge7\" class=\"edge\">\n", + "<title>(1, 3)->(1, 4)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M158.3632,-18C166.4208,-18 175.2393,-18 183.741,-18\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"183.8817,-21.5001 193.8817,-18 183.8817,-14.5001 183.8817,-21.5001\"/>\n", + "</g>\n", + "<!-- (4, 3) -->\n", + "<g id=\"node10\" class=\"node\">\n", + "<title>(4, 3)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"127.6419\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"127.6419\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 3)</text>\n", + "</g>\n", + "<!-- (4, 3)->(4, 4) -->\n", + "<g id=\"edge8\" class=\"edge\">\n", + "<title>(4, 3)->(4, 4)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M158.3632,-72C166.4208,-72 175.2393,-72 183.741,-72\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"183.8817,-75.5001 193.8817,-72 183.8817,-68.5001 183.8817,-75.5001\"/>\n", + "</g>\n", + "<!-- (1, 2) -->\n", + "<g id=\"node11\" class=\"node\">\n", + "<title>(1, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"30.5473\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"30.5473\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 2)</text>\n", + "</g>\n", + "<!-- (1, 2)->(1, 3) -->\n", + "<g id=\"edge9\" class=\"edge\">\n", + "<title>(1, 2)->(1, 3)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M61.2686,-18C69.3263,-18 78.1447,-18 86.6464,-18\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"86.7872,-21.5001 96.7871,-18 86.7871,-14.5001 86.7872,-21.5001\"/>\n", + "</g>\n", + "<!-- (4, 2) -->\n", + "<g id=\"node12\" class=\"node\">\n", + "<title>(4, 2)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"30.5473\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"30.5473\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 2)</text>\n", + "</g>\n", + "<!-- (4, 2)->(4, 3) -->\n", + "<g id=\"edge10\" class=\"edge\">\n", + "<title>(4, 2)->(4, 3)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M61.2686,-72C69.3263,-72 78.1447,-72 86.6464,-72\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"86.7872,-75.5001 96.7871,-72 86.7871,-68.5001 86.7872,-75.5001\"/>\n", + "</g>\n", + "</g>\n", + "</svg>\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<br>Step: 6\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/svg+xml": [ + "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n", + "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n", + " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n", + "<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n", + " -->\n", + "<!-- Pages: 1 -->\n", + "<svg width=\"555pt\" height=\"98pt\"\n", + " viewBox=\"0.00 0.00 554.57 98.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n", + "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 94)\">\n", + "<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-94 550.5675,-94 550.5675,4 -4,4\"/>\n", + "<!-- (1, 7) -->\n", + "<g id=\"node1\" class=\"node\">\n", + "<title>(1, 7)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"418.9256\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"418.9256\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 7)</text>\n", + "</g>\n", + "<!-- (1, 8) -->\n", + "<g id=\"node2\" class=\"node\">\n", + "<title>(1, 8)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"516.0202\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"516.0202\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 8)</text>\n", + "</g>\n", + "<!-- (1, 7)->(1, 8) -->\n", + "<g id=\"edge1\" class=\"edge\">\n", + "<title>(1, 7)->(1, 8)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M449.6469,-18C457.7046,-18 466.523,-18 475.0247,-18\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"475.1655,-21.5001 485.1654,-18 475.1654,-14.5001 475.1655,-21.5001\"/>\n", + "</g>\n", + "<!-- (3, 6) -->\n", + "<g id=\"node3\" class=\"node\">\n", + "<title>(3, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"418.9256\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"418.9256\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(3, 6)</text>\n", + "</g>\n", + "<!-- (2, 6) -->\n", + "<g id=\"node4\" class=\"node\">\n", + "<title>(2, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"516.0202\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"516.0202\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(2, 6)</text>\n", + "</g>\n", + "<!-- (3, 6)->(2, 6) -->\n", + "<g id=\"edge2\" class=\"edge\">\n", + "<title>(3, 6)->(2, 6)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M449.6469,-72C457.7046,-72 466.523,-72 475.0247,-72\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"475.1655,-75.5001 485.1654,-72 475.1654,-68.5001 475.1655,-75.5001\"/>\n", + "</g>\n", + "<!-- (1, 6) -->\n", + "<g id=\"node5\" class=\"node\">\n", + "<title>(1, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"321.831\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"321.831\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 6)</text>\n", + "</g>\n", + "<!-- (1, 6)->(1, 7) -->\n", + "<g id=\"edge3\" class=\"edge\">\n", + "<title>(1, 6)->(1, 7)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M352.5524,-18C360.61,-18 369.4285,-18 377.9302,-18\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"378.0709,-21.5001 388.0709,-18 378.0708,-14.5001 378.0709,-21.5001\"/>\n", + "</g>\n", + "<!-- (4, 6) -->\n", + "<g id=\"node6\" class=\"node\">\n", + "<title>(4, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"321.831\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"321.831\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 6)</text>\n", + "</g>\n", + "<!-- (4, 6)->(3, 6) -->\n", + "<g id=\"edge4\" class=\"edge\">\n", + "<title>(4, 6)->(3, 6)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M352.5524,-72C360.61,-72 369.4285,-72 377.9302,-72\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"378.0709,-75.5001 388.0709,-72 378.0708,-68.5001 378.0709,-75.5001\"/>\n", + "</g>\n", + "<!-- (1, 5) -->\n", + "<g id=\"node7\" class=\"node\">\n", + "<title>(1, 5)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"224.7364\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"224.7364\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 5)</text>\n", + "</g>\n", + "<!-- (1, 5)->(1, 6) -->\n", + "<g id=\"edge5\" class=\"edge\">\n", + "<title>(1, 5)->(1, 6)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M255.4578,-18C263.5154,-18 272.3339,-18 280.8356,-18\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"280.9763,-21.5001 290.9763,-18 280.9763,-14.5001 280.9763,-21.5001\"/>\n", + "</g>\n", + "<!-- (4, 5) -->\n", + "<g id=\"node8\" class=\"node\">\n", + "<title>(4, 5)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"224.7364\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"224.7364\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 5)</text>\n", + "</g>\n", + "<!-- (4, 5)->(4, 6) -->\n", + "<g id=\"edge6\" class=\"edge\">\n", + "<title>(4, 5)->(4, 6)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M255.4578,-72C263.5154,-72 272.3339,-72 280.8356,-72\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"280.9763,-75.5001 290.9763,-72 280.9763,-68.5001 280.9763,-75.5001\"/>\n", + "</g>\n", + "<!-- (1, 4) -->\n", + "<g id=\"node9\" class=\"node\">\n", + "<title>(1, 4)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"127.6419\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"127.6419\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 4)</text>\n", + "</g>\n", + "<!-- (1, 4)->(1, 5) -->\n", + "<g id=\"edge7\" class=\"edge\">\n", + "<title>(1, 4)->(1, 5)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M158.3632,-18C166.4208,-18 175.2393,-18 183.741,-18\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"183.8817,-21.5001 193.8817,-18 183.8817,-14.5001 183.8817,-21.5001\"/>\n", + "</g>\n", + "<!-- (4, 4) -->\n", + "<g id=\"node10\" class=\"node\">\n", + "<title>(4, 4)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"127.6419\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"127.6419\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 4)</text>\n", + "</g>\n", + "<!-- (4, 4)->(4, 5) -->\n", + "<g id=\"edge8\" class=\"edge\">\n", + "<title>(4, 4)->(4, 5)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M158.3632,-72C166.4208,-72 175.2393,-72 183.741,-72\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"183.8817,-75.5001 193.8817,-72 183.8817,-68.5001 183.8817,-75.5001\"/>\n", + "</g>\n", + "<!-- (1, 3) -->\n", + "<g id=\"node11\" class=\"node\">\n", + "<title>(1, 3)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"30.5473\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"30.5473\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 3)</text>\n", + "</g>\n", + "<!-- (1, 3)->(1, 4) -->\n", + "<g id=\"edge9\" class=\"edge\">\n", + "<title>(1, 3)->(1, 4)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M61.2686,-18C69.3263,-18 78.1447,-18 86.6464,-18\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"86.7872,-21.5001 96.7871,-18 86.7871,-14.5001 86.7872,-21.5001\"/>\n", + "</g>\n", + "<!-- (4, 3) -->\n", + "<g id=\"node12\" class=\"node\">\n", + "<title>(4, 3)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"30.5473\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"30.5473\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 3)</text>\n", + "</g>\n", + "<!-- (4, 3)->(4, 4) -->\n", + "<g id=\"edge10\" class=\"edge\">\n", + "<title>(4, 3)->(4, 4)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M61.2686,-72C69.3263,-72 78.1447,-72 86.6464,-72\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"86.7872,-75.5001 96.7871,-72 86.7871,-68.5001 86.7872,-75.5001\"/>\n", + "</g>\n", + "</g>\n", + "</svg>\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<br>Step: 7\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/svg+xml": [ + "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n", + "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n", + " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n", + "<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n", + " -->\n", + "<!-- Pages: 1 -->\n", + "<svg width=\"846pt\" height=\"98pt\"\n", + " viewBox=\"0.00 0.00 845.85 98.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n", + "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 94)\">\n", + "<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-94 841.8512,-94 841.8512,4 -4,4\"/>\n", + "<!-- (1, 8) -->\n", + "<g id=\"node1\" class=\"node\">\n", + "<title>(1, 8)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"710.2093\" cy=\"-45\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"710.2093\" y=\"-41.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 8)</text>\n", + "</g>\n", + "<!-- (1, 9) -->\n", + "<g id=\"node2\" class=\"node\">\n", + "<title>(1, 9)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"807.3039\" cy=\"-45\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"807.3039\" y=\"-41.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 9)</text>\n", + "</g>\n", + "<!-- (1, 8)->(1, 9) -->\n", + "<g id=\"edge1\" class=\"edge\">\n", + "<title>(1, 8)->(1, 9)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M740.9307,-45C748.9883,-45 757.8068,-45 766.3085,-45\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"766.4492,-48.5001 776.4492,-45 766.4491,-41.5001 766.4492,-48.5001\"/>\n", + "</g>\n", + "<!-- (2, 6) -->\n", + "<g id=\"node3\" class=\"node\">\n", + "<title>(2, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"418.9256\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"418.9256\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(2, 6)</text>\n", + "</g>\n", + "<!-- (1, 6) -->\n", + "<g id=\"node4\" class=\"node\">\n", + "<title>(1, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff00ff\" cx=\"516.0202\" cy=\"-45\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"516.0202\" y=\"-41.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 6)</text>\n", + "</g>\n", + "<!-- (2, 6)->(1, 6) -->\n", + "<g id=\"edge2\" class=\"edge\">\n", + "<title>(2, 6)->(1, 6)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M446.749,-64.2629C456.6011,-61.5232 467.8551,-58.3937 478.3864,-55.4652\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"479.496,-58.7895 488.1927,-52.7382 477.6206,-52.0454 479.496,-58.7895\"/>\n", + "</g>\n", + "<!-- (1, 7) -->\n", + "<g id=\"node5\" class=\"node\">\n", + "<title>(1, 7)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"613.1148\" cy=\"-45\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"613.1148\" y=\"-41.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 7)</text>\n", + "</g>\n", + "<!-- (1, 6)->(1, 7) -->\n", + "<g id=\"edge3\" class=\"edge\">\n", + "<title>(1, 6)->(1, 7)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M546.7415,-45C554.7992,-45 563.6176,-45 572.1193,-45\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"572.2601,-48.5001 582.26,-45 572.26,-41.5001 572.2601,-48.5001\"/>\n", + "</g>\n", + "<!-- (1, 7)->(1, 8) -->\n", + "<g id=\"edge4\" class=\"edge\">\n", + "<title>(1, 7)->(1, 8)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M643.8361,-45C651.8937,-45 660.7122,-45 669.2139,-45\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"669.3546,-48.5001 679.3546,-45 669.3546,-41.5001 669.3546,-48.5001\"/>\n", + "</g>\n", + "<!-- (3, 6) -->\n", + "<g id=\"node6\" class=\"node\">\n", + "<title>(3, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"321.831\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"321.831\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(3, 6)</text>\n", + "</g>\n", + "<!-- (3, 6)->(2, 6) -->\n", + "<g id=\"edge5\" class=\"edge\">\n", + "<title>(3, 6)->(2, 6)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M352.5524,-72C360.61,-72 369.4285,-72 377.9302,-72\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"378.0709,-75.5001 388.0709,-72 378.0708,-68.5001 378.0709,-75.5001\"/>\n", + "</g>\n", + "<!-- (4, 6) -->\n", + "<g id=\"node7\" class=\"node\">\n", + "<title>(4, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"224.7364\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"224.7364\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 6)</text>\n", + "</g>\n", + "<!-- (4, 6)->(3, 6) -->\n", + "<g id=\"edge6\" class=\"edge\">\n", + "<title>(4, 6)->(3, 6)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M255.4578,-72C263.5154,-72 272.3339,-72 280.8356,-72\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"280.9763,-75.5001 290.9763,-72 280.9763,-68.5001 280.9763,-75.5001\"/>\n", + "</g>\n", + "<!-- (1, 5) -->\n", + "<g id=\"node8\" class=\"node\">\n", + "<title>(1, 5)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"418.9256\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"418.9256\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 5)</text>\n", + "</g>\n", + "<!-- (1, 5)->(1, 6) -->\n", + "<g id=\"edge7\" class=\"edge\">\n", + "<title>(1, 5)->(1, 6)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M446.749,-25.7371C456.6011,-28.4768 467.8551,-31.6063 478.3864,-34.5348\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"477.6206,-37.9546 488.1927,-37.2618 479.496,-31.2105 477.6206,-37.9546\"/>\n", + "</g>\n", + "<!-- (4, 5) -->\n", + "<g id=\"node9\" class=\"node\">\n", + "<title>(4, 5)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"127.6419\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"127.6419\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 5)</text>\n", + "</g>\n", + "<!-- (4, 5)->(4, 6) -->\n", + "<g id=\"edge8\" class=\"edge\">\n", + "<title>(4, 5)->(4, 6)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M158.3632,-72C166.4208,-72 175.2393,-72 183.741,-72\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"183.8817,-75.5001 193.8817,-72 183.8817,-68.5001 183.8817,-75.5001\"/>\n", + "</g>\n", + "<!-- (1, 4) -->\n", + "<g id=\"node10\" class=\"node\">\n", + "<title>(1, 4)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"321.831\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"321.831\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 4)</text>\n", + "</g>\n", + "<!-- (1, 4)->(1, 5) -->\n", + "<g id=\"edge9\" class=\"edge\">\n", + "<title>(1, 4)->(1, 5)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M352.5524,-18C360.61,-18 369.4285,-18 377.9302,-18\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"378.0709,-21.5001 388.0709,-18 378.0708,-14.5001 378.0709,-21.5001\"/>\n", + "</g>\n", + "<!-- (4, 4) -->\n", + "<g id=\"node11\" class=\"node\">\n", + "<title>(4, 4)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"30.5473\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"30.5473\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 4)</text>\n", + "</g>\n", + "<!-- (4, 4)->(4, 5) -->\n", + "<g id=\"edge10\" class=\"edge\">\n", + "<title>(4, 4)->(4, 5)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M61.2686,-72C69.3263,-72 78.1447,-72 86.6464,-72\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"86.7872,-75.5001 96.7871,-72 86.7871,-68.5001 86.7872,-75.5001\"/>\n", + "</g>\n", + "</g>\n", + "</svg>\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<br>Step: 8\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/svg+xml": [ + "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n", + "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n", + " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n", + "<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n", + " -->\n", + "<!-- Pages: 1 -->\n", + "<svg width=\"854pt\" height=\"98pt\"\n", + " viewBox=\"0.00 0.00 853.76 98.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n", + "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 94)\">\n", + "<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-94 849.7566,-94 849.7566,4 -4,4\"/>\n", + "<!-- (1, 9) -->\n", + "<g id=\"node1\" class=\"node\">\n", + "<title>(1, 9)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"710.2093\" cy=\"-45\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"710.2093\" y=\"-41.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 9)</text>\n", + "</g>\n", + "<!-- (1, 10) -->\n", + "<g id=\"node2\" class=\"node\">\n", + "<title>(1, 10)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"811.2566\" cy=\"-45\" rx=\"34.5\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"811.2566\" y=\"-41.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 10)</text>\n", + "</g>\n", + "<!-- (1, 9)->(1, 10) -->\n", + "<g id=\"edge1\" class=\"edge\">\n", + "<title>(1, 9)->(1, 10)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M740.8011,-45C748.9007,-45 757.8142,-45 766.4975,-45\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"766.5228,-48.5001 776.5228,-45 766.5227,-41.5001 766.5228,-48.5001\"/>\n", + "</g>\n", + "<!-- (1, 6) -->\n", + "<g id=\"node3\" class=\"node\">\n", + "<title>(1, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff00ff\" cx=\"418.9256\" cy=\"-45\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"418.9256\" y=\"-41.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 6)</text>\n", + "</g>\n", + "<!-- (1, 7) -->\n", + "<g id=\"node4\" class=\"node\">\n", + "<title>(1, 7)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"516.0202\" cy=\"-45\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"516.0202\" y=\"-41.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 7)</text>\n", + "</g>\n", + "<!-- (1, 6)->(1, 7) -->\n", + "<g id=\"edge2\" class=\"edge\">\n", + "<title>(1, 6)->(1, 7)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M449.6469,-45C457.7046,-45 466.523,-45 475.0247,-45\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"475.1655,-48.5001 485.1654,-45 475.1654,-41.5001 475.1655,-48.5001\"/>\n", + "</g>\n", + "<!-- (1, 8) -->\n", + "<g id=\"node5\" class=\"node\">\n", + "<title>(1, 8)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"613.1148\" cy=\"-45\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"613.1148\" y=\"-41.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 8)</text>\n", + "</g>\n", + "<!-- (1, 7)->(1, 8) -->\n", + "<g id=\"edge3\" class=\"edge\">\n", + "<title>(1, 7)->(1, 8)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M546.7415,-45C554.7992,-45 563.6176,-45 572.1193,-45\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"572.2601,-48.5001 582.26,-45 572.26,-41.5001 572.2601,-48.5001\"/>\n", + "</g>\n", + "<!-- (1, 8)->(1, 9) -->\n", + "<g id=\"edge4\" class=\"edge\">\n", + "<title>(1, 8)->(1, 9)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M643.8361,-45C651.8937,-45 660.7122,-45 669.2139,-45\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"669.3546,-48.5001 679.3546,-45 669.3546,-41.5001 669.3546,-48.5001\"/>\n", + "</g>\n", + "<!-- (2, 6) -->\n", + "<g id=\"node6\" class=\"node\">\n", + "<title>(2, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"321.831\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"321.831\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(2, 6)</text>\n", + "</g>\n", + "<!-- (2, 6)->(1, 6) -->\n", + "<g id=\"edge5\" class=\"edge\">\n", + "<title>(2, 6)->(1, 6)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M349.6544,-64.2629C359.5066,-61.5232 370.7605,-58.3937 381.2918,-55.4652\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"382.4014,-58.7895 391.0981,-52.7382 380.526,-52.0454 382.4014,-58.7895\"/>\n", + "</g>\n", + "<!-- (3, 6) -->\n", + "<g id=\"node7\" class=\"node\">\n", + "<title>(3, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"224.7364\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"224.7364\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(3, 6)</text>\n", + "</g>\n", + "<!-- (3, 6)->(2, 6) -->\n", + "<g id=\"edge6\" class=\"edge\">\n", + "<title>(3, 6)->(2, 6)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M255.4578,-72C263.5154,-72 272.3339,-72 280.8356,-72\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"280.9763,-75.5001 290.9763,-72 280.9763,-68.5001 280.9763,-75.5001\"/>\n", + "</g>\n", + "<!-- (1, 5) -->\n", + "<g id=\"node8\" class=\"node\">\n", + "<title>(1, 5)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"321.831\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"321.831\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 5)</text>\n", + "</g>\n", + "<!-- (1, 5)->(1, 6) -->\n", + "<g id=\"edge7\" class=\"edge\">\n", + "<title>(1, 5)->(1, 6)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M349.6544,-25.7371C359.5066,-28.4768 370.7605,-31.6063 381.2918,-34.5348\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"380.526,-37.9546 391.0981,-37.2618 382.4014,-31.2105 380.526,-37.9546\"/>\n", + "</g>\n", + "<!-- (4, 6) -->\n", + "<g id=\"node9\" class=\"node\">\n", + "<title>(4, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"127.6419\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"127.6419\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 6)</text>\n", + "</g>\n", + "<!-- (4, 6)->(3, 6) -->\n", + "<g id=\"edge8\" class=\"edge\">\n", + "<title>(4, 6)->(3, 6)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M158.3632,-72C166.4208,-72 175.2393,-72 183.741,-72\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"183.8817,-75.5001 193.8817,-72 183.8817,-68.5001 183.8817,-75.5001\"/>\n", + "</g>\n", + "<!-- (1, 4) -->\n", + "<g id=\"node10\" class=\"node\">\n", + "<title>(1, 4)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"224.7364\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"224.7364\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 4)</text>\n", + "</g>\n", + "<!-- (1, 4)->(1, 5) -->\n", + "<g id=\"edge9\" class=\"edge\">\n", + "<title>(1, 4)->(1, 5)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M255.4578,-18C263.5154,-18 272.3339,-18 280.8356,-18\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"280.9763,-21.5001 290.9763,-18 280.9763,-14.5001 280.9763,-21.5001\"/>\n", + "</g>\n", + "<!-- (4, 5) -->\n", + "<g id=\"node11\" class=\"node\">\n", + "<title>(4, 5)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"30.5473\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"30.5473\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 5)</text>\n", + "</g>\n", + "<!-- (4, 5)->(4, 6) -->\n", + "<g id=\"edge10\" class=\"edge\">\n", + "<title>(4, 5)->(4, 6)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M61.2686,-72C69.3263,-72 78.1447,-72 86.6464,-72\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"86.7872,-75.5001 96.7871,-72 86.7871,-68.5001 86.7872,-75.5001\"/>\n", + "</g>\n", + "</g>\n", + "</svg>\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<br>Step: 9\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/svg+xml": [ + "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n", + "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n", + " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n", + "<!-- Generated by graphviz version 2.40.1 (20161225.0304)\n", + " -->\n", + "<!-- Pages: 1 -->\n", + "<svg width=\"862pt\" height=\"98pt\"\n", + " viewBox=\"0.00 0.00 861.66 98.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n", + "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 94)\">\n", + "<polygon fill=\"#ffffff\" stroke=\"transparent\" points=\"-4,4 -4,-94 857.6621,-94 857.6621,4 -4,4\"/>\n", + "<!-- (1, 10) -->\n", + "<g id=\"node1\" class=\"node\">\n", + "<title>(1, 10)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"714.1621\" cy=\"-45\" rx=\"34.5\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"714.1621\" y=\"-41.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 10)</text>\n", + "</g>\n", + "<!-- (1, 11) -->\n", + "<g id=\"node2\" class=\"node\">\n", + "<title>(1, 11)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"819.1621\" cy=\"-45\" rx=\"34.5\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"819.1621\" y=\"-41.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 11)</text>\n", + "</g>\n", + "<!-- (1, 10)->(1, 11) -->\n", + "<g id=\"edge1\" class=\"edge\">\n", + "<title>(1, 10)->(1, 11)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M748.834,-45C756.9878,-45 765.7926,-45 774.3218,-45\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"774.5266,-48.5001 784.5265,-45 774.5265,-41.5001 774.5266,-48.5001\"/>\n", + "</g>\n", + "<!-- (1, 7) -->\n", + "<g id=\"node3\" class=\"node\">\n", + "<title>(1, 7)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"418.9256\" cy=\"-45\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"418.9256\" y=\"-41.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 7)</text>\n", + "</g>\n", + "<!-- (1, 8) -->\n", + "<g id=\"node4\" class=\"node\">\n", + "<title>(1, 8)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"516.0202\" cy=\"-45\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"516.0202\" y=\"-41.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 8)</text>\n", + "</g>\n", + "<!-- (1, 7)->(1, 8) -->\n", + "<g id=\"edge2\" class=\"edge\">\n", + "<title>(1, 7)->(1, 8)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M449.6469,-45C457.7046,-45 466.523,-45 475.0247,-45\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"475.1655,-48.5001 485.1654,-45 475.1654,-41.5001 475.1655,-48.5001\"/>\n", + "</g>\n", + "<!-- (1, 9) -->\n", + "<g id=\"node5\" class=\"node\">\n", + "<title>(1, 9)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"613.1148\" cy=\"-45\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"613.1148\" y=\"-41.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 9)</text>\n", + "</g>\n", + "<!-- (1, 8)->(1, 9) -->\n", + "<g id=\"edge3\" class=\"edge\">\n", + "<title>(1, 8)->(1, 9)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M546.7415,-45C554.7992,-45 563.6176,-45 572.1193,-45\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"572.2601,-48.5001 582.26,-45 572.26,-41.5001 572.2601,-48.5001\"/>\n", + "</g>\n", + "<!-- (1, 9)->(1, 10) -->\n", + "<g id=\"edge4\" class=\"edge\">\n", + "<title>(1, 9)->(1, 10)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M643.7065,-45C651.8061,-45 660.7196,-45 669.4029,-45\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"669.4282,-48.5001 679.4282,-45 669.4282,-41.5001 669.4282,-48.5001\"/>\n", + "</g>\n", + "<!-- (1, 6) -->\n", + "<g id=\"node6\" class=\"node\">\n", + "<title>(1, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff00ff\" cx=\"321.831\" cy=\"-45\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"321.831\" y=\"-41.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 6)</text>\n", + "</g>\n", + "<!-- (1, 6)->(1, 7) -->\n", + "<g id=\"edge5\" class=\"edge\">\n", + "<title>(1, 6)->(1, 7)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M352.5524,-45C360.61,-45 369.4285,-45 377.9302,-45\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"378.0709,-48.5001 388.0709,-45 378.0708,-41.5001 378.0709,-48.5001\"/>\n", + "</g>\n", + "<!-- (2, 6) -->\n", + "<g id=\"node7\" class=\"node\">\n", + "<title>(2, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"224.7364\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"224.7364\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(2, 6)</text>\n", + "</g>\n", + "<!-- (2, 6)->(1, 6) -->\n", + "<g id=\"edge6\" class=\"edge\">\n", + "<title>(2, 6)->(1, 6)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M252.5599,-64.2629C262.412,-61.5232 273.6659,-58.3937 284.1972,-55.4652\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"285.3068,-58.7895 294.0036,-52.7382 283.4314,-52.0454 285.3068,-58.7895\"/>\n", + "</g>\n", + "<!-- (1, 5) -->\n", + "<g id=\"node8\" class=\"node\">\n", + "<title>(1, 5)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"224.7364\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"224.7364\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 5)</text>\n", + "</g>\n", + "<!-- (1, 5)->(1, 6) -->\n", + "<g id=\"edge7\" class=\"edge\">\n", + "<title>(1, 5)->(1, 6)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M252.5599,-25.7371C262.412,-28.4768 273.6659,-31.6063 284.1972,-34.5348\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"283.4314,-37.9546 294.0036,-37.2618 285.3068,-31.2105 283.4314,-37.9546\"/>\n", + "</g>\n", + "<!-- (3, 6) -->\n", + "<g id=\"node9\" class=\"node\">\n", + "<title>(3, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"127.6419\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"127.6419\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(3, 6)</text>\n", + "</g>\n", + "<!-- (3, 6)->(2, 6) -->\n", + "<g id=\"edge8\" class=\"edge\">\n", + "<title>(3, 6)->(2, 6)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M158.3632,-72C166.4208,-72 175.2393,-72 183.741,-72\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"183.8817,-75.5001 193.8817,-72 183.8817,-68.5001 183.8817,-75.5001\"/>\n", + "</g>\n", + "<!-- (1, 4) -->\n", + "<g id=\"node10\" class=\"node\">\n", + "<title>(1, 4)</title>\n", + "<ellipse fill=\"none\" stroke=\"#ff0000\" cx=\"127.6419\" cy=\"-18\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"127.6419\" y=\"-14.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(1, 4)</text>\n", + "</g>\n", + "<!-- (1, 4)->(1, 5) -->\n", + "<g id=\"edge9\" class=\"edge\">\n", + "<title>(1, 4)->(1, 5)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M158.3632,-18C166.4208,-18 175.2393,-18 183.741,-18\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"183.8817,-21.5001 193.8817,-18 183.8817,-14.5001 183.8817,-21.5001\"/>\n", + "</g>\n", + "<!-- (4, 6) -->\n", + "<g id=\"node11\" class=\"node\">\n", + "<title>(4, 6)</title>\n", + "<ellipse fill=\"none\" stroke=\"#000000\" cx=\"30.5473\" cy=\"-72\" rx=\"30.5947\" ry=\"18\"/>\n", + "<text text-anchor=\"middle\" x=\"30.5473\" y=\"-68.3\" font-family=\"Times,serif\" font-size=\"14.00\" fill=\"#000000\">(4, 6)</text>\n", + "</g>\n", + "<!-- (4, 6)->(3, 6) -->\n", + "<g id=\"edge10\" class=\"edge\">\n", + "<title>(4, 6)->(3, 6)</title>\n", + "<path fill=\"none\" stroke=\"#000000\" d=\"M61.2686,-72C69.3263,-72 78.1447,-72 86.6464,-72\"/>\n", + "<polygon fill=\"#000000\" stroke=\"#000000\" points=\"86.7872,-75.5001 96.7871,-72 86.7871,-68.5001 86.7872,-75.5001\"/>\n", + "</g>\n", + "</g>\n", + "</svg>\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "for i in range(10):\n", " oEC.step()\n", @@ -236,7 +2531,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -254,7 +2549,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -266,9 +2561,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "set()" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "env.motionCheck.svDeadlocked" ] @@ -277,14 +2583,34 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Deadlocking agents" + "# Deadlocking agents\n", + "We have added deadlock detection in the close-following code. This detects agents which are head-to-head ie facing in opposing directions in adjacent squares, and thus will not be able to move for the rest of the episode. This deadlocked status is propagated to any other agents which are blocked by the opposing pair.\n", + "\n", + "In the example below, agents 0 and 1 collide head on. The other agents are spaced out behind them and collide into them in subsequent steps.\n", + "\n", + "The deadlock status is now recorded in element 5 of each agent in the recorded episode. (row, col, dir, status, malfunction, deadlock)" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "32a73ae35d224f70850c663e55721302", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Canvas(layout=Layout(height='300px', width='600px'), size=(600, 300))" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "env, envModel = eeu.makeTestEnv(\"loop_with_loops\", nAg=10, bUCF=True)\n", "oEC = ju.EnvCanvas(env, behaviour=ju.DelayedStartForward(env, nStartDelay=1))\n", @@ -293,7 +2619,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ @@ -308,18 +2634,49 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "{(1, 15),\n", + " (2, 15),\n", + " (3, 15),\n", + " (4, 15),\n", + " (5, 15),\n", + " (6, 15),\n", + " (7, 15),\n", + " (8, 13),\n", + " (8, 14),\n", + " (8, 15)}" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "env.motionCheck.svDeadlocked" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "(25, 10, 6)" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "g3Ep = np.array(env.cur_episode)\n", "g3Ep.shape" @@ -327,9 +2684,22 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 1 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ "nSteps = g3Ep.shape[0]\n", "plt.step(range(nSteps), np.sum(g3Ep[:,:,5], axis=1))\n", @@ -341,7 +2711,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "metadata": {}, "outputs": [], "source": [ @@ -350,6 +2720,40 @@ "\n", "assert np.all(gnDeadlock == gnDeadlockExpected), \"Deadlocks by step do not match expected values!\"" ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "<Figure size 432x288 with 2 Axes>" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "cmap = plt.get_cmap(\"summer\")\n", + "nT, nAg, _ = g3Ep.shape\n", + "plt.pcolormesh(g3Ep[:,:,5].T, cmap=cmap)\n", + "plt.xlabel(\"Time Step\")\n", + "plt.xticks(range(0,nT, 2))\n", + "plt.ylabel(\"Agent index\")\n", + "plt.yticks(np.arange(0.5, nAg+0.5), labels=range(nAg))\n", + "#plt.yticks(range(nAg), minor=True)\n", + "\n", + "\n", + "plt.colorbar(ticks=[0,1], fraction=0.018, pad=0.1)\n", + "plt.title(\"Deadlock status\")\n", + "plt.grid()" + ] } ], "metadata": {