3567 lines
248 KiB
Text
3567 lines
248 KiB
Text
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"id": "acbc10d9",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import spot\n",
|
|
"spot.setup()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "9a6831b2",
|
|
"metadata": {},
|
|
"source": [
|
|
"This notebook presents functions that can be used to solve the Reactive Synthesis problem using games.\n",
|
|
"If you are not familiar with how Spot represent games, please read the `games` notebook first.\n",
|
|
"\n",
|
|
"In Reactive Synthesis, the goal is to build an electronic circuit that reacts to some input signals by producing some output signals, under some LTL constraints that tie both input and output. Of course the input signals are not controlable, so only job is to decide what output signal to produce.\n",
|
|
"\n",
|
|
"# Reactive synthesis in three steps\n",
|
|
"\n",
|
|
"A strategy/control circuit can be derived more conveniently from an LTL/PSL specification.\n",
|
|
"The process is decomposed in to three steps:\n",
|
|
"- Creating the game\n",
|
|
"- Solving the game\n",
|
|
"- Obtaining the strategy\n",
|
|
"\n",
|
|
"Each of these steps is parametrized by a structure called `synthesis_info`. This structure stores some additional data needed to pass fine-tuning options or to store statistics.\n",
|
|
"\n",
|
|
"The `create_game` function takes the LTL specification, and the list of controlable atomic propositions (or output signals). It returns a two-player game, where player 0 plays the input variables (and wants to invalidate the acceptance condition), and player 1 plays the output variables (and wants to satisfy the output condition). The conversion from LTL to parity automata can use one of many algorithms, and can be specified in the `synthesis_info` structure (this works like the `--algo=` option of `ltlsynt`)."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"id": "eb46d524",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"game has 29 states and 55 edges\n",
|
|
"output propositions are: o0\n"
|
|
]
|
|
},
|
|
{
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"535pt\" height=\"360pt\"\n",
|
|
" viewBox=\"0.00 0.00 535.26 360.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(0.36101083032490977 0.36101083032490977) rotate(0) translate(4 993.33)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-993.33 1478.88,-993.33 1478.88,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"625.94\" y=\"-975.13\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"646.94\" y=\"-975.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"662.94\" y=\"-975.13\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"704.94\" y=\"-975.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"720.94\" y=\"-975.13\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"766.94\" y=\"-975.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"782.94\" y=\"-975.13\" font-family=\"Lato\" font-size=\"14.00\">) | Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"820.94\" y=\"-975.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"836.94\" y=\"-975.13\" font-family=\"Lato\" font-size=\"14.00\">)))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"681.94\" y=\"-961.13\" font-family=\"Lato\" font-size=\"14.00\">[parity max odd 4]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 9 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>9</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-799.33\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-795.63\" font-family=\"Lato\" font-size=\"14.00\">9</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->9 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->9</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-799.33C2.79,-799.33 17.15,-799.33 30.63,-799.33\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-799.33 30.94,-802.48 34.44,-799.33 30.94,-799.33 30.94,-799.33 30.94,-799.33 34.44,-799.33 30.94,-796.18 37.94,-799.33 37.94,-799.33\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 25 -->\n",
|
|
"<g id=\"node26\" class=\"node\">\n",
|
|
"<title>25</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"188.33,-727.33 158.17,-709.33 188.33,-691.33 218.5,-709.33 188.33,-727.33\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"188.33\" y=\"-705.63\" font-family=\"Lato\" font-size=\"14.00\">25</text>\n",
|
|
"</g>\n",
|
|
"<!-- 9->25 -->\n",
|
|
"<g id=\"edge28\" class=\"edge\">\n",
|
|
"<title>9->25</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M71.2,-789.53C94.53,-773.42 141.04,-741.3 167.57,-722.98\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"173.55,-718.85 169.58,-725.42 170.67,-720.84 167.79,-722.83 167.79,-722.83 167.79,-722.83 170.67,-720.84 166,-720.24 173.55,-718.85 173.55,-718.85\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-791.13\" font-family=\"Lato\" font-size=\"14.00\">!i0 & !i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"108\" y=\"-776.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 26 -->\n",
|
|
"<g id=\"node27\" class=\"node\">\n",
|
|
"<title>26</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"267,-882.33 236.83,-864.33 267,-846.33 297.16,-864.33 267,-882.33\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"267\" y=\"-860.63\" font-family=\"Lato\" font-size=\"14.00\">26</text>\n",
|
|
"</g>\n",
|
|
"<!-- 9->26 -->\n",
|
|
"<g id=\"edge29\" class=\"edge\">\n",
|
|
"<title>9->26</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.4,-804.43C109.5,-815.66 196.08,-842.59 239.8,-856.18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"246.69,-858.33 239.07,-859.25 243.34,-857.29 240,-856.25 240,-856.25 240,-856.25 243.34,-857.29 240.94,-853.24 246.69,-858.33 246.69,-858.33\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-843.13\" font-family=\"Lato\" font-size=\"14.00\">i0 & !i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"108\" y=\"-828.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 27 -->\n",
|
|
"<g id=\"node28\" class=\"node\">\n",
|
|
"<title>27</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"399.66,-542.33 369.5,-524.33 399.66,-506.33 429.83,-524.33 399.66,-542.33\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"399.66\" y=\"-520.63\" font-family=\"Lato\" font-size=\"14.00\">27</text>\n",
|
|
"</g>\n",
|
|
"<!-- 9->27 -->\n",
|
|
"<g id=\"edge30\" class=\"edge\">\n",
|
|
"<title>9->27</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M64.52,-783.13C78.91,-753.63 112.97,-690.67 158,-652.33 226.89,-593.68 327.11,-551.24 373.44,-533.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"380.14,-530.98 374.71,-536.4 376.86,-532.22 373.59,-533.46 373.59,-533.46 373.59,-533.46 376.86,-532.22 372.48,-530.51 380.14,-530.98 380.14,-530.98\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"166.33\" y=\"-671.13\" font-family=\"Lato\" font-size=\"14.00\">!i0 & i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"180.33\" y=\"-656.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 28 -->\n",
|
|
"<g id=\"node29\" class=\"node\">\n",
|
|
"<title>28</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"556.99,-949.33 526.82,-931.33 556.99,-913.33 587.16,-931.33 556.99,-949.33\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"556.99\" y=\"-927.63\" font-family=\"Lato\" font-size=\"14.00\">28</text>\n",
|
|
"</g>\n",
|
|
"<!-- 9->28 -->\n",
|
|
"<g id=\"edge31\" class=\"edge\">\n",
|
|
"<title>9->28</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M63.96,-815.52C70.02,-828.24 79.74,-845.84 92,-858.33 126.9,-893.89 137.5,-917.33 187.33,-917.33 187.33,-917.33 187.33,-917.33 400.66,-917.33 444.03,-917.33 493.93,-922.81 525.21,-926.91\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"532.37,-927.87 525.01,-930.06 528.9,-927.41 525.43,-926.94 525.43,-926.94 525.43,-926.94 528.9,-927.41 525.84,-923.82 532.37,-927.87 532.37,-927.87\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"247\" y=\"-936.13\" font-family=\"Lato\" font-size=\"14.00\">i0 & i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"259\" y=\"-921.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1098.65\" cy=\"-757.33\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1098.65\" y=\"-753.63\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 10 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>10</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"1230.98,-598.33 1200.82,-580.33 1230.98,-562.33 1261.15,-580.33 1230.98,-598.33\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1230.98\" y=\"-576.63\" font-family=\"Lato\" font-size=\"14.00\">10</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->10 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->10</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1111.68,-744.74C1128.54,-726.78 1159.7,-692.42 1182.65,-660.33 1196.74,-640.63 1210.58,-616.54 1219.62,-599.97\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1222.95,-593.8 1222.4,-601.45 1221.29,-596.88 1219.62,-599.96 1219.62,-599.96 1219.62,-599.96 1221.29,-596.88 1216.85,-598.46 1222.95,-593.8 1222.95,-593.8\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1150.65\" y=\"-737.13\" font-family=\"Lato\" font-size=\"14.00\">!i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1150.65\" y=\"-722.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 11 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>11</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"1230.98,-775.33 1200.82,-757.33 1230.98,-739.33 1261.15,-757.33 1230.98,-775.33\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1230.98\" y=\"-753.63\" font-family=\"Lato\" font-size=\"14.00\">11</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->11 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->11</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1116.69,-757.33C1136.09,-757.33 1168.36,-757.33 1193.51,-757.33\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1200.73,-757.33 1193.73,-760.48 1197.23,-757.33 1193.73,-757.33 1193.73,-757.33 1193.73,-757.33 1197.23,-757.33 1193.73,-754.18 1200.73,-757.33 1200.73,-757.33\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1152.65\" y=\"-776.13\" font-family=\"Lato\" font-size=\"14.00\">i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1150.65\" y=\"-761.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1335.76\" cy=\"-626.33\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1335.76\" y=\"-622.63\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 10->1 -->\n",
|
|
"<g id=\"edge32\" class=\"edge\">\n",
|
|
"<title>10->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1255.36,-576.67C1268.05,-575.74 1283.69,-576.36 1296.32,-582.33 1306.6,-587.2 1315.25,-596.24 1321.72,-604.87\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1325.85,-610.72 1319.24,-606.82 1323.84,-607.86 1321.82,-605 1321.82,-605 1321.82,-605 1323.84,-607.86 1324.39,-603.18 1325.85,-610.72 1325.85,-610.72\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1279.32\" y=\"-601.13\" font-family=\"Lato\" font-size=\"14.00\">o0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1279.82\" y=\"-586.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 11->0 -->\n",
|
|
"<g id=\"edge33\" class=\"edge\">\n",
|
|
"<title>11->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1218.14,-767.93C1209.12,-775.24 1196.02,-784.34 1182.65,-788.33 1162.21,-794.43 1154.6,-795.9 1134.65,-788.33 1127.71,-785.7 1121.25,-780.99 1115.83,-776.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1110.77,-771.03 1117.97,-773.7 1113.26,-773.49 1115.76,-775.95 1115.76,-775.95 1115.76,-775.95 1113.26,-773.49 1113.55,-778.19 1110.77,-771.03 1110.77,-771.03\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1150.15\" y=\"-812.13\" font-family=\"Lato\" font-size=\"14.00\">o0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1150.65\" y=\"-797.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 12 -->\n",
|
|
"<g id=\"node7\" class=\"node\">\n",
|
|
"<title>12</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"1444.54,-697.33 1414.38,-679.33 1444.54,-661.33 1474.71,-679.33 1444.54,-697.33\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1444.54\" y=\"-675.63\" font-family=\"Lato\" font-size=\"14.00\">12</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->12 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->12</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1349.43,-638.53C1356.54,-644.85 1365.86,-652.28 1375.21,-657.33 1387.7,-664.08 1402.61,-669.17 1415.3,-672.76\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1422.1,-674.59 1414.52,-675.81 1418.72,-673.68 1415.34,-672.77 1415.34,-672.77 1415.34,-672.77 1418.72,-673.68 1416.16,-669.72 1422.1,-674.59 1422.1,-674.59\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1377.71\" y=\"-684.13\" font-family=\"Lato\" font-size=\"14.00\">!i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1377.71\" y=\"-669.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 13 -->\n",
|
|
"<g id=\"node8\" class=\"node\">\n",
|
|
"<title>13</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"993.32,-745.33 963.15,-727.33 993.32,-709.33 1023.48,-727.33 993.32,-745.33\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"993.32\" y=\"-723.63\" font-family=\"Lato\" font-size=\"14.00\">13</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->13 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->13</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1317.89,-622.94C1282.75,-616.59 1199.62,-605.38 1134.65,-626.33 1082.86,-643.03 1034.05,-686.73 1009.97,-710.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1004.94,-715.92 1007.6,-708.72 1007.39,-713.43 1009.85,-710.93 1009.85,-710.93 1009.85,-710.93 1007.39,-713.43 1012.09,-713.14 1004.94,-715.92 1004.94,-715.92\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1152.65\" y=\"-645.13\" font-family=\"Lato\" font-size=\"14.00\">i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1150.65\" y=\"-630.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 12->1 -->\n",
|
|
"<g id=\"edge34\" class=\"edge\">\n",
|
|
"<title>12->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1436.65,-665.74C1428.9,-652.13 1414.92,-632.01 1396.21,-623.33 1385.14,-618.19 1371.63,-618.43 1360.28,-620.19\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1353.19,-621.51 1359.49,-617.13 1356.63,-620.87 1360.07,-620.23 1360.07,-620.23 1360.07,-620.23 1356.63,-620.87 1360.65,-623.32 1353.19,-621.51 1353.19,-621.51\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1375.21\" y=\"-642.13\" font-family=\"Lato\" font-size=\"14.00\">!o0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1377.71\" y=\"-627.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 13->0 -->\n",
|
|
"<g id=\"edge35\" class=\"edge\">\n",
|
|
"<title>13->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1014.24,-733.12C1031.43,-738.11 1056.27,-745.32 1074.37,-750.57\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1081.19,-752.55 1073.59,-753.63 1077.83,-751.58 1074.47,-750.6 1074.47,-750.6 1074.47,-750.6 1077.83,-751.58 1075.35,-747.58 1081.19,-752.55 1081.19,-752.55\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1041.65\" y=\"-765.13\" font-family=\"Lato\" font-size=\"14.00\">!o0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1044.15\" y=\"-750.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node9\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1098.65\" cy=\"-509.33\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1098.65\" y=\"-505.63\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 14 -->\n",
|
|
"<g id=\"node10\" class=\"node\">\n",
|
|
"<title>14</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"1230.98,-184.33 1200.82,-166.33 1230.98,-148.33 1261.15,-166.33 1230.98,-184.33\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1230.98\" y=\"-162.63\" font-family=\"Lato\" font-size=\"14.00\">14</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->14 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->14</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1105.52,-492.52C1111.26,-477.81 1121.12,-456.48 1134.65,-441.33 1151.73,-422.21 1169.34,-431.24 1182.65,-409.33 1220.73,-346.67 1183.76,-316.69 1200.65,-245.33 1205.47,-224.96 1214.07,-202.68 1220.71,-186.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1223.61,-180.28 1223.73,-187.95 1222.22,-183.49 1220.84,-186.7 1220.84,-186.7 1220.84,-186.7 1222.22,-183.49 1217.94,-185.46 1223.61,-180.28 1223.61,-180.28\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1152.65\" y=\"-460.13\" font-family=\"Lato\" font-size=\"14.00\">i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1150.65\" y=\"-445.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 16 -->\n",
|
|
"<g id=\"node11\" class=\"node\">\n",
|
|
"<title>16</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"1230.98,-502.33 1200.82,-484.33 1230.98,-466.33 1261.15,-484.33 1230.98,-502.33\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1230.98\" y=\"-480.63\" font-family=\"Lato\" font-size=\"14.00\">16</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->16 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>2->16</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1116.25,-513.94C1133.28,-517.89 1160.36,-521.98 1182.65,-515.33 1193.3,-512.15 1203.78,-505.73 1212.17,-499.55\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1218.14,-494.93 1214.53,-501.7 1215.37,-497.07 1212.6,-499.21 1212.6,-499.21 1212.6,-499.21 1215.37,-497.07 1210.67,-496.72 1218.14,-494.93 1218.14,-494.93\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1150.65\" y=\"-537.13\" font-family=\"Lato\" font-size=\"14.00\">!i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1150.65\" y=\"-522.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 15 -->\n",
|
|
"<g id=\"node30\" class=\"node\">\n",
|
|
"<title>15</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1335.76\" cy=\"-166.33\" rx=\"21.4\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1335.76\" y=\"-162.63\" font-family=\"Lato\" font-size=\"14.00\">15</text>\n",
|
|
"</g>\n",
|
|
"<!-- 14->15 -->\n",
|
|
"<g id=\"edge36\" class=\"edge\">\n",
|
|
"<title>14->15</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1244.58,-156.12C1257.4,-147.01 1277.93,-135.88 1296.32,-141.33 1302.46,-143.15 1308.54,-146.3 1313.99,-149.76\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1320.07,-153.91 1312.51,-152.56 1317.18,-151.93 1314.29,-149.96 1314.29,-149.96 1314.29,-149.96 1317.18,-151.93 1316.06,-147.36 1320.07,-153.91 1320.07,-153.91\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1283.32\" y=\"-160.13\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1279.82\" y=\"-145.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 16->2 -->\n",
|
|
"<g id=\"edge38\" class=\"edge\">\n",
|
|
"<title>16->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1208.87,-479.4C1189.09,-475.77 1159.03,-472.78 1134.65,-481.33 1128.29,-483.56 1122.22,-487.49 1116.98,-491.71\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1111.64,-496.34 1114.87,-489.38 1114.29,-494.05 1116.93,-491.76 1116.93,-491.76 1116.93,-491.76 1114.29,-494.05 1119,-494.14 1111.64,-496.34 1111.64,-496.34\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1154.15\" y=\"-500.13\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1150.65\" y=\"-485.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node12\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"860.99\" cy=\"-825.33\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"860.99\" y=\"-821.63\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->13 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->13</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M878.68,-821.91C896.52,-817.6 924.95,-808.83 944.99,-793.33 960.95,-780.99 973.85,-761.82 982.13,-747.32\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"985.6,-741.03 984.98,-748.68 983.91,-744.09 982.22,-747.15 982.22,-747.15 982.22,-747.15 983.91,-744.09 979.46,-745.63 985.6,-741.03 985.6,-741.03\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"914.99\" y=\"-835.13\" font-family=\"Lato\" font-size=\"14.00\">i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"912.99\" y=\"-820.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 17 -->\n",
|
|
"<g id=\"node13\" class=\"node\">\n",
|
|
"<title>17</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"755.65,-795.33 725.49,-777.33 755.65,-759.33 785.82,-777.33 755.65,-795.33\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"755.65\" y=\"-773.63\" font-family=\"Lato\" font-size=\"14.00\">17</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->17 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->17</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M842.76,-822.76C831.38,-820.65 816.35,-817.06 803.99,-811.33 793.39,-806.42 782.74,-799.03 774.22,-792.4\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"768.7,-787.96 776.13,-789.89 771.43,-790.15 774.16,-792.34 774.16,-792.34 774.16,-792.34 771.43,-790.15 772.18,-794.8 768.7,-787.96 768.7,-787.96\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"806.49\" y=\"-837.13\" font-family=\"Lato\" font-size=\"14.00\">!i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"806.49\" y=\"-822.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 17->2 -->\n",
|
|
"<g id=\"edge39\" class=\"edge\">\n",
|
|
"<title>17->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M777.68,-772.38C820.81,-761.95 917.54,-737.05 944.99,-717.33 963.56,-703.98 1049.69,-579.51 1083.74,-529.75\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1087.82,-523.79 1086.47,-531.34 1085.84,-526.68 1083.87,-529.57 1083.87,-529.57 1083.87,-529.57 1085.84,-526.68 1081.27,-527.79 1087.82,-523.79 1087.82,-523.79\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"912.49\" y=\"-757.13\" font-family=\"Lato\" font-size=\"14.00\">o0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"912.99\" y=\"-742.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 17->3 -->\n",
|
|
"<g id=\"edge40\" class=\"edge\">\n",
|
|
"<title>17->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M777.83,-772.56C791.95,-770.48 810.5,-769.97 824.99,-777.33 835.54,-782.7 843.67,-792.91 849.43,-802.54\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"852.87,-808.73 846.71,-804.14 851.17,-805.67 849.47,-802.61 849.47,-802.61 849.47,-802.61 851.17,-805.67 852.22,-801.08 852.87,-808.73 852.87,-808.73\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"803.99\" y=\"-796.13\" font-family=\"Lato\" font-size=\"14.00\">!o0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"806.49\" y=\"-781.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node14\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1098.65\" cy=\"-330.33\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1098.65\" y=\"-326.63\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->14 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>4->14</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1100.66,-312.24C1103.27,-272.97 1111.71,-181.96 1134.65,-163.33 1154.17,-147.48 1184.07,-151.49 1205.17,-157.37\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1211.96,-159.41 1204.35,-160.42 1208.61,-158.41 1205.26,-157.4 1205.26,-157.4 1205.26,-157.4 1208.61,-158.41 1206.17,-154.38 1211.96,-159.41 1211.96,-159.41\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1152.65\" y=\"-182.13\" font-family=\"Lato\" font-size=\"14.00\">i0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1150.65\" y=\"-167.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 18 -->\n",
|
|
"<g id=\"node15\" class=\"node\">\n",
|
|
"<title>18</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"1230.98,-290.33 1200.82,-272.33 1230.98,-254.33 1261.15,-272.33 1230.98,-290.33\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1230.98\" y=\"-268.63\" font-family=\"Lato\" font-size=\"14.00\">18</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->18 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>4->18</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1104.99,-313.25C1110.21,-299.77 1119.59,-281.86 1134.65,-273.33 1155.05,-261.78 1182.05,-262.7 1202.11,-265.83\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1209.16,-267.07 1201.72,-268.96 1205.71,-266.46 1202.26,-265.86 1202.26,-265.86 1202.26,-265.86 1205.71,-266.46 1202.81,-262.76 1209.16,-267.07 1209.16,-267.07\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1150.65\" y=\"-292.13\" font-family=\"Lato\" font-size=\"14.00\">!i0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1150.65\" y=\"-277.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 18->4 -->\n",
|
|
"<g id=\"edge41\" class=\"edge\">\n",
|
|
"<title>18->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1216.88,-282.28C1207.67,-288.92 1194.87,-297.47 1182.65,-303.33 1163.4,-312.56 1140.2,-319.81 1123.23,-324.46\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1116.37,-326.29 1122.32,-321.45 1119.75,-325.39 1123.13,-324.49 1123.13,-324.49 1123.13,-324.49 1119.75,-325.39 1123.95,-327.53 1116.37,-326.29 1116.37,-326.29\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1154.15\" y=\"-339.13\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1150.65\" y=\"-324.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5 -->\n",
|
|
"<g id=\"node16\" class=\"node\">\n",
|
|
"<title>5</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1098.65\" cy=\"-166.33\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1098.65\" y=\"-162.63\" font-family=\"Lato\" font-size=\"14.00\">5</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->14 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>5->14</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1105.83,-149.66C1111.34,-137.44 1120.72,-121.75 1134.65,-114.33 1153.48,-104.31 1163.14,-105.71 1182.65,-114.33 1197.86,-121.06 1210.29,-135.35 1218.59,-147.26\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1222.54,-153.21 1216.05,-149.12 1220.61,-150.29 1218.67,-147.38 1218.67,-147.38 1218.67,-147.38 1220.61,-150.29 1221.29,-145.64 1222.54,-153.21 1222.54,-153.21\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1138.65\" y=\"-133.13\" font-family=\"Lato\" font-size=\"14.00\">i0 & i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1150.65\" y=\"-118.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->16 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>5->16</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1101,-184.3C1104.44,-225.91 1114.7,-327.38 1134.65,-354.33 1148.96,-373.66 1166.13,-361.85 1182.65,-379.33 1204.96,-402.94 1218.01,-438.86 1224.57,-461.96\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1226.48,-468.98 1221.61,-463.05 1225.56,-465.6 1224.65,-462.23 1224.65,-462.23 1224.65,-462.23 1225.56,-465.6 1227.69,-461.4 1226.48,-468.98 1226.48,-468.98\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1136.65\" y=\"-398.13\" font-family=\"Lato\" font-size=\"14.00\">i0 & !i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1150.65\" y=\"-383.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->18 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>5->18</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1112.29,-178.2C1118.81,-184.15 1126.98,-191.33 1134.65,-197.33 1155.05,-213.28 1162.26,-214.38 1182.65,-230.33 1193.25,-238.63 1204.55,-248.61 1213.45,-256.76\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1218.66,-261.56 1211.38,-259.13 1216.08,-259.19 1213.51,-256.81 1213.51,-256.81 1213.51,-256.81 1216.08,-259.19 1215.65,-254.5 1218.66,-261.56 1218.66,-261.56\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1136.65\" y=\"-249.13\" font-family=\"Lato\" font-size=\"14.00\">!i0 & i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1150.65\" y=\"-234.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 19 -->\n",
|
|
"<g id=\"node17\" class=\"node\">\n",
|
|
"<title>19</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"1230.98,-52.33 1200.82,-34.33 1230.98,-16.33 1261.15,-34.33 1230.98,-52.33\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1230.98\" y=\"-30.63\" font-family=\"Lato\" font-size=\"14.00\">19</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->19 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>5->19</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1100.89,-148.36C1103.88,-110.74 1112.96,-25.74 1134.65,-8.33 1156.84,9.48 1190.29,-6.7 1211.1,-20.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1217.12,-24.4 1209.56,-23.07 1214.23,-22.43 1211.33,-20.46 1211.33,-20.46 1211.33,-20.46 1214.23,-22.43 1213.1,-17.86 1217.12,-24.4 1217.12,-24.4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1134.65\" y=\"-27.13\" font-family=\"Lato\" font-size=\"14.00\">!i0 & !i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1150.65\" y=\"-12.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 19->5 -->\n",
|
|
"<g id=\"edge42\" class=\"edge\">\n",
|
|
"<title>19->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1207.02,-38.29C1185.64,-43.09 1154.22,-53.2 1134.65,-73.33 1116.58,-91.92 1107.66,-120.73 1103.38,-141.36\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1102.05,-148.29 1100.28,-140.82 1102.71,-144.85 1103.37,-141.41 1103.37,-141.41 1103.37,-141.41 1102.71,-144.85 1106.47,-142.01 1102.05,-148.29 1102.05,-148.29\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1154.15\" y=\"-92.13\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1150.65\" y=\"-77.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6 -->\n",
|
|
"<g id=\"node18\" class=\"node\">\n",
|
|
"<title>6</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"623.32\" cy=\"-501.33\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"623.32\" y=\"-497.63\" font-family=\"Lato\" font-size=\"14.00\">6</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->10 -->\n",
|
|
"<g id=\"edge16\" class=\"edge\">\n",
|
|
"<title>6->10</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M636.73,-513.35C643.06,-518.91 651.13,-525.18 659.32,-529.33 718.72,-559.43 738.1,-558.66 803.99,-568.33 878.66,-579.29 1104.86,-580.4 1193.66,-580.4\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1200.81,-580.4 1193.81,-583.55 1197.31,-580.4 1193.81,-580.4 1193.81,-580.4 1193.81,-580.4 1197.31,-580.4 1193.81,-577.25 1200.81,-580.4 1200.81,-580.4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"898.99\" y=\"-595.13\" font-family=\"Lato\" font-size=\"14.00\">i0 & !i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"912.99\" y=\"-580.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->11 -->\n",
|
|
"<g id=\"edge17\" class=\"edge\">\n",
|
|
"<title>6->11</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M631.61,-517.57C637.54,-529.08 646.96,-544.06 659.32,-553.33 683.95,-571.79 695.66,-566.11 725.32,-574.33 775.71,-588.29 1139.98,-655.11 1182.65,-685.33 1200.7,-698.12 1213.69,-720.16 1221.45,-736.49\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1224.45,-743.1 1218.68,-738.03 1223,-739.91 1221.55,-736.73 1221.55,-736.73 1221.55,-736.73 1223,-739.91 1224.42,-735.42 1224.45,-743.1 1224.45,-743.1\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"900.99\" y=\"-639.13\" font-family=\"Lato\" font-size=\"14.00\">i0 & i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"912.99\" y=\"-624.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 20 -->\n",
|
|
"<g id=\"node19\" class=\"node\">\n",
|
|
"<title>20</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"755.65,-499.33 725.49,-481.33 755.65,-463.33 785.82,-481.33 755.65,-499.33\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"755.65\" y=\"-477.63\" font-family=\"Lato\" font-size=\"14.00\">20</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->20 -->\n",
|
|
"<g id=\"edge18\" class=\"edge\">\n",
|
|
"<title>6->20</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M641.36,-498.72C662.43,-495.48 698.65,-489.93 724.47,-485.96\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"731.45,-484.89 725.01,-489.07 727.99,-485.42 724.53,-485.95 724.53,-485.95 724.53,-485.95 727.99,-485.42 724.06,-482.84 731.45,-484.89 731.45,-484.89\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"659.32\" y=\"-514.13\" font-family=\"Lato\" font-size=\"14.00\">!i0 & !i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"675.32\" y=\"-499.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 21 -->\n",
|
|
"<g id=\"node20\" class=\"node\">\n",
|
|
"<title>21</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"755.65,-413.33 725.49,-395.33 755.65,-377.33 785.82,-395.33 755.65,-413.33\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"755.65\" y=\"-391.63\" font-family=\"Lato\" font-size=\"14.00\">21</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->21 -->\n",
|
|
"<g id=\"edge19\" class=\"edge\">\n",
|
|
"<title>6->21</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M633.38,-486.11C639.77,-476.24 649.01,-463.55 659.32,-454.33 677.74,-437.87 686.32,-439.32 707.32,-426.33 716.38,-420.73 726.25,-414.32 734.62,-408.78\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"740.69,-404.75 736.6,-411.24 737.78,-406.68 734.86,-408.62 734.86,-408.62 734.86,-408.62 737.78,-406.68 733.12,-406 740.69,-404.75 740.69,-404.75\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"661.32\" y=\"-473.13\" font-family=\"Lato\" font-size=\"14.00\">!i0 & i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"675.32\" y=\"-458.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 20->4 -->\n",
|
|
"<g id=\"edge43\" class=\"edge\">\n",
|
|
"<title>20->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M769.46,-471.21C793.3,-452.8 846.64,-413.6 896.99,-390.33 929.1,-375.49 1028.33,-348.54 1074.09,-336.47\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1080.96,-334.66 1074.99,-339.49 1077.58,-335.56 1074.19,-336.45 1074.19,-336.45 1074.19,-336.45 1077.58,-335.56 1073.39,-333.4 1080.96,-334.66 1080.96,-334.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"910.49\" y=\"-409.13\" font-family=\"Lato\" font-size=\"14.00\">!o0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"912.99\" y=\"-394.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7 -->\n",
|
|
"<g id=\"node21\" class=\"node\">\n",
|
|
"<title>7</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"860.99\" cy=\"-488.33\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"860.99\" y=\"-484.63\" font-family=\"Lato\" font-size=\"14.00\">7</text>\n",
|
|
"</g>\n",
|
|
"<!-- 20->7 -->\n",
|
|
"<g id=\"edge44\" class=\"edge\">\n",
|
|
"<title>20->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M784.97,-480.76C797.28,-480.77 811.87,-481.12 824.99,-482.33 828.58,-482.66 832.36,-483.16 836.05,-483.72\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"842.97,-484.87 835.55,-486.83 839.51,-484.3 836.06,-483.72 836.06,-483.72 836.06,-483.72 839.51,-484.3 836.58,-480.62 842.97,-484.87 842.97,-484.87\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"805.99\" y=\"-501.13\" font-family=\"Lato\" font-size=\"14.00\">o0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"806.49\" y=\"-486.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 21->4 -->\n",
|
|
"<g id=\"edge45\" class=\"edge\">\n",
|
|
"<title>21->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M770.65,-386.26C795.07,-371.07 847.61,-341.16 896.99,-331.33 959.61,-318.87 1035.42,-323.74 1073.43,-327.51\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1080.52,-328.25 1073.23,-330.66 1077.04,-327.88 1073.56,-327.52 1073.56,-327.52 1073.56,-327.52 1077.04,-327.88 1073.88,-324.39 1080.52,-328.25 1080.52,-328.25\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"910.49\" y=\"-350.13\" font-family=\"Lato\" font-size=\"14.00\">!o0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"912.99\" y=\"-335.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 21->6 -->\n",
|
|
"<g id=\"edge46\" class=\"edge\">\n",
|
|
"<title>21->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M736.57,-388.7C715.83,-382.36 681.8,-375.94 659.32,-392.33 633.3,-411.3 626.2,-449.92 624.49,-475.71\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"624.13,-482.95 621.33,-475.8 624.3,-479.45 624.48,-475.95 624.48,-475.95 624.48,-475.95 624.3,-479.45 627.62,-476.11 624.13,-482.95 624.13,-482.95\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"674.82\" y=\"-411.13\" font-family=\"Lato\" font-size=\"14.00\">o0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"675.32\" y=\"-396.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->12 -->\n",
|
|
"<g id=\"edge20\" class=\"edge\">\n",
|
|
"<title>7->12</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M862.46,-506.73C864.46,-576.8 873.16,-824.31 896.99,-849.33 926.51,-880.35 949.49,-863.33 992.32,-863.33 992.32,-863.33 992.32,-863.33 1336.76,-863.33 1410.01,-863.33 1433.85,-752.91 1440.88,-703.15\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1441.83,-695.98 1444.03,-703.34 1441.37,-699.45 1440.91,-702.92 1440.91,-702.92 1440.91,-702.92 1441.37,-699.45 1437.79,-702.51 1441.83,-695.98 1441.83,-695.98\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1136.65\" y=\"-882.13\" font-family=\"Lato\" font-size=\"14.00\">i0 & !i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1150.65\" y=\"-867.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->13 -->\n",
|
|
"<g id=\"edge21\" class=\"edge\">\n",
|
|
"<title>7->13</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M863.62,-506.26C867.48,-545.29 878.29,-636.36 896.99,-660.33 911.53,-678.99 925.43,-670.02 944.99,-683.33 956.51,-691.18 967.99,-701.77 976.76,-710.59\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"981.85,-715.82 974.71,-713 979.41,-713.31 976.97,-710.8 976.97,-710.8 976.97,-710.8 979.41,-713.31 979.22,-708.61 981.85,-715.82 981.85,-715.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"900.99\" y=\"-702.13\" font-family=\"Lato\" font-size=\"14.00\">i0 & i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"912.99\" y=\"-687.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 22 -->\n",
|
|
"<g id=\"node22\" class=\"node\">\n",
|
|
"<title>22</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"993.32,-454.33 963.15,-436.33 993.32,-418.33 1023.48,-436.33 993.32,-454.33\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"993.32\" y=\"-432.63\" font-family=\"Lato\" font-size=\"14.00\">22</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->22 -->\n",
|
|
"<g id=\"edge22\" class=\"edge\">\n",
|
|
"<title>7->22</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M879.06,-485.72C896.23,-482.71 923.21,-476.89 944.99,-467.33 955.02,-462.92 965.3,-456.47 973.7,-450.59\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"979.73,-446.25 975.89,-452.9 976.89,-448.3 974.05,-450.34 974.05,-450.34 974.05,-450.34 976.89,-448.3 972.21,-447.79 979.73,-446.25 979.73,-446.25\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"896.99\" y=\"-500.13\" font-family=\"Lato\" font-size=\"14.00\">!i0 & !i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"912.99\" y=\"-485.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 23 -->\n",
|
|
"<g id=\"node23\" class=\"node\">\n",
|
|
"<title>23</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"478.33,-623.33 448.16,-605.33 478.33,-587.33 508.49,-605.33 478.33,-623.33\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"478.33\" y=\"-601.63\" font-family=\"Lato\" font-size=\"14.00\">23</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->23 -->\n",
|
|
"<g id=\"edge23\" class=\"edge\">\n",
|
|
"<title>7->23</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M857.07,-506.19C853.12,-524.21 844.21,-551.32 824.99,-565.33 727.67,-636.24 572.35,-620.98 508.35,-610.75\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"501.36,-609.59 508.78,-607.62 504.81,-610.16 508.27,-610.73 508.27,-610.73 508.27,-610.73 504.81,-610.16 507.75,-613.84 501.36,-609.59 501.36,-609.59\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"661.32\" y=\"-636.13\" font-family=\"Lato\" font-size=\"14.00\">!i0 & i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"675.32\" y=\"-621.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 22->4 -->\n",
|
|
"<g id=\"edge47\" class=\"edge\">\n",
|
|
"<title>22->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1012.15,-429.53C1027.14,-423.08 1048.34,-412.19 1062.65,-397.33 1074.62,-384.91 1083.53,-367.57 1089.36,-353.64\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1091.98,-347.12 1092.3,-354.79 1090.68,-350.37 1089.37,-353.62 1089.37,-353.62 1089.37,-353.62 1090.68,-350.37 1086.45,-352.44 1091.98,-347.12 1091.98,-347.12\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1043.65\" y=\"-432.13\" font-family=\"Lato\" font-size=\"14.00\">o0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1044.15\" y=\"-417.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 22->7 -->\n",
|
|
"<g id=\"edge48\" class=\"edge\">\n",
|
|
"<title>22->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M973.08,-430.29C952.83,-425.11 920.65,-420.34 896.99,-433.33 884.71,-440.07 876.13,-453.14 870.53,-464.85\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"867.58,-471.53 867.53,-463.85 868.99,-468.33 870.41,-465.13 870.41,-465.13 870.41,-465.13 868.99,-468.33 873.29,-466.4 867.58,-471.53 867.58,-471.53\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"910.49\" y=\"-452.13\" font-family=\"Lato\" font-size=\"14.00\">!o0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"912.99\" y=\"-437.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 23->4 -->\n",
|
|
"<g id=\"edge49\" class=\"edge\">\n",
|
|
"<title>23->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M500.1,-600.17C551.41,-587.56 688.36,-554.73 803.99,-534.33 866.26,-523.35 885.14,-535.76 944.99,-515.33 1002.15,-495.82 1025.2,-494.72 1062.65,-447.33 1083.83,-420.53 1092.21,-381.13 1095.52,-355.6\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1096.36,-348.47 1098.67,-355.79 1095.95,-351.94 1095.54,-355.42 1095.54,-355.42 1095.54,-355.42 1095.95,-351.94 1092.41,-355.05 1096.36,-348.47 1096.36,-348.47\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"805.99\" y=\"-553.13\" font-family=\"Lato\" font-size=\"14.00\">o0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"806.49\" y=\"-538.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 23->6 -->\n",
|
|
"<g id=\"edge50\" class=\"edge\">\n",
|
|
"<title>23->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M484.36,-590.63C491.17,-572.95 505.02,-543.62 526.66,-527.33 547.47,-511.66 577.13,-505.43 597.89,-502.96\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"605.1,-502.2 598.47,-506.06 601.62,-502.57 598.14,-502.93 598.14,-502.93 598.14,-502.93 601.62,-502.57 597.81,-499.8 605.1,-502.2 605.1,-502.2\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"546.49\" y=\"-546.13\" font-family=\"Lato\" font-size=\"14.00\">!o0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"548.99\" y=\"-531.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8 -->\n",
|
|
"<g id=\"node24\" class=\"node\">\n",
|
|
"<title>8</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"333.33\" cy=\"-688.33\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"333.33\" y=\"-684.63\" font-family=\"Lato\" font-size=\"14.00\">8</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8->13 -->\n",
|
|
"<g id=\"edge24\" class=\"edge\">\n",
|
|
"<title>8->13</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M350.13,-695.42C356.06,-697.88 362.92,-700.48 369.33,-702.33 416.22,-715.91 428.51,-722.33 477.33,-722.33 477.33,-722.33 477.33,-722.33 815.49,-722.33 864.95,-722.33 922.16,-724.31 957.79,-725.78\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"965.06,-726.08 957.94,-728.94 961.56,-725.94 958.07,-725.79 958.07,-725.79 958.07,-725.79 961.56,-725.94 958.2,-722.64 965.06,-726.08 965.06,-726.08\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"663.32\" y=\"-741.13\" font-family=\"Lato\" font-size=\"14.00\">i0 & i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"675.32\" y=\"-726.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8->17 -->\n",
|
|
"<g id=\"edge25\" class=\"edge\">\n",
|
|
"<title>8->17</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M341.67,-704.52C347.53,-715.44 356.82,-729.11 369.33,-736.33 485.99,-803.65 655.85,-790.75 724.35,-781.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"731.42,-780.99 724.9,-785.03 727.95,-781.45 724.48,-781.91 724.48,-781.91 724.48,-781.91 727.95,-781.45 724.07,-778.79 731.42,-780.99 731.42,-780.99\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"534.99\" y=\"-807.13\" font-family=\"Lato\" font-size=\"14.00\">i0 & !i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"548.99\" y=\"-792.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8->23 -->\n",
|
|
"<g id=\"edge26\" class=\"edge\">\n",
|
|
"<title>8->23</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M349.73,-680.16C368.77,-669.98 402.07,-651.9 429.99,-635.33 439.06,-629.95 448.93,-623.75 457.31,-618.39\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"463.38,-614.48 459.2,-620.92 460.43,-616.37 457.49,-618.27 457.49,-618.27 457.49,-618.27 460.43,-616.37 455.79,-615.62 463.38,-614.48 463.38,-614.48\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"377.66\" y=\"-687.13\" font-family=\"Lato\" font-size=\"14.00\">!i0 & i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"391.66\" y=\"-672.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 24 -->\n",
|
|
"<g id=\"node25\" class=\"node\">\n",
|
|
"<title>24</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"478.33,-457.33 448.16,-439.33 478.33,-421.33 508.49,-439.33 478.33,-457.33\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"478.33\" y=\"-435.63\" font-family=\"Lato\" font-size=\"14.00\">24</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8->24 -->\n",
|
|
"<g id=\"edge27\" class=\"edge\">\n",
|
|
"<title>8->24</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M334.72,-670.07C336.13,-622.61 342.37,-497.03 369.33,-467.33 387.5,-447.32 417.95,-440.8 441.9,-439.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"449.1,-438.61 442.29,-442.15 445.61,-438.81 442.11,-439.01 442.11,-439.01 442.11,-439.01 445.61,-438.81 441.93,-435.86 449.1,-438.61 449.1,-438.61\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"375.66\" y=\"-486.13\" font-family=\"Lato\" font-size=\"14.00\">!i0 & !i1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"391.66\" y=\"-471.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 24->5 -->\n",
|
|
"<g id=\"edge51\" class=\"edge\">\n",
|
|
"<title>24->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M482.04,-423.32C491.46,-373.79 527.45,-226.33 622.32,-226.33 622.32,-226.33 622.32,-226.33 994.32,-226.33 1028.16,-226.33 1060.83,-201.97 1080.08,-184.29\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1085.61,-179.06 1082.69,-186.16 1083.07,-181.46 1080.53,-183.87 1080.53,-183.87 1080.53,-183.87 1083.07,-181.46 1078.36,-181.58 1085.61,-179.06 1085.61,-179.06\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"805.99\" y=\"-245.13\" font-family=\"Lato\" font-size=\"14.00\">o0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"806.49\" y=\"-230.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 24->8 -->\n",
|
|
"<g id=\"edge52\" class=\"edge\">\n",
|
|
"<title>24->8</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M465.13,-449.76C459.11,-455.53 452.25,-463.18 447.99,-471.33 431.11,-503.63 449.09,-520.29 429.99,-551.33 411.69,-581.09 389.44,-572.76 369.33,-601.33 355.73,-620.64 360.27,-629.47 351.33,-651.33 349.42,-655.99 347.26,-660.92 345.14,-665.61\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"342.08,-672.25 342.14,-664.58 343.54,-669.07 345.01,-665.89 345.01,-665.89 345.01,-665.89 343.54,-669.07 347.87,-667.21 342.08,-672.25 342.08,-672.25\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"389.16\" y=\"-620.13\" font-family=\"Lato\" font-size=\"14.00\">!o0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"391.66\" y=\"-605.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 25->8 -->\n",
|
|
"<g id=\"edge53\" class=\"edge\">\n",
|
|
"<title>25->8</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M212.95,-705.86C239.34,-701.99 281.84,-695.75 308.37,-691.85\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"315.41,-690.82 308.94,-694.95 311.94,-691.33 308.48,-691.83 308.48,-691.83 308.48,-691.83 311.94,-691.33 308.02,-688.72 315.41,-690.82 315.41,-690.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"262.5\" y=\"-720.13\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"259\" y=\"-705.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 26->3 -->\n",
|
|
"<g id=\"edge54\" class=\"edge\">\n",
|
|
"<title>26->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M291.05,-868.31C317.09,-872.44 360.79,-878.33 398.66,-878.33 398.66,-878.33 398.66,-878.33 756.65,-878.33 789.18,-878.33 821.74,-857.29 841.38,-841.72\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"847.05,-837.09 843.62,-843.96 844.34,-839.31 841.63,-841.52 841.63,-841.52 841.63,-841.52 844.34,-839.31 839.63,-839.08 847.05,-837.09 847.05,-837.09\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"552.49\" y=\"-897.13\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"548.99\" y=\"-882.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 27->6 -->\n",
|
|
"<g id=\"edge55\" class=\"edge\">\n",
|
|
"<title>27->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M423.83,-520.7C449.06,-516.86 490.63,-510.89 526.66,-507.33 550.78,-504.95 578.42,-503.34 597.77,-502.39\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"605.01,-502.04 598.17,-505.52 601.51,-502.21 598.02,-502.38 598.02,-502.38 598.02,-502.38 601.51,-502.21 597.87,-499.23 605.01,-502.04 605.01,-502.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"473.83\" y=\"-535.13\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"470.33\" y=\"-520.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 28->0 -->\n",
|
|
"<g id=\"edge56\" class=\"edge\">\n",
|
|
"<title>28->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M583.2,-928.76C608.3,-926.42 647.93,-923.33 682.32,-923.33 682.32,-923.33 682.32,-923.33 994.32,-923.33 1060.05,-923.33 1085.47,-828.35 1093.95,-782.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1095.16,-775.1 1097.06,-782.53 1094.56,-778.54 1093.96,-781.99 1093.96,-781.99 1093.96,-781.99 1094.56,-778.54 1090.86,-781.45 1095.16,-775.1 1095.16,-775.1\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"809.99\" y=\"-942.13\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"806.49\" y=\"-927.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 15->14 -->\n",
|
|
"<g id=\"edge37\" class=\"edge\">\n",
|
|
"<title>15->14</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1314.46,-169.47C1308.62,-170.24 1302.23,-170.95 1296.32,-171.33 1285.32,-172.04 1273.29,-171.47 1262.63,-170.5\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1255.5,-169.77 1262.78,-167.35 1258.98,-170.12 1262.46,-170.48 1262.46,-170.48 1262.46,-170.48 1258.98,-170.12 1262.14,-173.61 1255.5,-169.77 1255.5,-169.77\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1283.32\" y=\"-191.13\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"1279.82\" y=\"-176.13\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f8d9c0983f0> >"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"si = spot.synthesis_info()\n",
|
|
"si.s = spot.synthesis_info.algo_LAR # Use LAR algorithm\n",
|
|
"\n",
|
|
"game = spot.create_game(\"G((F(i0) && F(i1))->(G(i1<->(X(o0)))))\", [\"o0\"], si)\n",
|
|
"print(\"game has\", game.num_states(), \"states and\", game.num_edges(), \"edges\")\n",
|
|
"print(\"output propositions are:\", \", \".join(spot.get_synthesis_output_aps(game)))\n",
|
|
"display(game)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "a2f7d570",
|
|
"metadata": {},
|
|
"source": [
|
|
"Solving the game, is done with `solve_game()` as with any game. There is also a version that takes a `synthesis_info` as second argument in case the time it takes has to be recorded. Here passing `si` or not makes no difference."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"id": "b46ddd69",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Found a solution: True\n"
|
|
]
|
|
},
|
|
{
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"650pt\" height=\"360pt\"\n",
|
|
" viewBox=\"0.00 0.00 650.45 360.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(0.4854368932038835 0.4854368932038835) rotate(0) translate(4 737.02)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-737.02 1334.88,-737.02 1334.88,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"553.94\" y=\"-718.82\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"574.94\" y=\"-718.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"590.94\" y=\"-718.82\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"632.94\" y=\"-718.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"648.94\" y=\"-718.82\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"694.94\" y=\"-718.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"710.94\" y=\"-718.82\" font-family=\"Lato\" font-size=\"14.00\">) | Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"748.94\" y=\"-718.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"764.94\" y=\"-718.82\" font-family=\"Lato\" font-size=\"14.00\">)))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"609.94\" y=\"-704.82\" font-family=\"Lato\" font-size=\"14.00\">[parity max odd 4]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 9 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>9</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" cx=\"56\" cy=\"-607.02\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-603.32\" font-family=\"Lato\" font-size=\"14.00\">9</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->9 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->9</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-607.02C2.79,-607.02 17.15,-607.02 30.63,-607.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-607.02 30.94,-610.17 34.44,-607.02 30.94,-607.02 30.94,-607.02 30.94,-607.02 34.44,-607.02 30.94,-603.87 37.94,-607.02 37.94,-607.02\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 25 -->\n",
|
|
"<g id=\"node26\" class=\"node\">\n",
|
|
"<title>25</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"156.33,-523.02 126.17,-505.02 156.33,-487.02 186.5,-505.02 156.33,-523.02\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"156.33\" y=\"-501.32\" font-family=\"Lato\" font-size=\"14.00\">25</text>\n",
|
|
"</g>\n",
|
|
"<!-- 9->25 -->\n",
|
|
"<g id=\"edge28\" class=\"edge\">\n",
|
|
"<title>9->25</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M69.06,-594.51C86.85,-576.05 120.15,-541.51 139.77,-521.16\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"144.68,-516.07 142.09,-523.29 142.25,-518.59 139.82,-521.11 139.82,-521.11 139.82,-521.11 142.25,-518.59 137.55,-518.92 144.68,-516.07 144.68,-516.07\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-571.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 26 -->\n",
|
|
"<g id=\"node27\" class=\"node\">\n",
|
|
"<title>26</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"235,-647.02 204.83,-629.02 235,-611.02 265.16,-629.02 235,-647.02\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"235\" y=\"-625.32\" font-family=\"Lato\" font-size=\"14.00\">26</text>\n",
|
|
"</g>\n",
|
|
"<!-- 9->26 -->\n",
|
|
"<g id=\"edge29\" class=\"edge\">\n",
|
|
"<title>9->26</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.97,-609.13C103.58,-612.81 165.09,-620.45 202.63,-625.12\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"209.81,-626.01 202.47,-628.27 206.33,-625.58 202.86,-625.15 202.86,-625.15 202.86,-625.15 206.33,-625.58 203.25,-622.02 209.81,-626.01 209.81,-626.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-615.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 27 -->\n",
|
|
"<g id=\"node28\" class=\"node\">\n",
|
|
"<title>27</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"367.66,-388.02 337.5,-370.02 367.66,-352.02 397.83,-370.02 367.66,-388.02\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"367.66\" y=\"-366.32\" font-family=\"Lato\" font-size=\"14.00\">27</text>\n",
|
|
"</g>\n",
|
|
"<!-- 9->27 -->\n",
|
|
"<g id=\"edge30\" class=\"edge\">\n",
|
|
"<title>9->27</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M60.92,-589.43C68.46,-559.48 87.74,-498.4 126,-463.02 186.96,-406.64 285.83,-383.14 335.74,-374.47\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"342.74,-373.3 336.36,-377.56 339.29,-373.88 335.84,-374.46 335.84,-374.46 335.84,-374.46 339.29,-373.88 335.32,-371.35 342.74,-373.3 342.74,-373.3\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"148.33\" y=\"-466.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 28 -->\n",
|
|
"<g id=\"node29\" class=\"node\">\n",
|
|
"<title>28</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"524.99,-697.02 494.82,-679.02 524.99,-661.02 555.16,-679.02 524.99,-697.02\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"524.99\" y=\"-675.32\" font-family=\"Lato\" font-size=\"14.00\">28</text>\n",
|
|
"</g>\n",
|
|
"<!-- 9->28 -->\n",
|
|
"<g id=\"edge31\" class=\"edge\">\n",
|
|
"<title>9->28</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M67.25,-621.59C83.37,-642.63 116.82,-679.02 155.33,-679.02 155.33,-679.02 155.33,-679.02 368.66,-679.02 409.35,-679.02 456.04,-679.02 487.52,-679.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"494.79,-679.02 487.79,-682.17 491.29,-679.02 487.79,-679.02 487.79,-679.02 487.79,-679.02 491.29,-679.02 487.79,-675.87 494.79,-679.02 494.79,-679.02\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"227\" y=\"-682.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" cx=\"992.65\" cy=\"-558.02\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"992.65\" y=\"-554.32\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 10 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>10</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"1092.98,-429.02 1062.82,-411.02 1092.98,-393.02 1123.15,-411.02 1092.98,-429.02\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1092.98\" y=\"-407.32\" font-family=\"Lato\" font-size=\"14.00\">10</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->10 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->10</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1003.44,-543.39C1021.49,-516.4 1059.97,-458.87 1079.73,-429.34\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1083.64,-423.48 1082.37,-431.05 1081.7,-426.39 1079.75,-429.3 1079.75,-429.3 1079.75,-429.3 1081.7,-426.39 1077.13,-427.55 1083.64,-423.48 1083.64,-423.48\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1028.65\" y=\"-504.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 11 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>11</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"1092.98,-576.02 1062.82,-558.02 1092.98,-540.02 1123.15,-558.02 1092.98,-576.02\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1092.98\" y=\"-554.32\" font-family=\"Lato\" font-size=\"14.00\">11</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->11 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->11</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1010.78,-558.02C1023.07,-558.02 1040.1,-558.02 1055.39,-558.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1062.73,-558.02 1055.73,-561.17 1059.23,-558.02 1055.73,-558.02 1055.73,-558.02 1055.73,-558.02 1059.23,-558.02 1055.73,-554.87 1062.73,-558.02 1062.73,-558.02\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1028.65\" y=\"-561.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" cx=\"1196.76\" cy=\"-457.02\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1196.76\" y=\"-453.32\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 10->1 -->\n",
|
|
"<g id=\"edge32\" class=\"edge\">\n",
|
|
"<title>10->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" d=\"M1116.72,-414.91C1129.13,-417.57 1144.53,-421.77 1157.32,-428.02 1164.19,-431.38 1171.06,-436.04 1177.05,-440.64\"/>\n",
|
|
"<polygon fill=\"#33a02c\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"1182.72,-445.18 1175.29,-443.26 1179.68,-443.38 1176.94,-441.19 1177.26,-440.8 1177.57,-440.41 1180.3,-442.6 1179.23,-438.35 1182.72,-445.18 1182.72,-445.18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1141.32\" y=\"-431.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 11->0 -->\n",
|
|
"<g id=\"edge33\" class=\"edge\">\n",
|
|
"<title>11->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" d=\"M1076.17,-566.18C1063.4,-571.76 1044.94,-577.57 1028.65,-574.02 1024.2,-573.05 1019.63,-571.46 1015.32,-569.65\"/>\n",
|
|
"<polygon fill=\"#33a02c\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"1008.83,-566.68 1016.51,-566.73 1012.23,-567.68 1015.41,-569.14 1015.2,-569.59 1014.99,-570.05 1011.81,-568.59 1013.89,-572.46 1008.83,-566.68 1008.83,-566.68\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1028.65\" y=\"-578.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 12 -->\n",
|
|
"<g id=\"node7\" class=\"node\">\n",
|
|
"<title>12</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"1300.54,-513.02 1270.38,-495.02 1300.54,-477.02 1330.71,-495.02 1300.54,-513.02\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1300.54\" y=\"-491.32\" font-family=\"Lato\" font-size=\"14.00\">12</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->12 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->12</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1213.76,-463.93C1220.64,-466.83 1228.78,-470.18 1236.21,-473.02 1248.46,-477.69 1262.19,-482.51 1273.73,-486.44\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1280.59,-488.77 1272.95,-489.51 1277.28,-487.64 1273.96,-486.52 1273.96,-486.52 1273.96,-486.52 1277.28,-487.64 1274.97,-483.54 1280.59,-488.77 1280.59,-488.77\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1236.21\" y=\"-481.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 13 -->\n",
|
|
"<g id=\"node8\" class=\"node\">\n",
|
|
"<title>13</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"892.32,-554.02 862.15,-536.02 892.32,-518.02 922.48,-536.02 892.32,-554.02\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"892.32\" y=\"-532.32\" font-family=\"Lato\" font-size=\"14.00\">13</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->13 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->13</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1178.79,-455.45C1148.16,-453.15 1081.9,-450.54 1028.65,-465.02 984.28,-477.08 937.96,-505.35 912.67,-522.36\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"906.7,-526.42 910.71,-519.88 909.6,-524.45 912.49,-522.48 912.49,-522.48 912.49,-522.48 909.6,-524.45 914.26,-525.08 906.7,-526.42 906.7,-526.42\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1028.65\" y=\"-468.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 12->1 -->\n",
|
|
"<g id=\"edge34\" class=\"edge\">\n",
|
|
"<title>12->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" d=\"M1290.12,-483.08C1281.48,-473.16 1267.69,-459.79 1252.21,-454.02 1242.6,-450.43 1231.37,-450.42 1221.61,-451.6\"/>\n",
|
|
"<polygon fill=\"#33a02c\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"1214.49,-452.69 1220.93,-448.52 1217.87,-451.67 1221.33,-451.14 1221.4,-451.63 1221.48,-452.13 1218.02,-452.66 1221.88,-454.74 1214.49,-452.69 1214.49,-452.69\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1236.21\" y=\"-457.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 13->0 -->\n",
|
|
"<g id=\"edge35\" class=\"edge\">\n",
|
|
"<title>13->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" d=\"M914.66,-540.79C930.33,-544.3 951.63,-549.06 967.86,-552.69\"/>\n",
|
|
"<polygon fill=\"#33a02c\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"974.91,-554.27 967.4,-555.82 971.39,-554 967.97,-553.23 968.08,-552.75 968.19,-552.26 971.61,-553.02 968.77,-549.67 974.91,-554.27 974.91,-554.27\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"940.65\" y=\"-552.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node9\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#e31a1c\" stroke-width=\"2\" cx=\"992.65\" cy=\"-357.02\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"992.65\" y=\"-353.32\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 14 -->\n",
|
|
"<g id=\"node10\" class=\"node\">\n",
|
|
"<title>14</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#e31a1c\" stroke-width=\"2\" points=\"1092.98,-136.02 1062.82,-118.02 1092.98,-100.02 1123.15,-118.02 1092.98,-136.02\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1092.98\" y=\"-114.32\" font-family=\"Lato\" font-size=\"14.00\">14</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->14 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>2->14</title>\n",
|
|
"<path fill=\"none\" stroke=\"#e31a1c\" stroke-width=\"2\" d=\"M1005.93,-344.04C1017.86,-330.62 1035.5,-308.51 1044.65,-286.02 1064.81,-236.47 1044.57,-217.36 1062.65,-167.02 1066.53,-156.21 1072.91,-145.14 1078.73,-136.27\"/>\n",
|
|
"<polygon fill=\"#e31a1c\" stroke=\"#e31a1c\" stroke-width=\"2\" points=\"1082.82,-130.23 1081.5,-137.79 1081.27,-133.41 1079.31,-136.31 1078.89,-136.03 1078.48,-135.75 1080.44,-132.85 1076.29,-134.26 1082.82,-130.23 1082.82,-130.23\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1028.65\" y=\"-316.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 16 -->\n",
|
|
"<g id=\"node11\" class=\"node\">\n",
|
|
"<title>16</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#e31a1c\" stroke-width=\"2\" points=\"1092.98,-364.02 1062.82,-346.02 1092.98,-328.02 1123.15,-346.02 1092.98,-364.02\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1092.98\" y=\"-342.32\" font-family=\"Lato\" font-size=\"14.00\">16</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->16 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>2->16</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1010.69,-359.95C1016.38,-360.79 1022.77,-361.6 1028.65,-362.02 1035.74,-362.52 1037.63,-363.17 1044.65,-362.02 1052.35,-360.75 1060.49,-358.4 1067.8,-355.88\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1074.8,-353.34 1069.29,-358.69 1071.51,-354.53 1068.22,-355.73 1068.22,-355.73 1068.22,-355.73 1071.51,-354.53 1067.14,-352.77 1074.8,-353.34 1074.8,-353.34\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1028.65\" y=\"-365.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 15 -->\n",
|
|
"<g id=\"node30\" class=\"node\">\n",
|
|
"<title>15</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#e31a1c\" stroke-width=\"2\" cx=\"1196.76\" cy=\"-118.02\" rx=\"21.4\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1196.76\" y=\"-114.32\" font-family=\"Lato\" font-size=\"14.00\">15</text>\n",
|
|
"</g>\n",
|
|
"<!-- 14->15 -->\n",
|
|
"<g id=\"edge36\" class=\"edge\">\n",
|
|
"<title>14->15</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1108.96,-109.4C1121.71,-103.11 1140.58,-96.29 1157.32,-100.02 1162.36,-101.14 1167.53,-103 1172.37,-105.11\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1178.73,-108.09 1171.05,-107.97 1175.56,-106.6 1172.39,-105.12 1172.39,-105.12 1172.39,-105.12 1175.56,-106.6 1173.73,-102.26 1178.73,-108.09 1178.73,-108.09\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1141.32\" y=\"-103.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"<!-- 16->2 -->\n",
|
|
"<g id=\"edge38\" class=\"edge\">\n",
|
|
"<title>16->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1068.93,-342.33C1056.84,-341.04 1041.84,-340.48 1028.65,-343.02 1024.45,-343.83 1020.12,-345.14 1015.99,-346.63\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1009.29,-349.29 1014.64,-343.78 1012.55,-348 1015.8,-346.71 1015.8,-346.71 1015.8,-346.71 1012.55,-348 1016.96,-349.64 1009.29,-349.29 1009.29,-349.29\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1028.65\" y=\"-346.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node12\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" cx=\"791.99\" cy=\"-605.02\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"791.99\" y=\"-601.32\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->13 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>3->13</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M807.91,-595.78C818.19,-589.32 832.08,-580.38 843.99,-572.02 853.73,-565.17 864.31,-557.19 872.99,-550.48\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"878.66,-546.06 875.07,-552.85 875.89,-548.21 873.13,-550.36 873.13,-550.36 873.13,-550.36 875.89,-548.21 871.2,-547.88 878.66,-546.06 878.66,-546.06\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"827.99\" y=\"-585.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 17 -->\n",
|
|
"<g id=\"node13\" class=\"node\">\n",
|
|
"<title>17</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"691.65,-585.02 661.49,-567.02 691.65,-549.02 721.82,-567.02 691.65,-585.02\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"691.65\" y=\"-563.32\" font-family=\"Lato\" font-size=\"14.00\">17</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->17 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>3->17</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M774.26,-600.37C764.21,-597.43 751.24,-593.38 739.99,-589.02 731.83,-585.86 723.11,-581.96 715.39,-578.32\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"708.64,-575.09 716.31,-575.27 711.79,-576.6 714.95,-578.11 714.95,-578.11 714.95,-578.11 711.79,-576.6 713.59,-580.95 708.64,-575.09 708.64,-575.09\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"739.99\" y=\"-597.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 17->2 -->\n",
|
|
"<g id=\"edge39\" class=\"edge\">\n",
|
|
"<title>17->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M713.01,-561.69C743.32,-553.14 801.28,-534.4 843.99,-506.02 899.72,-468.98 951.52,-408.35 976.32,-377.07\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"980.92,-371.23 979.07,-378.68 978.75,-373.98 976.59,-376.73 976.59,-376.73 976.59,-376.73 978.75,-373.98 974.11,-374.78 980.92,-371.23 980.92,-371.23\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"827.99\" y=\"-518.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 17->3 -->\n",
|
|
"<g id=\"edge40\" class=\"edge\">\n",
|
|
"<title>17->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" d=\"M717.06,-564.14C729.23,-563.68 743.91,-564.68 755.99,-570.02 763.57,-573.37 770.41,-579.17 775.98,-585.09\"/>\n",
|
|
"<polygon fill=\"#33a02c\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"780.74,-590.5 773.75,-587.32 778.05,-588.2 775.74,-585.57 776.12,-585.24 776.49,-584.91 778.8,-587.54 778.48,-583.16 780.74,-590.5 780.74,-590.5\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"739.99\" y=\"-573.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node14\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#e31a1c\" stroke-width=\"2\" cx=\"992.65\" cy=\"-232.02\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"992.65\" y=\"-228.32\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->14 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>4->14</title>\n",
|
|
"<path fill=\"none\" stroke=\"#e31a1c\" stroke-width=\"2\" d=\"M994.3,-213.83C996.18,-190.23 1003.18,-149.53 1028.65,-128.02 1036.87,-121.07 1047.92,-117.95 1058.48,-116.75\"/>\n",
|
|
"<polygon fill=\"#e31a1c\" stroke=\"#e31a1c\" stroke-width=\"2\" points=\"1065.68,-116.2 1058.94,-119.87 1062.22,-116.96 1058.73,-117.23 1058.7,-116.73 1058.66,-116.23 1062.15,-115.97 1058.46,-113.59 1065.68,-116.2 1065.68,-116.2\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1028.65\" y=\"-131.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 18 -->\n",
|
|
"<g id=\"node15\" class=\"node\">\n",
|
|
"<title>18</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#e31a1c\" stroke-width=\"2\" points=\"1092.98,-212.02 1062.82,-194.02 1092.98,-176.02 1123.15,-194.02 1092.98,-212.02\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1092.98\" y=\"-190.32\" font-family=\"Lato\" font-size=\"14.00\">18</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->18 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>4->18</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1003.09,-217.32C1009.27,-209.12 1018.13,-199.65 1028.65,-195.02 1038.87,-190.52 1050.95,-189.43 1061.81,-189.76\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1069.09,-190.19 1061.92,-192.92 1065.59,-189.98 1062.1,-189.78 1062.1,-189.78 1062.1,-189.78 1065.59,-189.98 1062.28,-186.63 1069.09,-190.19 1069.09,-190.19\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1028.65\" y=\"-198.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 18->4 -->\n",
|
|
"<g id=\"edge41\" class=\"edge\">\n",
|
|
"<title>18->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1074.05,-200.95C1057.89,-207.19 1034.03,-216.41 1016.5,-223.19\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1009.89,-225.74 1015.28,-220.28 1013.15,-224.48 1016.42,-223.22 1016.42,-223.22 1016.42,-223.22 1013.15,-224.48 1017.55,-226.16 1009.89,-225.74 1009.89,-225.74\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1028.65\" y=\"-221.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5 -->\n",
|
|
"<g id=\"node16\" class=\"node\">\n",
|
|
"<title>5</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#e31a1c\" stroke-width=\"2\" cx=\"992.65\" cy=\"-118.02\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"992.65\" y=\"-114.32\" font-family=\"Lato\" font-size=\"14.00\">5</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->14 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>5->14</title>\n",
|
|
"<path fill=\"none\" stroke=\"#e31a1c\" stroke-width=\"2\" d=\"M1003.07,-103.26C1009.23,-95.03 1018.09,-85.56 1028.65,-81.02 1035.18,-78.21 1037.93,-78.7 1044.65,-81.02 1056.51,-85.1 1067.67,-93.51 1076.17,-101.29\"/>\n",
|
|
"<polygon fill=\"#e31a1c\" stroke=\"#e31a1c\" stroke-width=\"2\" points=\"1081.61,-106.5 1074.38,-103.93 1078.74,-104.44 1076.21,-102.02 1076.56,-101.66 1076.91,-101.3 1079.43,-103.72 1078.74,-99.38 1081.61,-106.5 1081.61,-106.5\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1028.65\" y=\"-84.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->16 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>5->16</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M997.38,-135.42C1002.75,-159.01 1013.67,-202.2 1028.65,-237.02 1042.99,-270.36 1065.33,-306.25 1079.29,-327.39\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1083.33,-333.46 1076.83,-329.38 1081.39,-330.55 1079.45,-327.63 1079.45,-327.63 1079.45,-327.63 1081.39,-330.55 1082.07,-325.89 1083.33,-333.46 1083.33,-333.46\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1028.65\" y=\"-271.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->18 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>5->18</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1007.32,-128.59C1024.54,-141.89 1054.19,-164.81 1073.44,-179.68\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1079.05,-184.02 1071.59,-182.24 1076.28,-181.88 1073.51,-179.74 1073.51,-179.74 1073.51,-179.74 1076.28,-181.88 1075.44,-177.25 1079.05,-184.02 1079.05,-184.02\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1028.65\" y=\"-159.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 19 -->\n",
|
|
"<g id=\"node17\" class=\"node\">\n",
|
|
"<title>19</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#e31a1c\" stroke-width=\"2\" points=\"1092.98,-41.02 1062.82,-23.02 1092.98,-5.02 1123.15,-23.02 1092.98,-41.02\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1092.98\" y=\"-19.32\" font-family=\"Lato\" font-size=\"14.00\">19</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->19 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>5->19</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M993.21,-99.85C993.68,-73.91 998.89,-26.95 1028.65,-5.02 1041.54,4.48 1059.29,-1.8 1072.71,-9.44\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1078.92,-13.24 1071.3,-12.27 1075.93,-11.41 1072.95,-9.59 1072.95,-9.59 1072.95,-9.59 1075.93,-11.41 1074.59,-6.9 1078.92,-13.24 1078.92,-13.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1028.65\" y=\"-8.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 19->5 -->\n",
|
|
"<g id=\"edge42\" class=\"edge\">\n",
|
|
"<title>19->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1074.88,-30.47C1061.2,-37.05 1042.14,-47.67 1028.65,-61.02 1018.65,-70.92 1010.27,-84.22 1004.22,-95.49\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1000.94,-101.84 1001.35,-94.18 1002.54,-98.73 1004.15,-95.63 1004.15,-95.63 1004.15,-95.63 1002.54,-98.73 1006.95,-97.07 1000.94,-101.84 1000.94,-101.84\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1028.65\" y=\"-64.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6 -->\n",
|
|
"<g id=\"node18\" class=\"node\">\n",
|
|
"<title>6</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" cx=\"591.32\" cy=\"-329.02\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"591.32\" y=\"-325.32\" font-family=\"Lato\" font-size=\"14.00\">6</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->10 -->\n",
|
|
"<g id=\"edge16\" class=\"edge\">\n",
|
|
"<title>6->10</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M607.02,-338.11C643.9,-360.04 743.92,-414.02 834.99,-414.02 834.99,-414.02 834.99,-414.02 993.65,-414.02 1014.91,-414.02 1038.74,-413.31 1057.62,-412.58\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1064.86,-412.29 1057.99,-415.72 1061.36,-412.43 1057.87,-412.57 1057.87,-412.57 1057.87,-412.57 1061.36,-412.43 1057.74,-409.42 1064.86,-412.29 1064.86,-412.29\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"827.99\" y=\"-417.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->11 -->\n",
|
|
"<g id=\"edge17\" class=\"edge\">\n",
|
|
"<title>6->11</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M603.1,-343.04C615.44,-358.02 637.1,-381.19 661.32,-393.02 820.37,-470.7 896.23,-404.58 1044.65,-501.02 1059.35,-510.57 1071.81,-526.1 1080.25,-538.54\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1084.29,-544.71 1077.82,-540.58 1082.37,-541.78 1080.46,-538.86 1080.46,-538.86 1080.46,-538.86 1082.37,-541.78 1083.09,-537.13 1084.29,-544.71 1084.29,-544.71\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"827.99\" y=\"-441.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 20 -->\n",
|
|
"<g id=\"node19\" class=\"node\">\n",
|
|
"<title>20</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"691.65,-335.02 661.49,-317.02 691.65,-299.02 721.82,-317.02 691.65,-335.02\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"691.65\" y=\"-313.32\" font-family=\"Lato\" font-size=\"14.00\">20</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->20 -->\n",
|
|
"<g id=\"edge18\" class=\"edge\">\n",
|
|
"<title>6->20</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M609.45,-326.93C623.1,-325.26 642.58,-322.89 659.04,-320.88\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"666.36,-319.98 659.79,-323.96 662.88,-320.41 659.41,-320.83 659.41,-320.83 659.41,-320.83 662.88,-320.41 659.03,-317.7 666.36,-319.98 666.36,-319.98\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"627.32\" y=\"-327.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 21 -->\n",
|
|
"<g id=\"node20\" class=\"node\">\n",
|
|
"<title>21</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"691.65,-271.02 661.49,-253.02 691.65,-235.02 721.82,-253.02 691.65,-271.02\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"691.65\" y=\"-249.32\" font-family=\"Lato\" font-size=\"14.00\">21</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->21 -->\n",
|
|
"<g id=\"edge19\" class=\"edge\">\n",
|
|
"<title>6->21</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M605.99,-318.45C623.21,-305.14 652.86,-282.23 672.11,-267.35\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"677.72,-263.01 674.11,-269.79 674.95,-265.15 672.18,-267.29 672.18,-267.29 672.18,-267.29 674.95,-265.15 670.26,-264.8 677.72,-263.01 677.72,-263.01\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"627.32\" y=\"-303.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 20->4 -->\n",
|
|
"<g id=\"edge43\" class=\"edge\">\n",
|
|
"<title>20->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M710.41,-310.17C736.09,-300.43 785.21,-282.37 827.99,-270.02 877.02,-255.85 935.48,-243.3 967.58,-236.77\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"974.77,-235.32 968.53,-239.79 971.34,-236.01 967.91,-236.71 967.91,-236.71 967.91,-236.71 971.34,-236.01 967.29,-233.62 974.77,-235.32 974.77,-235.32\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"827.99\" y=\"-273.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7 -->\n",
|
|
"<g id=\"node21\" class=\"node\">\n",
|
|
"<title>7</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" cx=\"791.99\" cy=\"-317.02\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"791.99\" y=\"-313.32\" font-family=\"Lato\" font-size=\"14.00\">7</text>\n",
|
|
"</g>\n",
|
|
"<!-- 20->7 -->\n",
|
|
"<g id=\"edge44\" class=\"edge\">\n",
|
|
"<title>20->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" d=\"M721.89,-317.02C736.13,-317.02 753.04,-317.02 766.57,-317.02\"/>\n",
|
|
"<polygon fill=\"#33a02c\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"773.71,-317.02 766.71,-320.17 770.21,-317.52 766.71,-317.52 766.71,-317.02 766.71,-316.52 770.21,-316.52 766.71,-313.87 773.71,-317.02 773.71,-317.02\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"739.99\" y=\"-320.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 21->4 -->\n",
|
|
"<g id=\"edge45\" class=\"edge\">\n",
|
|
"<title>21->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M711.66,-246.85C737.61,-238.79 785.73,-225.1 827.99,-220.02 877.48,-214.07 935.77,-221.86 967.72,-227.39\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"974.87,-228.66 967.43,-230.53 971.43,-228.05 967.98,-227.43 967.98,-227.43 967.98,-227.43 971.43,-228.05 968.54,-224.33 974.87,-228.66 974.87,-228.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"827.99\" y=\"-223.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 21->6 -->\n",
|
|
"<g id=\"edge46\" class=\"edge\">\n",
|
|
"<title>21->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" d=\"M666.5,-256.04C653.82,-258.61 638.6,-263.34 627.32,-272.02 616.01,-280.72 607.5,-294.2 601.7,-305.87\"/>\n",
|
|
"<polygon fill=\"#33a02c\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"598.6,-312.48 598.72,-304.8 599.63,-309.1 601.12,-305.93 601.57,-306.14 602.02,-306.35 600.53,-309.52 604.42,-307.48 598.6,-312.48 598.6,-312.48\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"627.32\" y=\"-275.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->12 -->\n",
|
|
"<g id=\"edge20\" class=\"edge\">\n",
|
|
"<title>7->12</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M793.07,-335.08C793.65,-390.6 797.9,-557.65 827.99,-601.02 846.08,-627.1 859.58,-634.02 891.32,-634.02 891.32,-634.02 891.32,-634.02 1197.76,-634.02 1254.92,-634.02 1283.46,-556.56 1294.26,-517.29\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1296.07,-510.42 1297.33,-518 1295.18,-513.81 1294.28,-517.19 1294.28,-517.19 1294.28,-517.19 1295.18,-513.81 1291.24,-516.39 1296.07,-510.42 1296.07,-510.42\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1028.65\" y=\"-637.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->13 -->\n",
|
|
"<g id=\"edge21\" class=\"edge\">\n",
|
|
"<title>7->13</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M794.17,-335.28C796.74,-364.78 804.61,-424.06 827.99,-468.02 834.15,-479.6 858.04,-503.91 874.64,-520.1\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"879.96,-525.25 872.74,-522.64 877.45,-522.81 874.93,-520.38 874.93,-520.38 874.93,-520.38 877.45,-522.81 877.12,-518.12 879.96,-525.25 879.96,-525.25\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"827.99\" y=\"-490.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 22 -->\n",
|
|
"<g id=\"node22\" class=\"node\">\n",
|
|
"<title>22</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"892.32,-321.02 862.15,-303.02 892.32,-285.02 922.48,-303.02 892.32,-321.02\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"892.32\" y=\"-299.32\" font-family=\"Lato\" font-size=\"14.00\">22</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->22 -->\n",
|
|
"<g id=\"edge22\" class=\"edge\">\n",
|
|
"<title>7->22</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M810.01,-315.23C819.94,-314.14 832.69,-312.64 843.99,-311.02 849.67,-310.2 855.72,-309.25 861.54,-308.29\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"868.72,-307.08 862.34,-311.35 865.27,-307.66 861.82,-308.24 861.82,-308.24 861.82,-308.24 865.27,-307.66 861.3,-305.13 868.72,-307.08 868.72,-307.08\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"827.99\" y=\"-316.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 23 -->\n",
|
|
"<g id=\"node23\" class=\"node\">\n",
|
|
"<title>23</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"446.33,-439.02 416.16,-421.02 446.33,-403.02 476.49,-421.02 446.33,-439.02\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"446.33\" y=\"-417.32\" font-family=\"Lato\" font-size=\"14.00\">23</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->23 -->\n",
|
|
"<g id=\"edge23\" class=\"edge\">\n",
|
|
"<title>7->23</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M786.05,-334.18C780.96,-348.59 771.53,-368.47 755.99,-379.02 669.5,-437.68 537.72,-431.72 478.29,-425.26\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"471.08,-424.44 478.39,-422.1 474.55,-424.83 478.03,-425.23 478.03,-425.23 478.03,-425.23 474.55,-424.83 477.67,-428.36 471.08,-424.44 471.08,-424.44\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"627.32\" y=\"-426.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 22->4 -->\n",
|
|
"<g id=\"edge47\" class=\"edge\">\n",
|
|
"<title>22->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M911.27,-296.08C924.54,-290.46 942.67,-281.73 956.65,-271.02 963.87,-265.49 970.79,-258.33 976.55,-251.65\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"981.08,-246.21 979.02,-253.6 978.84,-248.9 976.6,-251.58 976.6,-251.58 976.6,-251.58 978.84,-248.9 974.18,-249.57 981.08,-246.21 981.08,-246.21\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"940.65\" y=\"-283.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 22->7 -->\n",
|
|
"<g id=\"edge48\" class=\"edge\">\n",
|
|
"<title>22->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" d=\"M874.35,-295.73C861.42,-291.21 843.29,-287.11 827.99,-292.02 822.06,-293.92 816.28,-297.23 811.18,-300.84\"/>\n",
|
|
"<polygon fill=\"#33a02c\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"805.54,-305.14 809.2,-298.39 808.02,-302.62 810.8,-300.5 811.11,-300.89 811.41,-301.29 808.63,-303.41 813.02,-303.4 805.54,-305.14 805.54,-305.14\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"827.99\" y=\"-295.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 23->4 -->\n",
|
|
"<g id=\"edge49\" class=\"edge\">\n",
|
|
"<title>23->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M466.36,-414.7C513.4,-399.67 639.15,-363.02 746.99,-363.02 746.99,-363.02 746.99,-363.02 893.32,-363.02 945.97,-363.02 973.9,-294.49 985.32,-256.56\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"987.39,-249.41 988.47,-257.01 986.42,-252.78 985.45,-256.14 985.45,-256.14 985.45,-256.14 986.42,-252.78 982.42,-255.26 987.39,-249.41 987.39,-249.41\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"739.99\" y=\"-366.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 23->6 -->\n",
|
|
"<g id=\"edge50\" class=\"edge\">\n",
|
|
"<title>23->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" d=\"M454.22,-407.69C462.16,-393.62 476.47,-371.77 494.66,-359.02 506.33,-350.84 542.24,-340.84 566.59,-334.7\"/>\n",
|
|
"<polygon fill=\"#33a02c\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"573.43,-333 567.39,-337.75 570.15,-334.33 566.75,-335.18 566.63,-334.69 566.51,-334.21 569.91,-333.36 565.87,-331.63 573.43,-333 573.43,-333\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"516.99\" y=\"-362.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8 -->\n",
|
|
"<g id=\"node24\" class=\"node\">\n",
|
|
"<title>8</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" cx=\"301.33\" cy=\"-498.02\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"301.33\" y=\"-494.32\" font-family=\"Lato\" font-size=\"14.00\">8</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8->13 -->\n",
|
|
"<g id=\"edge24\" class=\"edge\">\n",
|
|
"<title>8->13</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M319.42,-501.38C346.16,-506.33 399.57,-515.02 445.33,-515.02 445.33,-515.02 445.33,-515.02 748.99,-515.02 789.05,-515.02 834.79,-523.26 863.36,-529.42\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"870.24,-530.93 862.73,-532.51 866.82,-530.18 863.4,-529.43 863.4,-529.43 863.4,-529.43 866.82,-530.18 864.08,-526.35 870.24,-530.93 870.24,-530.93\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"627.32\" y=\"-518.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8->17 -->\n",
|
|
"<g id=\"edge25\" class=\"edge\">\n",
|
|
"<title>8->17</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M313.61,-511.32C319.9,-517.79 328.27,-525.02 337.33,-529.02 447.09,-577.51 594.03,-574.25 658.29,-569.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"665.34,-569.38 658.58,-573.03 661.85,-569.63 658.36,-569.88 658.36,-569.88 658.36,-569.88 661.85,-569.63 658.13,-566.74 665.34,-569.38 665.34,-569.38\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"516.99\" y=\"-574.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8->23 -->\n",
|
|
"<g id=\"edge26\" class=\"edge\">\n",
|
|
"<title>8->23</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M318.17,-490.88C337.37,-482.08 370.55,-466.4 397.99,-451.02 407.19,-445.86 417.08,-439.7 425.44,-434.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"431.48,-430.35 427.34,-436.81 428.55,-432.26 425.62,-434.18 425.62,-434.18 425.62,-434.18 428.55,-432.26 423.9,-431.54 431.48,-430.35 431.48,-430.35\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"359.66\" y=\"-484.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 24 -->\n",
|
|
"<g id=\"node25\" class=\"node\">\n",
|
|
"<title>24</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"446.33,-289.02 416.16,-271.02 446.33,-253.02 476.49,-271.02 446.33,-289.02\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"446.33\" y=\"-267.32\" font-family=\"Lato\" font-size=\"14.00\">24</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8->24 -->\n",
|
|
"<g id=\"edge27\" class=\"edge\">\n",
|
|
"<title>8->24</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M304.08,-480.05C308.16,-441.42 319.32,-351.99 337.33,-328.02 357.11,-301.68 392.67,-286.31 417.56,-278.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"424.28,-276.24 418.51,-281.31 420.93,-277.27 417.59,-278.3 417.59,-278.3 417.59,-278.3 420.93,-277.27 416.66,-275.28 424.28,-276.24 424.28,-276.24\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"359.66\" y=\"-331.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 24->5 -->\n",
|
|
"<g id=\"edge51\" class=\"edge\">\n",
|
|
"<title>24->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M454.69,-257.61C473.07,-226.1 524.3,-150.02 590.32,-150.02 590.32,-150.02 590.32,-150.02 893.32,-150.02 920.78,-150.02 950.53,-138.59 970.03,-129.4\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"976.48,-126.26 971.56,-132.15 973.33,-127.79 970.19,-129.32 970.19,-129.32 970.19,-129.32 973.33,-127.79 968.81,-126.49 976.48,-126.26 976.48,-126.26\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"739.99\" y=\"-153.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 24->8 -->\n",
|
|
"<g id=\"edge52\" class=\"edge\">\n",
|
|
"<title>24->8</title>\n",
|
|
"<path fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" d=\"M433.02,-281.39C426.98,-287.15 420.12,-294.8 415.99,-303.02 396.9,-341.03 422.65,-362.36 397.99,-397.02 379.95,-422.38 358.94,-409.62 337.33,-432.02 333.92,-435.55 322.3,-457.99 313.38,-475.74\"/>\n",
|
|
"<polygon fill=\"#33a02c\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"310.23,-482.02 310.55,-474.35 311.35,-478.67 312.92,-475.54 313.36,-475.76 313.81,-475.99 312.24,-479.12 316.18,-477.17 310.23,-482.02 310.23,-482.02\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"359.66\" y=\"-435.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 25->8 -->\n",
|
|
"<g id=\"edge53\" class=\"edge\">\n",
|
|
"<title>25->8</title>\n",
|
|
"<path fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" d=\"M184.57,-503.69C210.97,-502.39 250.65,-500.45 276.02,-499.21\"/>\n",
|
|
"<polygon fill=\"#33a02c\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"283.08,-498.86 276.25,-502.35 279.61,-499.53 276.12,-499.7 276.09,-499.2 276.07,-498.71 279.56,-498.53 275.94,-496.06 283.08,-498.86 283.08,-498.86\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"227\" y=\"-505.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 26->3 -->\n",
|
|
"<g id=\"edge54\" class=\"edge\">\n",
|
|
"<title>26->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" d=\"M259.54,-632.49C285.66,-636.03 329.07,-641.02 366.66,-641.02 366.66,-641.02 366.66,-641.02 692.65,-641.02 720.75,-641.02 750.75,-627.9 770.13,-617.5\"/>\n",
|
|
"<polygon fill=\"#33a02c\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"776.27,-614.1 771.67,-620.25 773.45,-616.23 770.39,-617.93 770.15,-617.49 769.91,-617.05 772.97,-615.36 768.62,-614.74 776.27,-614.1 776.27,-614.1\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"516.99\" y=\"-644.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 27->6 -->\n",
|
|
"<g id=\"edge55\" class=\"edge\">\n",
|
|
"<title>27->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" d=\"M388.56,-364.22C413.24,-357.25 456.71,-345.64 494.66,-339.02 518.87,-334.79 546.87,-332.12 566.29,-330.61\"/>\n",
|
|
"<polygon fill=\"#33a02c\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"573.29,-330.09 566.54,-333.75 569.84,-330.85 566.35,-331.11 566.31,-330.61 566.27,-330.11 569.76,-329.85 566.07,-327.47 573.29,-330.09 573.29,-330.09\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"438.33\" y=\"-359.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 28->0 -->\n",
|
|
"<g id=\"edge56\" class=\"edge\">\n",
|
|
"<title>28->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" d=\"M555.42,-679.02C577.2,-679.02 607.62,-679.02 634.32,-679.02 634.32,-679.02 634.32,-679.02 893.32,-679.02 942.93,-679.02 971.91,-617 984.36,-581.76\"/>\n",
|
|
"<polygon fill=\"#33a02c\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"986.64,-575.1 987.36,-582.74 985.98,-578.57 984.85,-581.88 984.38,-581.72 983.9,-581.56 985.03,-578.25 981.4,-580.71 986.64,-575.1 986.64,-575.1\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"739.99\" y=\"-682.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"</g>\n",
|
|
"<!-- 15->14 -->\n",
|
|
"<g id=\"edge37\" class=\"edge\">\n",
|
|
"<title>15->14</title>\n",
|
|
"<path fill=\"none\" stroke=\"#e31a1c\" stroke-width=\"2\" d=\"M1175.31,-118.02C1162.45,-118.02 1145.49,-118.02 1130.39,-118.02\"/>\n",
|
|
"<polygon fill=\"#e31a1c\" stroke=\"#e31a1c\" stroke-width=\"2\" points=\"1123.15,-118.02 1130.15,-114.87 1126.65,-117.52 1130.15,-117.52 1130.15,-118.02 1130.15,-118.52 1126.65,-118.52 1130.15,-121.17 1123.15,-118.02 1123.15,-118.02\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1141.32\" y=\"-121.82\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.jupyter.SVG object>"
|
|
]
|
|
},
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"print(\"Found a solution:\", spot.solve_game(game, si))\n",
|
|
"spot.highlight_strategy(game)\n",
|
|
"game.show('.g')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "6e1b2985",
|
|
"metadata": {},
|
|
"source": [
|
|
"Once a strategy has been found, it can be extracted as an automaton and simplified using 6 different levels (the default is 2). The output should be interpreted as a mealy automaton, where transition are labeled by combination of input assignments and associated output assignments."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"id": "3574558b",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"simplification lvl 0\n"
|
|
]
|
|
},
|
|
{
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"729pt\" height=\"291pt\"\n",
|
|
" viewBox=\"0.00 0.00 729.00 291.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(0.8264462809917356 0.8264462809917356) rotate(0) translate(4 349.47)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-349.47 881.5,-349.47 881.5,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"435.75\" y=\"-330.27\" font-family=\"Lato\" font-size=\"14.00\">t</text>\n",
|
|
"<text text-anchor=\"start\" x=\"427.75\" y=\"-315.27\" font-family=\"Lato\" font-size=\"14.00\">[all]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-208.47\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-204.77\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-208.47C2.79,-208.47 17.15,-208.47 30.63,-208.47\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-208.47 30.94,-211.62 34.44,-208.47 30.94,-208.47 30.94,-208.47 30.94,-208.47 34.44,-208.47 30.94,-205.32 37.94,-208.47 37.94,-208.47\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"180\" cy=\"-143.47\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"180\" y=\"-139.77\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M72.45,-200.23C93.9,-188.8 132.81,-168.07 157.21,-155.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"163.67,-151.63 158.98,-157.7 160.59,-153.28 157.5,-154.92 157.5,-154.92 157.5,-154.92 160.59,-153.28 156.01,-152.14 163.67,-151.63 163.67,-151.63\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-192.27\" font-family=\"Lato\" font-size=\"14.00\">!i0 & !i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"340\" cy=\"-205.47\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"340\" y=\"-201.77\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.05,-211.08C114.08,-216.77 217.14,-228.81 302,-216.47 306.53,-215.81 311.27,-214.72 315.79,-213.47\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"322.65,-211.43 316.84,-216.45 319.3,-212.43 315.94,-213.43 315.94,-213.43 315.94,-213.43 319.3,-212.43 315.04,-210.41 322.65,-211.43 322.65,-211.43\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"158\" y=\"-225.27\" font-family=\"Lato\" font-size=\"14.00\">i0 & !i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"340\" cy=\"-78.47\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"340\" y=\"-74.77\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M65.85,-193.3C81.09,-168.83 114.85,-121.36 158,-101.47 209.96,-77.5 278.72,-75.91 314.69,-77.04\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"321.86,-77.32 314.74,-80.2 318.36,-77.18 314.86,-77.05 314.86,-77.05 314.86,-77.05 318.36,-77.18 314.98,-73.9 321.86,-77.32 321.86,-77.32\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"158\" y=\"-105.27\" font-family=\"Lato\" font-size=\"14.00\">!i0 & i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"707\" cy=\"-116.47\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"707\" y=\"-112.77\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->4 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M67.71,-222.71C87.06,-246.68 130.4,-292.47 179,-292.47 179,-292.47 179,-292.47 516,-292.47 605.54,-292.47 670.74,-185.97 695.29,-138.66\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"698.49,-132.39 698.11,-140.06 696.9,-135.51 695.31,-138.63 695.31,-138.63 695.31,-138.63 696.9,-135.51 692.5,-137.2 698.49,-132.39 698.49,-132.39\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"320\" y=\"-296.27\" font-family=\"Lato\" font-size=\"14.00\">i0 & i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M169.29,-158.26C165.81,-168.88 169.38,-179.47 180,-179.47 188.13,-179.47 192.13,-173.26 192,-165.59\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"190.71,-158.26 195.02,-164.61 191.31,-161.7 191.92,-165.15 191.92,-165.15 191.92,-165.15 191.31,-161.7 188.82,-165.7 190.71,-158.26 190.71,-158.26\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"137.5\" y=\"-183.27\" font-family=\"Lato\" font-size=\"14.00\">!i0 & !i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M193.84,-155.42C201.06,-161.59 210.5,-168.77 220,-173.47 250.94,-188.76 290.13,-197.49 314.9,-201.85\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"322.1,-203.06 314.67,-205 318.65,-202.48 315.19,-201.9 315.19,-201.9 315.19,-201.9 318.65,-202.48 315.72,-198.79 322.1,-203.06 322.1,-203.06\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"220\" y=\"-202.27\" font-family=\"Lato\" font-size=\"14.00\">i0 & !i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M197.62,-137.93C228.46,-127.61 292.32,-106.09 302,-101.47 307.59,-98.8 313.4,-95.48 318.7,-92.2\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"324.66,-88.42 320.44,-94.83 321.71,-90.3 318.75,-92.17 318.75,-92.17 318.75,-92.17 321.71,-90.3 317.06,-89.51 324.66,-88.42 324.66,-88.42\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"220\" y=\"-133.27\" font-family=\"Lato\" font-size=\"14.00\">!i0 & i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->4 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M198.08,-144.53C204.89,-144.91 212.82,-145.28 220,-145.47 256.43,-146.4 265.56,-146.25 302,-145.47 455.89,-142.13 495.59,-151.96 648,-130.47 659.5,-128.84 672.05,-125.96 682.53,-123.22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"689.41,-121.37 683.47,-126.23 686.03,-122.28 682.65,-123.19 682.65,-123.19 682.65,-123.19 686.03,-122.28 681.84,-120.15 689.41,-121.37 689.41,-121.37\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"380\" y=\"-149.27\" font-family=\"Lato\" font-size=\"14.00\">i0 & i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M327.61,-218.76C322.31,-229.86 326.44,-241.47 340,-241.47 350.8,-241.47 355.62,-234.1 354.45,-225.49\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"352.39,-218.76 357.46,-224.53 353.42,-222.1 354.44,-225.45 354.44,-225.45 354.44,-225.45 353.42,-222.1 351.43,-226.37 352.39,-218.76 352.39,-218.76\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"313.5\" y=\"-245.27\" font-family=\"Lato\" font-size=\"14.00\">!i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->4 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M358,-207.45C406.18,-212.32 546.68,-221.2 648,-173.47 665.5,-165.22 680.88,-149.47 691.4,-136.62\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"695.88,-130.95 694.01,-138.39 693.71,-133.7 691.54,-136.44 691.54,-136.44 691.54,-136.44 693.71,-133.7 689.07,-134.49 695.88,-130.95 695.88,-130.95\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"490.5\" y=\"-213.27\" font-family=\"Lato\" font-size=\"14.00\">i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M327.61,-91.76C322.31,-102.86 326.44,-114.47 340,-114.47 350.8,-114.47 355.62,-107.1 354.45,-98.49\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"352.39,-91.76 357.46,-97.53 353.42,-95.1 354.44,-98.45 354.44,-98.45 354.44,-98.45 353.42,-95.1 351.43,-99.37 352.39,-91.76 352.39,-91.76\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"301\" y=\"-118.27\" font-family=\"Lato\" font-size=\"14.00\">!i0 & i1 & o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->4 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>3->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M356.9,-85.64C363.33,-88.23 370.89,-90.9 378,-92.47 489.29,-117.05 626.44,-117.89 681.47,-117.06\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"688.68,-116.94 681.73,-120.21 685.18,-117 681.68,-117.06 681.68,-117.06 681.68,-117.06 685.18,-117 681.62,-113.91 688.68,-116.94 688.68,-116.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"478\" y=\"-118.27\" font-family=\"Lato\" font-size=\"14.00\">i0 & i1 & o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5 -->\n",
|
|
"<g id=\"node7\" class=\"node\">\n",
|
|
"<title>5</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"851\" cy=\"-47.47\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"851\" y=\"-43.77\" font-family=\"Lato\" font-size=\"14.00\">5</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->5 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>3->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M347.24,-61.73C353.11,-48.4 363.22,-30.37 378,-20.47 415.51,4.68 433.02,-6.48 478,-2.47 610.04,9.32 767.59,-26.17 826.36,-41.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"833.35,-42.94 825.79,-44.25 829.97,-42.07 826.58,-41.2 826.58,-41.2 826.58,-41.2 829.97,-42.07 827.36,-38.15 833.35,-42.94 833.35,-42.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"570\" y=\"-11.27\" font-family=\"Lato\" font-size=\"14.00\">i0 & !i1 & o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6 -->\n",
|
|
"<g id=\"node8\" class=\"node\">\n",
|
|
"<title>6</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"515\" cy=\"-29.47\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"515\" y=\"-25.77\" font-family=\"Lato\" font-size=\"14.00\">6</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->6 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>3->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M350.41,-63.59C356.96,-54.63 366.56,-43.92 378,-38.47 414.07,-21.25 461.75,-22.84 490.01,-25.91\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"497.1,-26.75 489.78,-29.05 493.63,-26.34 490.15,-25.92 490.15,-25.92 490.15,-25.92 493.63,-26.34 490.53,-22.79 497.1,-26.75 497.1,-26.75\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"378\" y=\"-42.27\" font-family=\"Lato\" font-size=\"14.00\">!i0 & !i1 & o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge17\" class=\"edge\">\n",
|
|
"<title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M694.16,-129.38C688.31,-140.6 692.59,-152.47 707,-152.47 718.49,-152.47 723.54,-144.93 722.15,-136.19\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"719.84,-129.38 725.07,-135 720.96,-132.7 722.09,-136.01 722.09,-136.01 722.09,-136.01 720.96,-132.7 719.11,-137.03 719.84,-129.38 719.84,-129.38\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"684\" y=\"-156.27\" font-family=\"Lato\" font-size=\"14.00\">i1 & o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->5 -->\n",
|
|
"<g id=\"edge16\" class=\"edge\">\n",
|
|
"<title>4->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M725.27,-115.88C747.6,-114.39 786.95,-109.21 815,-91.47 823.81,-85.89 831.36,-77.31 837.17,-69.21\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"841.26,-63.15 839.95,-70.72 839.3,-66.05 837.34,-68.95 837.34,-68.95 837.34,-68.95 839.3,-66.05 834.73,-67.19 841.26,-63.15 841.26,-63.15\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"766\" y=\"-114.27\" font-family=\"Lato\" font-size=\"14.00\">!i1 & o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->4 -->\n",
|
|
"<g id=\"edge19\" class=\"edge\">\n",
|
|
"<title>5->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M833.23,-50.59C815.78,-54.27 787.99,-61.32 766,-72.47 751.6,-79.76 737.13,-90.73 726.25,-99.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"720.9,-104.49 724.15,-97.54 723.55,-102.21 726.21,-99.93 726.21,-99.93 726.21,-99.93 723.55,-102.21 728.26,-102.32 720.9,-104.49 720.9,-104.49\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"766\" y=\"-76.27\" font-family=\"Lato\" font-size=\"14.00\">i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->5 -->\n",
|
|
"<g id=\"edge18\" class=\"edge\">\n",
|
|
"<title>5->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M840.85,-62.63C837.77,-73.13 841.16,-83.47 851,-83.47 858.54,-83.47 862.29,-77.41 862.25,-69.86\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"861.15,-62.63 865.32,-69.08 861.68,-66.09 862.2,-69.55 862.2,-69.55 862.2,-69.55 861.68,-66.09 859.09,-70.03 861.15,-62.63 861.15,-62.63\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"824.5\" y=\"-87.27\" font-family=\"Lato\" font-size=\"14.00\">!i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->3 -->\n",
|
|
"<g id=\"edge23\" class=\"edge\">\n",
|
|
"<title>6->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M498.74,-37.29C488.11,-42.48 473.47,-49.11 460,-53.47 427.78,-63.88 389.22,-71.06 364.91,-74.97\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"357.85,-76.08 364.27,-71.88 361.3,-75.53 364.76,-74.99 364.76,-74.99 364.76,-74.99 361.3,-75.53 365.25,-78.1 357.85,-76.08 357.85,-76.08\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"378\" y=\"-77.27\" font-family=\"Lato\" font-size=\"14.00\">!i0 & i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->4 -->\n",
|
|
"<g id=\"edge21\" class=\"edge\">\n",
|
|
"<title>6->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M531.96,-36.18C556.9,-46.73 606.53,-68 648,-87.47 659.98,-93.09 673.2,-99.67 683.98,-105.13\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"690.35,-108.38 682.68,-108.01 687.23,-106.79 684.11,-105.2 684.11,-105.2 684.11,-105.2 687.23,-106.79 685.54,-102.39 690.35,-108.38 690.35,-108.38\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"570\" y=\"-91.27\" font-family=\"Lato\" font-size=\"14.00\">i0 & i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->5 -->\n",
|
|
"<g id=\"edge20\" class=\"edge\">\n",
|
|
"<title>6->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M533.02,-30.38C588.08,-33.35 761.48,-42.69 825.73,-46.16\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"833.01,-46.55 825.85,-49.32 829.52,-46.36 826.02,-46.17 826.02,-46.17 826.02,-46.17 829.52,-46.36 826.19,-43.03 833.01,-46.55 833.01,-46.55\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"666\" y=\"-46.27\" font-family=\"Lato\" font-size=\"14.00\">i0 & !i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->6 -->\n",
|
|
"<g id=\"edge22\" class=\"edge\">\n",
|
|
"<title>6->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M500.99,-41.26C493.26,-52.8 497.93,-65.47 515,-65.47 528.87,-65.47 534.56,-57.1 532.05,-47.78\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"529.01,-41.26 534.82,-46.27 530.49,-44.44 531.97,-47.61 531.97,-47.61 531.97,-47.61 530.49,-44.44 529.11,-48.94 529.01,-41.26 529.01,-41.26\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"472.5\" y=\"-69.27\" font-family=\"Lato\" font-size=\"14.00\">!i0 & !i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.jupyter.SVG object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"simplification lvl 1\n"
|
|
]
|
|
},
|
|
{
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"385pt\" height=\"216pt\"\n",
|
|
" viewBox=\"0.00 0.00 385.00 216.50\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 212.5)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-212.5 381,-212.5 381,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"185.5\" y=\"-193.3\" font-family=\"Lato\" font-size=\"14.00\">t</text>\n",
|
|
"<text text-anchor=\"start\" x=\"177.5\" y=\"-178.3\" font-family=\"Lato\" font-size=\"14.00\">[all]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-31.5\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-27.8\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-31.5C2.79,-31.5 17.15,-31.5 30.63,-31.5\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-31.5 30.94,-34.65 34.44,-31.5 30.94,-31.5 30.94,-31.5 30.94,-31.5 34.44,-31.5 30.94,-28.35 37.94,-31.5 37.94,-31.5\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"180\" cy=\"-86.5\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"180\" y=\"-82.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M68.39,-45.13C74.7,-51.87 83.07,-59.6 92,-64.5 111.6,-75.25 136.56,-80.86 154.72,-83.72\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"162.05,-84.78 154.67,-86.89 158.58,-84.28 155.12,-83.77 155.12,-83.77 155.12,-83.77 158.58,-84.28 155.57,-80.66 162.05,-84.78 162.05,-84.78\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-84.3\" font-family=\"Lato\" font-size=\"14.00\">!i0 & !i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.22,-31.29C91.75,-31.76 119.23,-34.45 140,-45.5 149.4,-50.5 157.83,-58.61 164.43,-66.31\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"169.1,-72.05 162.24,-68.61 166.89,-69.34 164.68,-66.62 164.68,-66.62 164.68,-66.62 166.89,-69.34 167.13,-64.63 169.1,-72.05 169.1,-72.05\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-49.3\" font-family=\"Lato\" font-size=\"14.00\">i0 & !i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"338\" cy=\"-67.5\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"338\" y=\"-63.8\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.77,-28.56C114.49,-22.15 221.21,-9.86 302,-40.5 308.09,-42.81 313.98,-46.55 319.14,-50.52\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"324.83,-55.22 317.43,-53.19 322.14,-52.99 319.44,-50.76 319.44,-50.76 319.44,-50.76 322.14,-52.99 321.44,-48.33 324.83,-55.22 324.83,-55.22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"158\" y=\"-24.3\" font-family=\"Lato\" font-size=\"14.00\">!i0 & i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M72.86,-24.6C78.79,-22.16 85.64,-19.53 92,-17.5 139.06,-2.47 152.77,2.66 202,-1.5 246.92,-5.29 263.79,5.43 302,-18.5 312.18,-24.87 320.27,-35.39 326.09,-45.05\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"329.59,-51.22 323.4,-46.68 327.87,-48.17 326.14,-45.13 326.14,-45.13 326.14,-45.13 327.87,-48.17 328.88,-43.57 329.59,-51.22 329.59,-51.22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"160\" y=\"-5.3\" font-family=\"Lato\" font-size=\"14.00\">i0 & i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M174.29,-103.91C173.22,-113.59 175.12,-122.5 180,-122.5 183.58,-122.5 185.56,-117.69 185.93,-111.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"185.71,-103.91 189.07,-110.81 185.82,-107.41 185.92,-110.9 185.92,-110.9 185.92,-110.9 185.82,-107.41 182.77,-111 185.71,-103.91 185.71,-103.91\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"139\" y=\"-126.3\" font-family=\"Lato\" font-size=\"14.00\">i0 & !i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M171.09,-102.25C164.97,-120.04 167.94,-140.5 180,-140.5 190.55,-140.5 194.15,-124.83 190.78,-109\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"188.91,-102.25 193.81,-108.16 189.84,-105.62 190.78,-109 190.78,-109 190.78,-109 189.84,-105.62 187.74,-109.84 188.91,-102.25 188.91,-102.25\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"137.5\" y=\"-144.3\" font-family=\"Lato\" font-size=\"14.00\">!i0 & !i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M187.7,-102.8C193.96,-115.65 204.66,-132.65 220,-140.5 252.45,-157.09 271.16,-159.91 302,-140.5 318.76,-129.95 327.67,-108.9 332.3,-92.11\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"334.03,-85.21 335.38,-92.77 333.18,-88.61 332.32,-92 332.32,-92 332.32,-92 333.18,-88.61 329.27,-91.24 334.03,-85.21 334.03,-85.21\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"222\" y=\"-157.3\" font-family=\"Lato\" font-size=\"14.00\">i0 & i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M196.5,-94.48C203.49,-97.65 211.96,-100.91 220,-102.5 255.76,-109.55 268.33,-116.44 302,-102.5 309.78,-99.27 316.73,-93.39 322.35,-87.35\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"327.12,-81.84 324.92,-89.2 324.83,-84.49 322.54,-87.13 322.54,-87.13 322.54,-87.13 324.83,-84.49 320.16,-85.07 327.12,-81.84 327.12,-81.84\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"220\" y=\"-114.3\" font-family=\"Lato\" font-size=\"14.00\">!i0 & i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M320.03,-69.56C292.26,-72.95 237.03,-79.67 205.18,-83.55\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"197.99,-84.43 204.56,-80.45 201.47,-84 204.94,-83.58 204.94,-83.58 204.94,-83.58 201.47,-84 205.32,-86.71 197.99,-84.43 197.99,-84.43\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"222\" y=\"-84.3\" font-family=\"Lato\" font-size=\"14.00\">i0 & !i1 & o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M321.76,-59.37C315.77,-56.61 308.73,-53.88 302,-52.5 266.3,-45.17 254.13,-39.71 220,-52.5 211.46,-55.7 203.55,-61.71 197.13,-67.8\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"192.1,-72.87 194.79,-65.69 194.56,-70.39 197.03,-67.9 197.03,-67.9 197.03,-67.9 194.56,-70.39 199.26,-70.12 192.1,-72.87 192.1,-72.87\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"220\" y=\"-56.3\" font-family=\"Lato\" font-size=\"14.00\">!i0 & !i1 & o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M331.27,-84.53C329.89,-94.36 332.14,-103.5 338,-103.5 342.4,-103.5 344.76,-98.36 345.09,-91.64\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"344.73,-84.53 348.23,-91.37 344.91,-88.03 345.08,-91.53 345.08,-91.53 345.08,-91.53 344.91,-88.03 341.93,-91.68 344.73,-84.53 344.73,-84.53\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"301\" y=\"-107.3\" font-family=\"Lato\" font-size=\"14.00\">i0 & i1 & o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M327.77,-82.42C320.04,-100.39 323.45,-121.5 338,-121.5 350.73,-121.5 354.93,-105.34 350.6,-89.26\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"348.23,-82.42 353.5,-88 349.38,-85.73 350.53,-89.04 350.53,-89.04 350.53,-89.04 349.38,-85.73 347.55,-90.07 348.23,-82.42 348.23,-82.42\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"299\" y=\"-125.3\" font-family=\"Lato\" font-size=\"14.00\">!i0 & i1 & o0</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.jupyter.SVG object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"simplification lvl 2\n"
|
|
]
|
|
},
|
|
{
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"261pt\" height=\"186pt\"\n",
|
|
" viewBox=\"0.00 0.00 260.50 185.87\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 181.87)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-181.87 256.5,-181.87 256.5,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"123.25\" y=\"-162.67\" font-family=\"Lato\" font-size=\"14.00\">t</text>\n",
|
|
"<text text-anchor=\"start\" x=\"115.25\" y=\"-147.67\" font-family=\"Lato\" font-size=\"14.00\">[all]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-55.87\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-52.17\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->1 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-55.87C2.79,-55.87 17.15,-55.87 30.63,-55.87\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-55.87 30.94,-59.02 34.44,-55.87 30.94,-55.87 30.94,-55.87 30.94,-55.87 34.44,-55.87 30.94,-52.72 37.94,-55.87 37.94,-55.87\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M52.76,-73.66C52.21,-83.19 53.29,-91.87 56,-91.87 57.99,-91.87 59.1,-87.19 59.33,-80.93\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"59.24,-73.66 62.48,-80.62 59.28,-77.16 59.33,-80.66 59.33,-80.66 59.33,-80.66 59.28,-77.16 56.18,-80.7 59.24,-73.66 59.24,-73.66\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"19\" y=\"-95.67\" font-family=\"Lato\" font-size=\"14.00\">i0 & i1 & o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M50.68,-73.29C47.65,-90.67 49.43,-109.87 56,-109.87 61.7,-109.87 63.79,-95.43 62.27,-80.26\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"61.32,-73.29 65.39,-79.8 61.79,-76.76 62.26,-80.23 62.26,-80.23 62.26,-80.23 61.79,-76.76 59.14,-80.66 61.32,-73.29 61.32,-73.29\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"17\" y=\"-113.67\" font-family=\"Lato\" font-size=\"14.00\">!i0 & i1 & o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"210\" cy=\"-55.87\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"210\" y=\"-52.17\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M66.88,-70.22C73.09,-77.92 81.84,-86.67 92,-90.87 125.67,-104.82 140.33,-104.82 174,-90.87 181.78,-87.65 188.73,-81.77 194.35,-75.73\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"199.12,-70.22 196.92,-77.57 196.83,-72.86 194.54,-75.51 194.54,-75.51 194.54,-75.51 196.83,-72.86 192.16,-73.45 199.12,-70.22 199.12,-70.22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-104.67\" font-family=\"Lato\" font-size=\"14.00\">i0 & !i1 & o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.14,-55.87C101.05,-55.87 153.34,-55.87 184.3,-55.87\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"191.69,-55.87 184.69,-59.02 188.19,-55.87 184.69,-55.87 184.69,-55.87 184.69,-55.87 188.19,-55.87 184.69,-52.72 191.69,-55.87 191.69,-55.87\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-59.67\" font-family=\"Lato\" font-size=\"14.00\">!i0 & !i1 & o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M194.28,-46.33C188.25,-42.96 181.04,-39.58 174,-37.87 138.58,-29.3 127.42,-29.3 92,-37.87 87.27,-39.02 82.46,-40.92 77.99,-43.07\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"71.72,-46.33 76.47,-40.31 74.82,-44.72 77.93,-43.1 77.93,-43.1 77.93,-43.1 74.82,-44.72 79.38,-45.89 71.72,-46.33 71.72,-46.33\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-41.67\" font-family=\"Lato\" font-size=\"14.00\">i0 & i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M201.02,-39.74C195.09,-29.7 185.96,-17.64 174,-11.87 141.17,3.96 124.83,3.96 92,-11.87 82.47,-16.47 74.74,-25.06 68.99,-33.44\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"64.98,-39.74 66.08,-32.14 66.86,-36.78 68.74,-33.83 68.74,-33.83 68.74,-33.83 66.86,-36.78 71.4,-35.52 64.98,-39.74 64.98,-39.74\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-15.67\" font-family=\"Lato\" font-size=\"14.00\">!i0 & i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M203.27,-72.91C201.89,-82.73 204.14,-91.87 210,-91.87 214.4,-91.87 216.76,-86.73 217.09,-80.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"216.73,-72.91 220.23,-79.75 216.91,-76.41 217.08,-79.9 217.08,-79.9 217.08,-79.9 216.91,-76.41 213.93,-80.06 216.73,-72.91 216.73,-72.91\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"169\" y=\"-95.67\" font-family=\"Lato\" font-size=\"14.00\">i0 & !i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M199.77,-70.8C192.04,-88.77 195.45,-109.87 210,-109.87 222.73,-109.87 226.93,-93.72 222.6,-77.64\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"220.23,-70.8 225.5,-76.38 221.38,-74.11 222.53,-77.41 222.53,-77.41 222.53,-77.41 221.38,-74.11 219.55,-78.45 220.23,-70.8 220.23,-70.8\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"167.5\" y=\"-113.67\" font-family=\"Lato\" font-size=\"14.00\">!i0 & !i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.jupyter.SVG object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"simplification lvl 3\n"
|
|
]
|
|
},
|
|
{
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"212pt\" height=\"120pt\"\n",
|
|
" viewBox=\"0.00 0.00 211.50 120.02\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 116.02)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-116.02 207.5,-116.02 207.5,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"98.75\" y=\"-96.82\" font-family=\"Lato\" font-size=\"14.00\">t</text>\n",
|
|
"<text text-anchor=\"start\" x=\"90.75\" y=\"-81.82\" font-family=\"Lato\" font-size=\"14.00\">[all]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-23.02\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-19.32\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-23.02C2.79,-23.02 17.15,-23.02 30.63,-23.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-23.02 30.94,-26.17 34.44,-23.02 30.94,-23.02 30.94,-23.02 30.94,-23.02 34.44,-23.02 30.94,-19.87 37.94,-23.02 37.94,-23.02\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.62,-40.06C48.32,-49.88 50.45,-59.02 56,-59.02 60.17,-59.02 62.4,-53.88 62.71,-47.16\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-40.06 65.85,-46.9 62.54,-43.55 62.71,-47.05 62.71,-47.05 62.71,-47.05 62.54,-43.55 59.56,-47.2 62.38,-40.06 62.38,-40.06\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"33\" y=\"-62.82\" font-family=\"Lato\" font-size=\"14.00\">i1 & o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"177\" cy=\"-23.02\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"177\" y=\"-19.32\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.05,-23.02C94.46,-23.02 128.78,-23.02 151.9,-23.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"158.98,-23.02 151.98,-26.17 155.48,-23.02 151.98,-23.02 151.98,-23.02 151.98,-23.02 155.48,-23.02 151.98,-19.87 158.98,-23.02 158.98,-23.02\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-26.82\" font-family=\"Lato\" font-size=\"14.00\">!i1 & o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M161.69,-13.15C155.6,-9.53 148.24,-5.86 141,-4.02 119.89,1.34 113.11,1.34 92,-4.02 87.14,-5.25 82.22,-7.32 77.67,-9.64\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"71.31,-13.15 75.91,-7.01 74.37,-11.46 77.44,-9.76 77.44,-9.76 77.44,-9.76 74.37,-11.46 78.96,-12.52 71.31,-13.15 71.31,-13.15\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-7.82\" font-family=\"Lato\" font-size=\"14.00\">i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M166.85,-38.19C163.77,-48.68 167.16,-59.02 177,-59.02 184.54,-59.02 188.29,-52.96 188.25,-45.41\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"187.15,-38.19 191.32,-44.63 187.68,-41.65 188.2,-45.11 188.2,-45.11 188.2,-45.11 187.68,-41.65 185.09,-45.58 187.15,-38.19 187.15,-38.19\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"150.5\" y=\"-62.82\" font-family=\"Lato\" font-size=\"14.00\">!i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.jupyter.SVG object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"simplification lvl 4\n"
|
|
]
|
|
},
|
|
{
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"208pt\" height=\"120pt\"\n",
|
|
" viewBox=\"0.00 0.00 208.00 120.02\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 116.02)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-116.02 204,-116.02 204,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"97\" y=\"-96.82\" font-family=\"Lato\" font-size=\"14.00\">t</text>\n",
|
|
"<text text-anchor=\"start\" x=\"89\" y=\"-81.82\" font-family=\"Lato\" font-size=\"14.00\">[all]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-23.02\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-19.32\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-23.02C2.79,-23.02 17.15,-23.02 30.63,-23.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-23.02 30.94,-26.17 34.44,-23.02 30.94,-23.02 30.94,-23.02 30.94,-23.02 34.44,-23.02 30.94,-19.87 37.94,-23.02 37.94,-23.02\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.62,-40.06C48.32,-49.88 50.45,-59.02 56,-59.02 60.17,-59.02 62.4,-53.88 62.71,-47.16\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-40.06 65.85,-46.9 62.54,-43.55 62.71,-47.05 62.71,-47.05 62.71,-47.05 62.54,-43.55 59.56,-47.2 62.38,-40.06 62.38,-40.06\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"29.5\" y=\"-62.82\" font-family=\"Lato\" font-size=\"14.00\">!i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"177\" cy=\"-23.02\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"177\" y=\"-19.32\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.05,-23.02C94.46,-23.02 128.78,-23.02 151.9,-23.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"158.98,-23.02 151.98,-26.17 155.48,-23.02 151.98,-23.02 151.98,-23.02 151.98,-23.02 155.48,-23.02 151.98,-19.87 158.98,-23.02 158.98,-23.02\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-26.82\" font-family=\"Lato\" font-size=\"14.00\">i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M161.69,-13.15C155.6,-9.53 148.24,-5.86 141,-4.02 119.89,1.34 113.11,1.34 92,-4.02 87.14,-5.25 82.22,-7.32 77.67,-9.64\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"71.31,-13.15 75.91,-7.01 74.37,-11.46 77.44,-9.76 77.44,-9.76 77.44,-9.76 74.37,-11.46 78.96,-12.52 71.31,-13.15 71.31,-13.15\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-7.82\" font-family=\"Lato\" font-size=\"14.00\">!i1 & o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M166.85,-38.19C163.77,-48.68 167.16,-59.02 177,-59.02 184.54,-59.02 188.29,-52.96 188.25,-45.41\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"187.15,-38.19 191.32,-44.63 187.68,-41.65 188.2,-45.11 188.2,-45.11 188.2,-45.11 187.68,-41.65 185.09,-45.58 187.15,-38.19 187.15,-38.19\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"154\" y=\"-62.82\" font-family=\"Lato\" font-size=\"14.00\">i1 & o0</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.jupyter.SVG object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"simplification lvl 5\n"
|
|
]
|
|
},
|
|
{
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"212pt\" height=\"120pt\"\n",
|
|
" viewBox=\"0.00 0.00 211.50 120.02\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 116.02)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-116.02 207.5,-116.02 207.5,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"98.75\" y=\"-96.82\" font-family=\"Lato\" font-size=\"14.00\">t</text>\n",
|
|
"<text text-anchor=\"start\" x=\"90.75\" y=\"-81.82\" font-family=\"Lato\" font-size=\"14.00\">[all]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-23.02\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-19.32\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-23.02C2.79,-23.02 17.15,-23.02 30.63,-23.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-23.02 30.94,-26.17 34.44,-23.02 30.94,-23.02 30.94,-23.02 30.94,-23.02 34.44,-23.02 30.94,-19.87 37.94,-23.02 37.94,-23.02\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.62,-40.06C48.32,-49.88 50.45,-59.02 56,-59.02 60.17,-59.02 62.4,-53.88 62.71,-47.16\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"62.38,-40.06 65.85,-46.9 62.54,-43.55 62.71,-47.05 62.71,-47.05 62.71,-47.05 62.54,-43.55 59.56,-47.2 62.38,-40.06 62.38,-40.06\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"33\" y=\"-62.82\" font-family=\"Lato\" font-size=\"14.00\">i1 & o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"177\" cy=\"-23.02\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"177\" y=\"-19.32\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.05,-23.02C94.46,-23.02 128.78,-23.02 151.9,-23.02\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"158.98,-23.02 151.98,-26.17 155.48,-23.02 151.98,-23.02 151.98,-23.02 151.98,-23.02 155.48,-23.02 151.98,-19.87 158.98,-23.02 158.98,-23.02\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-26.82\" font-family=\"Lato\" font-size=\"14.00\">!i1 & o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->0 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>1->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M161.69,-13.15C155.6,-9.53 148.24,-5.86 141,-4.02 119.89,1.34 113.11,1.34 92,-4.02 87.14,-5.25 82.22,-7.32 77.67,-9.64\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"71.31,-13.15 75.91,-7.01 74.37,-11.46 77.44,-9.76 77.44,-9.76 77.44,-9.76 74.37,-11.46 78.96,-12.52 71.31,-13.15 71.31,-13.15\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-7.82\" font-family=\"Lato\" font-size=\"14.00\">i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M166.85,-38.19C163.77,-48.68 167.16,-59.02 177,-59.02 184.54,-59.02 188.29,-52.96 188.25,-45.41\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"187.15,-38.19 191.32,-44.63 187.68,-41.65 188.2,-45.11 188.2,-45.11 188.2,-45.11 187.68,-41.65 185.09,-45.58 187.15,-38.19 187.15,-38.19\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"150.5\" y=\"-62.82\" font-family=\"Lato\" font-size=\"14.00\">!i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.jupyter.SVG object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"# We have different levels of simplification:\n",
|
|
"# 0 : No simplification\n",
|
|
"# 1 : bisimulation-based reduction\n",
|
|
"# 2 : bisimulation-based reduction with output output assignement\n",
|
|
"# 3 : SAT-based exact minimization\n",
|
|
"# 4 : First 1 then 3 (exact)\n",
|
|
"# 5 : First 2 then 3 (not exact)\n",
|
|
"for i in range(6):\n",
|
|
" print(\"simplification lvl\", i)\n",
|
|
" si.minimize_lvl = i\n",
|
|
" strat = spot.create_strategy(game, si)\n",
|
|
" display(strat.show())"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "95018bed",
|
|
"metadata": {},
|
|
"source": [
|
|
"Alternatively, the `apply_strategy` is a more low-level function that can be used to restrict the automaton to the part where player 1 is winning, without simplifying it. It's second argument controls whether pairs of transitions corresponding to each player should be fused back into a single transition. The third argument controls whether the game's acceptance condition should be copied."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"id": "eadda15f",
|
|
"metadata": {},
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"729pt\" height=\"240pt\"\n",
|
|
" viewBox=\"0.00 0.00 729.00 240.19\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(0.5235602094240838 0.5235602094240838) rotate(0) translate(4 455)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-455 1389.13,-455 1389.13,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"689.57\" y=\"-435.8\" font-family=\"Lato\" font-size=\"14.00\">t</text>\n",
|
|
"<text text-anchor=\"start\" x=\"681.57\" y=\"-420.8\" font-family=\"Lato\" font-size=\"14.00\">[all]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-234\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-230.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-234C2.79,-234 17.15,-234 30.63,-234\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-234 30.94,-237.15 34.44,-234 30.94,-234 30.94,-234 30.94,-234 34.44,-234 30.94,-230.85 37.94,-234 37.94,-234\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"180.98,-295 158.02,-277 180.98,-259 203.94,-277 180.98,-295\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"180.98\" y=\"-273.3\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.33,-239.71C95.1,-247.32 133.68,-260.81 157.99,-269.31\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"164.74,-271.67 157.09,-272.34 161.44,-270.52 158.13,-269.36 158.13,-269.36 158.13,-269.36 161.44,-270.52 159.17,-266.39 164.74,-271.67 164.74,-271.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-264.8\" font-family=\"Lato\" font-size=\"14.00\">!i0 & !i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"244.94,-361 221.98,-343 244.94,-325 267.89,-343 244.94,-361\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"244.94\" y=\"-339.3\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->4 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M65.74,-249.35C71.99,-259.21 81.19,-271.67 92,-280 131.57,-310.5 188.03,-328.74 219.8,-337.23\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"226.95,-339.08 219.38,-340.37 223.56,-338.2 220.17,-337.32 220.17,-337.32 220.17,-337.32 223.56,-338.2 220.96,-334.28 226.95,-339.08 226.95,-339.08\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-310.8\" font-family=\"Lato\" font-size=\"14.00\">i0 & !i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>6</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"244.94,-207 221.98,-189 244.94,-171 267.89,-189 244.94,-207\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"244.94\" y=\"-185.3\" font-family=\"Lato\" font-size=\"14.00\">6</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->6 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M73.59,-230.01C106.76,-222.02 181.39,-204.06 219.92,-194.78\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"227.12,-193.05 221.05,-197.75 223.71,-193.87 220.31,-194.69 220.31,-194.69 220.31,-194.69 223.71,-193.87 219.57,-191.63 227.12,-193.05 227.12,-193.05\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-228.8\" font-family=\"Lato\" font-size=\"14.00\">!i0 & i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>8</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"363.92,-86 340.96,-68 363.92,-50 386.87,-68 363.92,-86\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"363.92\" y=\"-64.3\" font-family=\"Lato\" font-size=\"14.00\">8</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->8 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->8</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M71.05,-223.8C77.35,-219.38 84.93,-214.26 92,-210 182.87,-155.29 296.87,-99.51 342.58,-77.63\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"349.07,-74.54 344.11,-80.39 345.91,-76.04 342.75,-77.55 342.75,-77.55 342.75,-77.55 345.91,-76.04 341.4,-74.71 349.07,-74.54 349.07,-74.54\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"160.98\" y=\"-175.8\" font-family=\"Lato\" font-size=\"14.00\">i0 & i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node7\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"303.92\" cy=\"-302\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"303.92\" y=\"-298.3\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->1 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M199.56,-280.64C220.49,-284.96 255.53,-292.21 278.93,-297.04\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"286.09,-298.52 278.6,-300.19 282.66,-297.81 279.23,-297.1 279.23,-297.1 279.23,-297.1 282.66,-297.81 279.87,-294.02 286.09,-298.52 286.09,-298.52\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"244.94\" y=\"-297.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node12\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"541.58\" cy=\"-364\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"541.58\" y=\"-360.3\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->3 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>4->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M259.1,-350.22C285.8,-364.31 348.65,-394.74 405.92,-402 450.29,-407.62 465.76,-408.37 505.58,-388 510.75,-385.36 516.05,-382.07 520.91,-378.78\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"526.79,-374.67 522.86,-381.26 523.92,-376.68 521.05,-378.68 521.05,-378.68 521.05,-378.68 523.92,-376.68 519.25,-376.1 526.79,-374.67 526.79,-374.67\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"363.92\" y=\"-401.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5 -->\n",
|
|
"<g id=\"node13\" class=\"node\">\n",
|
|
"<title>5</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"541.58\" cy=\"-161\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"541.58\" y=\"-157.3\" font-family=\"Lato\" font-size=\"14.00\">5</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->5 -->\n",
|
|
"<g id=\"edge18\" class=\"edge\">\n",
|
|
"<title>6->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M265.73,-187.12C317.96,-182.16 459.42,-168.71 516.36,-163.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"523.5,-162.62 516.83,-166.42 520.02,-162.95 516.53,-163.29 516.53,-163.29 516.53,-163.29 520.02,-162.95 516.23,-160.15 523.5,-162.62 523.5,-162.62\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"363.92\" y=\"-182.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7 -->\n",
|
|
"<g id=\"node18\" class=\"node\">\n",
|
|
"<title>7</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1019.81\" cy=\"-56\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1019.81\" y=\"-52.3\" font-family=\"Lato\" font-size=\"14.00\">7</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8->7 -->\n",
|
|
"<g id=\"edge21\" class=\"edge\">\n",
|
|
"<title>8->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M375.91,-59.19C397.32,-42.97 446.64,-10 494.08,-10 494.08,-10 494.08,-10 915.47,-10 946.79,-10 979.2,-27.86 999.18,-41.32\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1004.96,-45.33 997.42,-43.93 1002.09,-43.34 999.21,-41.34 999.21,-41.34 999.21,-41.34 1002.09,-43.34 1001.01,-38.75 1004.96,-45.33 1004.96,-45.33\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"673.91\" y=\"-13.8\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 13 -->\n",
|
|
"<g id=\"node8\" class=\"node\">\n",
|
|
"<title>13</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"914.47,-220 884.31,-202 914.47,-184 944.64,-202 914.47,-220\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"914.47\" y=\"-198.3\" font-family=\"Lato\" font-size=\"14.00\">13</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->13 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->13</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M321.5,-298.02C354.27,-290.51 429.72,-275 494.08,-275 494.08,-275 494.08,-275 779.69,-275 826.97,-275 873.42,-239.44 897.17,-217.96\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"902.43,-213.09 899.43,-220.15 899.86,-215.46 897.29,-217.84 897.29,-217.84 897.29,-217.84 899.86,-215.46 895.16,-215.53 902.43,-213.09 902.43,-213.09\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"581.58\" y=\"-278.8\" font-family=\"Lato\" font-size=\"14.00\">i0 & i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 18 -->\n",
|
|
"<g id=\"node9\" class=\"node\">\n",
|
|
"<title>18</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"436.25,-247 406.08,-229 436.25,-211 466.41,-229 436.25,-247\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"436.25\" y=\"-225.3\" font-family=\"Lato\" font-size=\"14.00\">18</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->18 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->18</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M310.74,-285.26C316.19,-272.16 325.67,-254.61 339.92,-245 357.68,-233.02 381.44,-229.01 400.8,-228\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"407.98,-227.75 401.09,-231.14 404.48,-227.87 400.98,-227.99 400.98,-227.99 400.98,-227.99 404.48,-227.87 400.87,-224.85 407.98,-227.75 407.98,-227.75\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"341.92\" y=\"-248.8\" font-family=\"Lato\" font-size=\"14.00\">!i0 & i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 19 -->\n",
|
|
"<g id=\"node10\" class=\"node\">\n",
|
|
"<title>19</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"436.25,-393 406.08,-375 436.25,-357 466.41,-375 436.25,-393\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"436.25\" y=\"-371.3\" font-family=\"Lato\" font-size=\"14.00\">19</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->19 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->19</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M313.82,-317.44C320.02,-326.94 329.1,-338.65 339.92,-346 359.16,-359.08 384.49,-366.42 404.21,-370.44\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"411.19,-371.78 403.73,-373.56 407.76,-371.12 404.32,-370.46 404.32,-370.46 404.32,-370.46 407.76,-371.12 404.91,-367.37 411.19,-371.78 411.19,-371.78\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"341.92\" y=\"-369.8\" font-family=\"Lato\" font-size=\"14.00\">i0 & !i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 20 -->\n",
|
|
"<g id=\"node11\" class=\"node\">\n",
|
|
"<title>20</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"436.25,-339 406.08,-321 436.25,-303 466.41,-321 436.25,-339\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"436.25\" y=\"-317.3\" font-family=\"Lato\" font-size=\"14.00\">20</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->20 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>1->20</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M322.2,-302.27C339.07,-302.76 365.42,-304.14 387.92,-308 394.82,-309.19 402.18,-310.95 408.98,-312.8\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"416.1,-314.82 408.5,-315.94 412.73,-313.87 409.36,-312.91 409.36,-312.91 409.36,-312.91 412.73,-313.87 410.22,-309.88 416.1,-314.82 416.1,-314.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"339.92\" y=\"-311.8\" font-family=\"Lato\" font-size=\"14.00\">!i0 & !i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 13->7 -->\n",
|
|
"<g id=\"edge27\" class=\"edge\">\n",
|
|
"<title>13->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M926.91,-191.39C932.59,-185.87 939.37,-178.85 944.81,-172 969.24,-141.22 992.83,-102.09 1006.57,-78.06\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1010.18,-71.7 1009.47,-79.34 1008.45,-74.74 1006.73,-77.79 1006.73,-77.79 1006.73,-77.79 1008.45,-74.74 1003.99,-76.23 1010.18,-71.7 1010.18,-71.7\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"962.81\" y=\"-147.8\" font-family=\"Lato\" font-size=\"14.00\">!o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 18->5 -->\n",
|
|
"<g id=\"edge35\" class=\"edge\">\n",
|
|
"<title>18->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M451.18,-219.83C468.96,-208.13 499.83,-187.82 520.23,-174.39\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"526.2,-170.46 522.09,-176.94 523.28,-172.39 520.35,-174.31 520.35,-174.31 520.35,-174.31 523.28,-172.39 518.62,-171.68 526.2,-170.46 526.2,-170.46\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"484.58\" y=\"-200.8\" font-family=\"Lato\" font-size=\"14.00\">!o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 19->3 -->\n",
|
|
"<g id=\"edge36\" class=\"edge\">\n",
|
|
"<title>19->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M450.1,-365.21C459.19,-358.93 471.96,-351.35 484.58,-348 493.6,-345.61 496.46,-346.01 505.58,-348 510.04,-348.97 514.6,-350.56 518.91,-352.37\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"525.4,-355.34 517.72,-355.29 522.21,-353.88 519.03,-352.43 519.03,-352.43 519.03,-352.43 522.21,-353.88 520.34,-349.56 525.4,-355.34 525.4,-355.34\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"484.58\" y=\"-351.8\" font-family=\"Lato\" font-size=\"14.00\">!o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 20->1 -->\n",
|
|
"<g id=\"edge37\" class=\"edge\">\n",
|
|
"<title>20->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M412.84,-325.05C393.23,-327.75 364.17,-329.72 339.92,-323 334.75,-321.57 329.58,-319.15 324.87,-316.45\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"318.75,-312.67 326.36,-313.68 321.73,-314.51 324.7,-316.35 324.7,-316.35 324.7,-316.35 321.73,-314.51 323.05,-319.03 318.75,-312.67 318.75,-312.67\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"353.42\" y=\"-330.8\" font-family=\"Lato\" font-size=\"14.00\">!o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->13 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>3->13</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M559.71,-364.68C611.54,-365.86 769.06,-362.82 866.14,-289 887.57,-272.71 900.49,-243.81 907.29,-223.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"909.45,-217.15 910.29,-224.78 908.37,-220.48 907.3,-223.81 907.3,-223.81 907.3,-223.81 908.37,-220.48 904.3,-222.84 909.45,-217.15 909.45,-217.15\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"724.74\" y=\"-352.8\" font-family=\"Lato\" font-size=\"14.00\">i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->19 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>3->19</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M523.46,-365.82C508.8,-367.38 487.27,-369.67 469.4,-371.58\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"462,-372.37 468.63,-368.49 465.48,-371.99 468.96,-371.62 468.96,-371.62 468.96,-371.62 465.48,-371.99 469.29,-374.76 462,-372.37 462,-372.37\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"487.08\" y=\"-372.8\" font-family=\"Lato\" font-size=\"14.00\">!i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 10 -->\n",
|
|
"<g id=\"node14\" class=\"node\">\n",
|
|
"<title>10</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"1148.14,-142 1117.97,-124 1148.14,-106 1178.3,-124 1148.14,-142\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1148.14\" y=\"-120.3\" font-family=\"Lato\" font-size=\"14.00\">10</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->10 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>5->10</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M550.28,-144.91C556.19,-134.47 565.41,-121.61 577.58,-115 603.42,-100.95 614.18,-111.11 643.58,-110 820.74,-103.3 1033.07,-115.99 1113.79,-121.56\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1121.19,-122.08 1113.98,-124.73 1117.7,-121.83 1114.2,-121.59 1114.2,-121.59 1114.2,-121.59 1117.7,-121.83 1114.42,-118.45 1121.19,-122.08 1121.19,-122.08\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"820.14\" y=\"-113.8\" font-family=\"Lato\" font-size=\"14.00\">i0 & !i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 11 -->\n",
|
|
"<g id=\"node15\" class=\"node\">\n",
|
|
"<title>11</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"1148.14,-36 1117.97,-18 1148.14,0 1178.3,-18 1148.14,-36\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1148.14\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">11</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->11 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>5->11</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M548.61,-144.13C554.14,-131.15 563.61,-113.81 577.58,-104 666.4,-41.64 947.84,-16.06 1055.81,-5 1075.26,-3.01 1080.42,-2.39 1099.81,-5 1107.03,-5.97 1114.7,-7.75 1121.73,-9.68\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1128.49,-11.64 1120.89,-12.71 1125.13,-10.66 1121.77,-9.69 1121.77,-9.69 1121.77,-9.69 1125.13,-10.66 1122.64,-6.66 1128.49,-11.64 1128.49,-11.64\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"822.14\" y=\"-37.8\" font-family=\"Lato\" font-size=\"14.00\">i0 & i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 15 -->\n",
|
|
"<g id=\"node16\" class=\"node\">\n",
|
|
"<title>15</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"673.91,-155 643.75,-137 673.91,-119 704.08,-137 673.91,-155\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"673.91\" y=\"-133.3\" font-family=\"Lato\" font-size=\"14.00\">15</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->15 -->\n",
|
|
"<g id=\"edge16\" class=\"edge\">\n",
|
|
"<title>5->15</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M552,-146.24C558.16,-138.02 567.02,-128.55 577.58,-124 600.64,-114.07 629.48,-120.28 649.36,-127.1\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"656,-129.51 648.34,-130.08 652.71,-128.32 649.42,-127.12 649.42,-127.12 649.42,-127.12 652.71,-128.32 650.5,-124.16 656,-129.51 656,-129.51\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"577.58\" y=\"-127.8\" font-family=\"Lato\" font-size=\"14.00\">!i0 & !i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 16 -->\n",
|
|
"<g id=\"node17\" class=\"node\">\n",
|
|
"<title>16</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"673.91,-209 643.75,-191 673.91,-173 704.08,-191 673.91,-209\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"673.91\" y=\"-187.3\" font-family=\"Lato\" font-size=\"14.00\">16</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->16 -->\n",
|
|
"<g id=\"edge17\" class=\"edge\">\n",
|
|
"<title>5->16</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M557.9,-169.14C563.89,-172.02 570.92,-175.03 577.58,-177 597.69,-182.94 620.97,-186.42 639.48,-188.43\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"646.59,-189.15 639.3,-191.57 643.11,-188.79 639.62,-188.44 639.62,-188.44 639.62,-188.44 643.11,-188.79 639.94,-185.31 646.59,-189.15 646.59,-189.15\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"579.58\" y=\"-189.8\" font-family=\"Lato\" font-size=\"14.00\">!i0 & i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 9 -->\n",
|
|
"<g id=\"node19\" class=\"node\">\n",
|
|
"<title>9</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"1249.47\" cy=\"-185\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1249.47\" y=\"-181.3\" font-family=\"Lato\" font-size=\"14.00\">9</text>\n",
|
|
"</g>\n",
|
|
"<!-- 10->9 -->\n",
|
|
"<g id=\"edge24\" class=\"edge\">\n",
|
|
"<title>10->9</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1164.08,-132.55C1177.2,-140.13 1196.74,-151.57 1213.47,-162 1218.14,-164.91 1223.1,-168.11 1227.78,-171.17\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1233.93,-175.22 1226.35,-174 1231,-173.29 1228.08,-171.37 1228.08,-171.37 1228.08,-171.37 1231,-173.29 1229.81,-168.74 1233.93,-175.22 1233.93,-175.22\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1196.47\" y=\"-165.8\" font-family=\"Lato\" font-size=\"14.00\">o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 11->7 -->\n",
|
|
"<g id=\"edge25\" class=\"edge\">\n",
|
|
"<title>11->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1127.24,-12.4C1108.02,-8.11 1078.57,-4.5 1055.81,-15 1046.73,-19.19 1039.14,-27.01 1033.37,-34.71\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1029.32,-40.52 1030.74,-32.98 1031.32,-37.65 1033.32,-34.78 1033.32,-34.78 1033.32,-34.78 1031.32,-37.65 1035.91,-36.58 1029.32,-40.52 1029.32,-40.52\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1069.31\" y=\"-18.8\" font-family=\"Lato\" font-size=\"14.00\">o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 14 -->\n",
|
|
"<g id=\"node21\" class=\"node\">\n",
|
|
"<title>14</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"778.69\" cy=\"-210\" rx=\"21.4\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"778.69\" y=\"-206.3\" font-family=\"Lato\" font-size=\"14.00\">14</text>\n",
|
|
"</g>\n",
|
|
"<!-- 15->14 -->\n",
|
|
"<g id=\"edge32\" class=\"edge\">\n",
|
|
"<title>15->14</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M688.35,-146.54C705.58,-158.78 735.69,-180.16 756.14,-194.69\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"761.89,-198.78 754.36,-197.29 759.04,-196.75 756.19,-194.73 756.19,-194.73 756.19,-194.73 759.04,-196.75 758.01,-192.16 761.89,-198.78 761.89,-198.78\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"722.24\" y=\"-185.8\" font-family=\"Lato\" font-size=\"14.00\">o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 16->5 -->\n",
|
|
"<g id=\"edge33\" class=\"edge\">\n",
|
|
"<title>16->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M661.56,-180.06C652.6,-172.22 639.34,-162.32 625.58,-158 606.37,-151.97 583.43,-153.41 566.54,-155.96\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"559.24,-157.19 565.62,-152.92 562.69,-156.61 566.14,-156.03 566.14,-156.03 566.14,-156.03 562.69,-156.61 566.66,-159.14 559.24,-157.19 559.24,-157.19\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"593.08\" y=\"-161.8\" font-family=\"Lato\" font-size=\"14.00\">o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->10 -->\n",
|
|
"<g id=\"edge19\" class=\"edge\">\n",
|
|
"<title>7->10</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1036.46,-63.21C1052.56,-70.75 1078.24,-83.1 1099.81,-95 1108.82,-99.97 1118.54,-105.84 1126.82,-110.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1132.84,-114.77 1125.23,-113.72 1129.87,-112.91 1126.91,-111.05 1126.91,-111.05 1126.91,-111.05 1129.87,-112.91 1128.58,-108.38 1132.84,-114.77 1132.84,-114.77\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1069.81\" y=\"-98.8\" font-family=\"Lato\" font-size=\"14.00\">!i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->11 -->\n",
|
|
"<g id=\"edge20\" class=\"edge\">\n",
|
|
"<title>7->11</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1037.53,-51.63C1053.57,-47.36 1078.44,-40.58 1099.81,-34 1107.02,-31.78 1114.79,-29.22 1121.92,-26.81\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1128.78,-24.46 1123.17,-29.71 1125.47,-25.6 1122.16,-26.73 1122.16,-26.73 1122.16,-26.73 1125.47,-25.6 1121.14,-23.75 1128.78,-24.46 1128.78,-24.46\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1071.81\" y=\"-50.8\" font-family=\"Lato\" font-size=\"14.00\">i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 9->13 -->\n",
|
|
"<g id=\"edge23\" class=\"edge\">\n",
|
|
"<title>9->13</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1231.43,-185.87C1179.15,-188.54 1020.27,-196.65 949.79,-200.25\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"942.44,-200.62 949.27,-197.12 945.94,-200.44 949.43,-200.27 949.43,-200.27 949.43,-200.27 945.94,-200.44 949.59,-203.41 942.44,-200.62 942.44,-200.62\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1071.81\" y=\"-197.8\" font-family=\"Lato\" font-size=\"14.00\">i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 12 -->\n",
|
|
"<g id=\"node20\" class=\"node\">\n",
|
|
"<title>12</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"1354.8,-236 1324.64,-218 1354.8,-200 1384.97,-218 1354.8,-236\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"1354.8\" y=\"-214.3\" font-family=\"Lato\" font-size=\"14.00\">12</text>\n",
|
|
"</g>\n",
|
|
"<!-- 9->12 -->\n",
|
|
"<g id=\"edge22\" class=\"edge\">\n",
|
|
"<title>9->12</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1267.07,-190.3C1283.53,-195.56 1308.99,-203.69 1328.07,-209.78\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1334.78,-211.93 1327.16,-212.8 1331.45,-210.86 1328.12,-209.8 1328.12,-209.8 1328.12,-209.8 1331.45,-210.86 1329.08,-206.8 1334.78,-211.93 1334.78,-211.93\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1287.97\" y=\"-205.8\" font-family=\"Lato\" font-size=\"14.00\">!i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 12->9 -->\n",
|
|
"<g id=\"edge26\" class=\"edge\">\n",
|
|
"<title>12->9</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1344.38,-206.06C1335.74,-196.15 1321.95,-182.77 1306.47,-177 1296,-173.1 1283.78,-174.24 1273.43,-176.72\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1266.61,-178.6 1272.52,-173.7 1269.98,-177.67 1273.36,-176.74 1273.36,-176.74 1273.36,-176.74 1269.98,-177.67 1274.19,-179.78 1266.61,-178.6 1266.61,-178.6\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1285.47\" y=\"-180.8\" font-family=\"Lato\" font-size=\"14.00\">!o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 14->13 -->\n",
|
|
"<g id=\"edge29\" class=\"edge\">\n",
|
|
"<title>14->13</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M800.3,-208.77C821.38,-207.51 854.49,-205.53 879.46,-204.03\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"886.6,-203.61 879.8,-207.17 883.11,-203.82 879.61,-204.02 879.61,-204.02 879.61,-204.02 883.11,-203.82 879.42,-200.88 886.6,-203.61 886.6,-203.61\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"822.14\" y=\"-210.8\" font-family=\"Lato\" font-size=\"14.00\">i0 & i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 14->18 -->\n",
|
|
"<g id=\"edge31\" class=\"edge\">\n",
|
|
"<title>14->18</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M757.46,-212.57C742.73,-214.36 722.28,-216.65 704.24,-218 621.57,-224.2 524.21,-227.1 472.95,-228.29\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"465.74,-228.46 472.66,-225.15 469.23,-228.38 472.73,-228.3 472.73,-228.3 472.73,-228.3 469.23,-228.38 472.8,-231.45 465.74,-228.46 465.74,-228.46\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"579.58\" y=\"-227.8\" font-family=\"Lato\" font-size=\"14.00\">!i0 & i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 14->12 -->\n",
|
|
"<g id=\"edge28\" class=\"edge\">\n",
|
|
"<title>14->12</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M797.84,-218.62C823.14,-229.83 870.74,-248 913.47,-248 913.47,-248 913.47,-248 1250.47,-248 1279,-248 1310.27,-237.32 1330.85,-228.71\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"1337.4,-225.88 1332.22,-231.55 1334.19,-227.27 1330.98,-228.65 1330.98,-228.65 1330.98,-228.65 1334.19,-227.27 1329.73,-225.76 1337.4,-225.88 1337.4,-225.88\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"1055.81\" y=\"-251.8\" font-family=\"Lato\" font-size=\"14.00\">i0 & !i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 17 -->\n",
|
|
"<g id=\"node22\" class=\"node\">\n",
|
|
"<title>17</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"black\" points=\"914.47,-163 884.31,-145 914.47,-127 944.64,-145 914.47,-163\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"914.47\" y=\"-141.3\" font-family=\"Lato\" font-size=\"14.00\">17</text>\n",
|
|
"</g>\n",
|
|
"<!-- 14->17 -->\n",
|
|
"<g id=\"edge30\" class=\"edge\">\n",
|
|
"<title>14->17</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M783.49,-192.23C788.28,-174.72 798.4,-148.92 818.14,-137 839.64,-124.03 868.99,-129.16 889.42,-135.55\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"896.25,-137.83 888.61,-138.6 892.93,-136.72 889.61,-135.61 889.61,-135.61 889.61,-135.61 892.93,-136.72 890.61,-132.62 896.25,-137.83 896.25,-137.83\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"818.14\" y=\"-140.8\" font-family=\"Lato\" font-size=\"14.00\">!i0 & !i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 17->14 -->\n",
|
|
"<g id=\"edge34\" class=\"edge\">\n",
|
|
"<title>17->14</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M895.53,-151.77C876.08,-159.33 844.32,-172.3 818.14,-186 812.73,-188.83 807.06,-192.15 801.8,-195.41\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"795.84,-199.16 800.08,-192.77 798.8,-197.3 801.76,-195.43 801.76,-195.43 801.76,-195.43 798.8,-197.3 803.44,-198.1 795.84,-199.16 795.84,-199.16\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"831.64\" y=\"-189.8\" font-family=\"Lato\" font-size=\"14.00\">!o0</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f8d9c4f8b10> >"
|
|
]
|
|
},
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.apply_strategy(game, False, False)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"id": "515e06a8",
|
|
"metadata": {},
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"729pt\" height=\"291pt\"\n",
|
|
" viewBox=\"0.00 0.00 729.00 291.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(0.8264462809917356 0.8264462809917356) rotate(0) translate(4 349.47)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-349.47 881.5,-349.47 881.5,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"435.75\" y=\"-330.27\" font-family=\"Lato\" font-size=\"14.00\">t</text>\n",
|
|
"<text text-anchor=\"start\" x=\"427.75\" y=\"-315.27\" font-family=\"Lato\" font-size=\"14.00\">[all]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"56\" cy=\"-208.47\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-204.77\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-208.47C2.79,-208.47 17.15,-208.47 30.63,-208.47\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-208.47 30.94,-211.62 34.44,-208.47 30.94,-208.47 30.94,-208.47 30.94,-208.47 34.44,-208.47 30.94,-205.32 37.94,-208.47 37.94,-208.47\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"180\" cy=\"-143.47\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"180\" y=\"-139.77\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->1 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M72.45,-200.23C93.9,-188.8 132.81,-168.07 157.21,-155.08\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"163.67,-151.63 158.98,-157.7 160.59,-153.28 157.5,-154.92 157.5,-154.92 157.5,-154.92 160.59,-153.28 156.01,-152.14 163.67,-151.63 163.67,-151.63\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-192.27\" font-family=\"Lato\" font-size=\"14.00\">!i0 & !i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"340\" cy=\"-205.47\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"340\" y=\"-201.77\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->2 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>0->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M74.05,-211.08C114.08,-216.77 217.14,-228.81 302,-216.47 306.53,-215.81 311.27,-214.72 315.79,-213.47\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"322.65,-211.43 316.84,-216.45 319.3,-212.43 315.94,-213.43 315.94,-213.43 315.94,-213.43 319.3,-212.43 315.04,-210.41 322.65,-211.43 322.65,-211.43\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"158\" y=\"-225.27\" font-family=\"Lato\" font-size=\"14.00\">i0 & !i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"340\" cy=\"-78.47\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"340\" y=\"-74.77\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->3 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>0->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M65.85,-193.3C81.09,-168.83 114.85,-121.36 158,-101.47 209.96,-77.5 278.72,-75.91 314.69,-77.04\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"321.86,-77.32 314.74,-80.2 318.36,-77.18 314.86,-77.05 314.86,-77.05 314.86,-77.05 318.36,-77.18 314.98,-73.9 321.86,-77.32 321.86,-77.32\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"158\" y=\"-105.27\" font-family=\"Lato\" font-size=\"14.00\">!i0 & i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"707\" cy=\"-116.47\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"707\" y=\"-112.77\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->4 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M67.71,-222.71C87.06,-246.68 130.4,-292.47 179,-292.47 179,-292.47 179,-292.47 516,-292.47 605.54,-292.47 670.74,-185.97 695.29,-138.66\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"698.49,-132.39 698.11,-140.06 696.9,-135.51 695.31,-138.63 695.31,-138.63 695.31,-138.63 696.9,-135.51 692.5,-137.2 698.49,-132.39 698.49,-132.39\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"320\" y=\"-296.27\" font-family=\"Lato\" font-size=\"14.00\">i0 & i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->1 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>1->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M169.29,-158.26C165.81,-168.88 169.38,-179.47 180,-179.47 188.13,-179.47 192.13,-173.26 192,-165.59\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"190.71,-158.26 195.02,-164.61 191.31,-161.7 191.92,-165.15 191.92,-165.15 191.92,-165.15 191.31,-161.7 188.82,-165.7 190.71,-158.26 190.71,-158.26\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"137.5\" y=\"-183.27\" font-family=\"Lato\" font-size=\"14.00\">!i0 & !i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->2 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>1->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M193.84,-155.42C201.06,-161.59 210.5,-168.77 220,-173.47 250.94,-188.76 290.13,-197.49 314.9,-201.85\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"322.1,-203.06 314.67,-205 318.65,-202.48 315.19,-201.9 315.19,-201.9 315.19,-201.9 318.65,-202.48 315.72,-198.79 322.1,-203.06 322.1,-203.06\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"220\" y=\"-202.27\" font-family=\"Lato\" font-size=\"14.00\">i0 & !i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->3 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>1->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M197.62,-137.93C228.46,-127.61 292.32,-106.09 302,-101.47 307.59,-98.8 313.4,-95.48 318.7,-92.2\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"324.66,-88.42 320.44,-94.83 321.71,-90.3 318.75,-92.17 318.75,-92.17 318.75,-92.17 321.71,-90.3 317.06,-89.51 324.66,-88.42 324.66,-88.42\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"220\" y=\"-133.27\" font-family=\"Lato\" font-size=\"14.00\">!i0 & i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->4 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>1->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M198.08,-144.53C204.89,-144.91 212.82,-145.28 220,-145.47 256.43,-146.4 265.56,-146.25 302,-145.47 455.89,-142.13 495.59,-151.96 648,-130.47 659.5,-128.84 672.05,-125.96 682.53,-123.22\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"689.41,-121.37 683.47,-126.23 686.03,-122.28 682.65,-123.19 682.65,-123.19 682.65,-123.19 686.03,-122.28 681.84,-120.15 689.41,-121.37 689.41,-121.37\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"380\" y=\"-149.27\" font-family=\"Lato\" font-size=\"14.00\">i0 & i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->2 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>2->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M327.61,-218.76C322.31,-229.86 326.44,-241.47 340,-241.47 350.8,-241.47 355.62,-234.1 354.45,-225.49\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"352.39,-218.76 357.46,-224.53 353.42,-222.1 354.44,-225.45 354.44,-225.45 354.44,-225.45 353.42,-222.1 351.43,-226.37 352.39,-218.76 352.39,-218.76\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"313.5\" y=\"-245.27\" font-family=\"Lato\" font-size=\"14.00\">!i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->4 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>2->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M358,-207.45C406.18,-212.32 546.68,-221.2 648,-173.47 665.5,-165.22 680.88,-149.47 691.4,-136.62\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"695.88,-130.95 694.01,-138.39 693.71,-133.7 691.54,-136.44 691.54,-136.44 691.54,-136.44 693.71,-133.7 689.07,-134.49 695.88,-130.95 695.88,-130.95\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"490.5\" y=\"-213.27\" font-family=\"Lato\" font-size=\"14.00\">i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->3 -->\n",
|
|
"<g id=\"edge15\" class=\"edge\">\n",
|
|
"<title>3->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M327.61,-91.76C322.31,-102.86 326.44,-114.47 340,-114.47 350.8,-114.47 355.62,-107.1 354.45,-98.49\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"352.39,-91.76 357.46,-97.53 353.42,-95.1 354.44,-98.45 354.44,-98.45 354.44,-98.45 353.42,-95.1 351.43,-99.37 352.39,-91.76 352.39,-91.76\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"301\" y=\"-118.27\" font-family=\"Lato\" font-size=\"14.00\">!i0 & i1 & o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->4 -->\n",
|
|
"<g id=\"edge13\" class=\"edge\">\n",
|
|
"<title>3->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M356.9,-85.64C363.33,-88.23 370.89,-90.9 378,-92.47 489.29,-117.05 626.44,-117.89 681.47,-117.06\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"688.68,-116.94 681.73,-120.21 685.18,-117 681.68,-117.06 681.68,-117.06 681.68,-117.06 685.18,-117 681.62,-113.91 688.68,-116.94 688.68,-116.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"478\" y=\"-118.27\" font-family=\"Lato\" font-size=\"14.00\">i0 & i1 & o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5 -->\n",
|
|
"<g id=\"node7\" class=\"node\">\n",
|
|
"<title>5</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"851\" cy=\"-47.47\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"851\" y=\"-43.77\" font-family=\"Lato\" font-size=\"14.00\">5</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->5 -->\n",
|
|
"<g id=\"edge12\" class=\"edge\">\n",
|
|
"<title>3->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M347.24,-61.73C353.11,-48.4 363.22,-30.37 378,-20.47 415.51,4.68 433.02,-6.48 478,-2.47 610.04,9.32 767.59,-26.17 826.36,-41.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"833.35,-42.94 825.79,-44.25 829.97,-42.07 826.58,-41.2 826.58,-41.2 826.58,-41.2 829.97,-42.07 827.36,-38.15 833.35,-42.94 833.35,-42.94\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"570\" y=\"-11.27\" font-family=\"Lato\" font-size=\"14.00\">i0 & !i1 & o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6 -->\n",
|
|
"<g id=\"node8\" class=\"node\">\n",
|
|
"<title>6</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"515\" cy=\"-29.47\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"515\" y=\"-25.77\" font-family=\"Lato\" font-size=\"14.00\">6</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->6 -->\n",
|
|
"<g id=\"edge14\" class=\"edge\">\n",
|
|
"<title>3->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M350.41,-63.59C356.96,-54.63 366.56,-43.92 378,-38.47 414.07,-21.25 461.75,-22.84 490.01,-25.91\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"497.1,-26.75 489.78,-29.05 493.63,-26.34 490.15,-25.92 490.15,-25.92 490.15,-25.92 493.63,-26.34 490.53,-22.79 497.1,-26.75 497.1,-26.75\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"378\" y=\"-42.27\" font-family=\"Lato\" font-size=\"14.00\">!i0 & !i1 & o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->4 -->\n",
|
|
"<g id=\"edge17\" class=\"edge\">\n",
|
|
"<title>4->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M694.16,-129.38C688.31,-140.6 692.59,-152.47 707,-152.47 718.49,-152.47 723.54,-144.93 722.15,-136.19\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"719.84,-129.38 725.07,-135 720.96,-132.7 722.09,-136.01 722.09,-136.01 722.09,-136.01 720.96,-132.7 719.11,-137.03 719.84,-129.38 719.84,-129.38\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"684\" y=\"-156.27\" font-family=\"Lato\" font-size=\"14.00\">i1 & o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->5 -->\n",
|
|
"<g id=\"edge16\" class=\"edge\">\n",
|
|
"<title>4->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M725.27,-115.88C747.6,-114.39 786.95,-109.21 815,-91.47 823.81,-85.89 831.36,-77.31 837.17,-69.21\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"841.26,-63.15 839.95,-70.72 839.3,-66.05 837.34,-68.95 837.34,-68.95 837.34,-68.95 839.3,-66.05 834.73,-67.19 841.26,-63.15 841.26,-63.15\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"766\" y=\"-114.27\" font-family=\"Lato\" font-size=\"14.00\">!i1 & o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->4 -->\n",
|
|
"<g id=\"edge19\" class=\"edge\">\n",
|
|
"<title>5->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M833.23,-50.59C815.78,-54.27 787.99,-61.32 766,-72.47 751.6,-79.76 737.13,-90.73 726.25,-99.89\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"720.9,-104.49 724.15,-97.54 723.55,-102.21 726.21,-99.93 726.21,-99.93 726.21,-99.93 723.55,-102.21 728.26,-102.32 720.9,-104.49 720.9,-104.49\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"766\" y=\"-76.27\" font-family=\"Lato\" font-size=\"14.00\">i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->5 -->\n",
|
|
"<g id=\"edge18\" class=\"edge\">\n",
|
|
"<title>5->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M840.85,-62.63C837.77,-73.13 841.16,-83.47 851,-83.47 858.54,-83.47 862.29,-77.41 862.25,-69.86\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"861.15,-62.63 865.32,-69.08 861.68,-66.09 862.2,-69.55 862.2,-69.55 862.2,-69.55 861.68,-66.09 859.09,-70.03 861.15,-62.63 861.15,-62.63\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"824.5\" y=\"-87.27\" font-family=\"Lato\" font-size=\"14.00\">!i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->3 -->\n",
|
|
"<g id=\"edge23\" class=\"edge\">\n",
|
|
"<title>6->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M498.74,-37.29C488.11,-42.48 473.47,-49.11 460,-53.47 427.78,-63.88 389.22,-71.06 364.91,-74.97\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"357.85,-76.08 364.27,-71.88 361.3,-75.53 364.76,-74.99 364.76,-74.99 364.76,-74.99 361.3,-75.53 365.25,-78.1 357.85,-76.08 357.85,-76.08\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"378\" y=\"-77.27\" font-family=\"Lato\" font-size=\"14.00\">!i0 & i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->4 -->\n",
|
|
"<g id=\"edge21\" class=\"edge\">\n",
|
|
"<title>6->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M531.96,-36.18C556.9,-46.73 606.53,-68 648,-87.47 659.98,-93.09 673.2,-99.67 683.98,-105.13\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"690.35,-108.38 682.68,-108.01 687.23,-106.79 684.11,-105.2 684.11,-105.2 684.11,-105.2 687.23,-106.79 685.54,-102.39 690.35,-108.38 690.35,-108.38\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"570\" y=\"-91.27\" font-family=\"Lato\" font-size=\"14.00\">i0 & i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->5 -->\n",
|
|
"<g id=\"edge20\" class=\"edge\">\n",
|
|
"<title>6->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M533.02,-30.38C588.08,-33.35 761.48,-42.69 825.73,-46.16\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"833.01,-46.55 825.85,-49.32 829.52,-46.36 826.02,-46.17 826.02,-46.17 826.02,-46.17 829.52,-46.36 826.19,-43.03 833.01,-46.55 833.01,-46.55\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"666\" y=\"-46.27\" font-family=\"Lato\" font-size=\"14.00\">i0 & !i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->6 -->\n",
|
|
"<g id=\"edge22\" class=\"edge\">\n",
|
|
"<title>6->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M500.99,-41.26C493.26,-52.8 497.93,-65.47 515,-65.47 528.87,-65.47 534.56,-57.1 532.05,-47.78\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"529.01,-41.26 534.82,-46.27 530.49,-44.44 531.97,-47.61 531.97,-47.61 531.97,-47.61 530.49,-44.44 529.11,-48.94 529.01,-41.26 529.01,-41.26\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"472.5\" y=\"-69.27\" font-family=\"Lato\" font-size=\"14.00\">!i0 & !i1 & !o0</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f8d9c098510> >"
|
|
]
|
|
},
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"spot.apply_strategy(game, True, False)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "aab74aac",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Converting the strategy to AIGER\n",
|
|
"\n",
|
|
"A strategy can be converted to a circuit in the [AIGER format](http://fmv.jku.at/aiger/FORMAT.aiger) using `strategy_to_aig()`. This takes a second argument specifying what type of encoding to use (exactly like `ltlsynt`'s `--aiger=...` option). \n",
|
|
"\n",
|
|
"In this case, the circuit is quite simple: `o0` should be the negation of previous value of `i1`. This is done by storing the value of `i1` in a latch. And the value if `i0` can be ignored."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"id": "f7585a73",
|
|
"metadata": {},
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"265pt\" height=\"208pt\"\n",
|
|
" viewBox=\"0.00 0.00 265.19 208.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.0 1.0) rotate(0) translate(4 204)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-204 261.19,-204 261.19,4 -4,4\"/>\n",
|
|
"<!-- 6 -->\n",
|
|
"<g id=\"node1\" class=\"node\">\n",
|
|
"<title>6</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"76.7,-118 11.7,-118 11.7,-82 76.7,-82 76.7,-118\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"44.2\" y=\"-96.3\" font-family=\"Times,serif\" font-size=\"14.00\">L0_out</text>\n",
|
|
"</g>\n",
|
|
"<!-- o0o0 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>o0o0</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"44.2,-154 88.59,-188.5 -0.2,-188.5 44.2,-154\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"44.2\" y=\"-173.3\" font-family=\"Times,serif\" font-size=\"14.00\">o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->o0o0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>6->o0o0:s</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M44.2,-118.19C44.2,-126.29 44.2,-136.29 44.2,-145.98\"/>\n",
|
|
"<ellipse fill=\"black\" stroke=\"black\" cx=\"44.2\" cy=\"-150\" rx=\"4\" ry=\"4\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"122.2,-46 83.2,-11.5 161.19,-11.5 122.2,-46\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"122.2\" y=\"-19.3\" font-family=\"Times,serif\" font-size=\"14.00\">i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- L0 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>L0</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"149.2,-118 95.2,-118 95.2,-82 149.2,-82 149.2,-118\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"122.2\" y=\"-96.3\" font-family=\"Times,serif\" font-size=\"14.00\">L0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->L0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>2->L0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M122.2,-46.1C122.2,-54.12 122.2,-63.28 122.2,-71.69\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"118.7,-71.82 122.2,-81.82 125.7,-71.82 118.7,-71.82\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"218.2,-46 179.2,-11.5 257.19,-11.5 218.2,-46\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"218.2\" y=\"-19.3\" font-family=\"Times,serif\" font-size=\"14.00\">i0</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.aig; proxy of <Swig Object of type 'spot::aig_ptr *' at 0x7f8d9c4f8a80> >"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"aag 3 2 1 1 0\n",
|
|
"2\n",
|
|
"4\n",
|
|
"6 3\n",
|
|
"7\n",
|
|
"i0 i1\n",
|
|
"i1 i0\n",
|
|
"o0 o0\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"aig = spot.strategy_to_aig(strat, \"isop\")\n",
|
|
"display(aig)\n",
|
|
"print(aig.to_str())"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "a40e4c28",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Adding more inputs and outputs by force"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "4b8a9809",
|
|
"metadata": {},
|
|
"source": [
|
|
"It can happen that propositions declared as output are ommited in the aig circuit (either because they are not part of the specification, or because they do not appear in the winning strategy). In that case those \n",
|
|
"values can take arbitrary values.\n",
|
|
"\n",
|
|
"For instance so following constraint mention `o1` and `i1`, but those atomic proposition are actually unconstrained (`F(... U x)` can be simplified to `Fx`). Without any indication, the circuit built will ignore those variables:"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"id": "efc7c557",
|
|
"metadata": {},
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"392pt\" height=\"259pt\"\n",
|
|
" viewBox=\"0.00 0.00 392.00 258.92\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 254.92)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-254.92 388,-254.92 388,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"17\" y=\"-236.72\" font-family=\"Lato\" font-size=\"14.00\">Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"38\" y=\"-236.72\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#e31a1c\">❺</text>\n",
|
|
"<text text-anchor=\"start\" x=\"54\" y=\"-236.72\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"96\" y=\"-236.72\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"<text text-anchor=\"start\" x=\"112\" y=\"-236.72\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"158\" y=\"-236.72\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#6a3d9a\">❸</text>\n",
|
|
"<text text-anchor=\"start\" x=\"174\" y=\"-236.72\" font-family=\"Lato\" font-size=\"14.00\">) | (Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"216\" y=\"-236.72\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff7f00\">❷</text>\n",
|
|
"<text text-anchor=\"start\" x=\"232\" y=\"-236.72\" font-family=\"Lato\" font-size=\"14.00\">) & (Inf(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"278\" y=\"-236.72\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"<text text-anchor=\"start\" x=\"294\" y=\"-236.72\" font-family=\"Lato\" font-size=\"14.00\">) | Fin(</text>\n",
|
|
"<text text-anchor=\"start\" x=\"332\" y=\"-236.72\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#1f78b4\">⓿</text>\n",
|
|
"<text text-anchor=\"start\" x=\"348\" y=\"-236.72\" font-family=\"Lato\" font-size=\"14.00\">)))))</text>\n",
|
|
"<text text-anchor=\"start\" x=\"136.5\" y=\"-222.72\" font-family=\"Lato\" font-size=\"14.00\">[parity max odd 6]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 3 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>3</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" cx=\"56\" cy=\"-96.92\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"56\" y=\"-93.22\" font-family=\"Lato\" font-size=\"14.00\">3</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->3 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->3</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M1.15,-96.92C2.79,-96.92 17.15,-96.92 30.63,-96.92\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"37.94,-96.92 30.94,-100.07 34.44,-96.92 30.94,-96.92 30.94,-96.92 30.94,-96.92 34.44,-96.92 30.94,-93.77 37.94,-96.92 37.94,-96.92\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 6 -->\n",
|
|
"<g id=\"node8\" class=\"node\">\n",
|
|
"<title>6</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"153,-155.92 126,-137.92 153,-119.92 180,-137.92 153,-155.92\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"153\" y=\"-134.22\" font-family=\"Lato\" font-size=\"14.00\">6</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->6 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>3->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M72.69,-103.69C88.13,-110.35 111.89,-120.6 129.37,-128.15\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"135.97,-131 128.3,-131.12 132.76,-129.61 129.54,-128.22 129.54,-128.22 129.54,-128.22 132.76,-129.61 130.79,-125.33 135.97,-131 135.97,-131\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"94\" y=\"-136.72\" font-family=\"Lato\" font-size=\"14.00\">i0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-121.72\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7 -->\n",
|
|
"<g id=\"node9\" class=\"node\">\n",
|
|
"<title>7</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"153,-88.92 126,-70.92 153,-52.92 180,-70.92 153,-88.92\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"153\" y=\"-67.22\" font-family=\"Lato\" font-size=\"14.00\">7</text>\n",
|
|
"</g>\n",
|
|
"<!-- 3->7 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>3->7</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M69.9,-84.83C76.09,-79.83 83.92,-74.58 92,-71.92 101.71,-68.71 112.8,-67.82 122.78,-67.94\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"129.81,-68.18 122.71,-71.09 126.32,-68.06 122.82,-67.94 122.82,-67.94 122.82,-67.94 126.32,-68.06 122.93,-64.79 129.81,-68.18 129.81,-68.18\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-90.72\" font-family=\"Lato\" font-size=\"14.00\">!i0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"92\" y=\"-75.72\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" cx=\"255\" cy=\"-98.92\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"255\" y=\"-95.22\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"357,-129.92 330,-111.92 357,-93.92 384,-111.92 357,-129.92\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"357\" y=\"-108.22\" font-family=\"Lato\" font-size=\"14.00\">4</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->4 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->4</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M267.12,-112.62C273.36,-119.2 281.74,-126.41 291,-129.92 305.82,-135.54 323.15,-130.18 336.18,-123.88\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"342.57,-120.55 337.82,-126.58 339.47,-122.17 336.36,-123.79 336.36,-123.79 336.36,-123.79 339.47,-122.17 334.91,-120.99 342.57,-120.55 342.57,-120.55\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"297\" y=\"-150.72\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"293.5\" y=\"-135.72\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->0 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>4->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" d=\"M340.48,-104.77C332.22,-101.35 321.77,-97.64 312,-95.92 301.61,-94.09 289.98,-94.34 280.02,-95.25\"/>\n",
|
|
"<polygon fill=\"#33a02c\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"272.78,-96.04 279.4,-92.15 276.21,-95.16 279.69,-94.78 279.74,-95.28 279.8,-95.78 276.32,-96.16 280.08,-98.41 272.78,-96.04 272.78,-96.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"297\" y=\"-114.72\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"293.5\" y=\"-99.72\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#e31a1c\">❺</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>1</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" cx=\"255\" cy=\"-44.92\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"255\" y=\"-41.22\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>5</title>\n",
|
|
"<polygon fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"357,-49.92 330,-31.92 357,-13.92 384,-31.92 357,-49.92\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"357\" y=\"-28.22\" font-family=\"Lato\" font-size=\"14.00\">5</text>\n",
|
|
"</g>\n",
|
|
"<!-- 1->5 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>1->5</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M272.96,-42.71C287.69,-40.8 309.33,-37.98 326.83,-35.71\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"334.04,-34.77 327.51,-38.8 330.57,-35.22 327.1,-35.67 327.1,-35.67 327.1,-35.67 330.57,-35.22 326.7,-32.55 334.04,-34.77 334.04,-34.77\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"297\" y=\"-58.72\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"293.5\" y=\"-43.72\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 5->1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>5->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" d=\"M345.36,-21.28C332.45,-9.72 310.02,5.99 291,-2.92 281.82,-7.22 274.21,-15.24 268.46,-23.12\"/>\n",
|
|
"<polygon fill=\"#33a02c\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"264.42,-29.07 265.75,-21.51 265.97,-25.89 267.94,-22.99 268.35,-23.28 268.77,-23.56 266.8,-26.45 270.96,-25.04 264.42,-29.07 264.42,-29.07\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"291\" y=\"-21.72\" font-family=\"Lato\" font-size=\"14.00\">!o0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"293.5\" y=\"-6.72\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#e31a1c\">❺</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node7\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"#33a02c\" stroke-width=\"2\" cx=\"255\" cy=\"-177.92\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"255\" y=\"-174.22\" font-family=\"Lato\" font-size=\"14.00\">2</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->6 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>2->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M240.9,-166.08C234.66,-161.02 226.86,-155.48 219,-151.92 207.86,-146.87 194.8,-143.6 183.32,-141.5\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"176.41,-140.34 183.83,-138.39 179.86,-140.92 183.31,-141.5 183.31,-141.5 183.31,-141.5 179.86,-140.92 182.79,-144.61 176.41,-140.34 176.41,-140.34\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"204\" y=\"-170.72\" font-family=\"Lato\" font-size=\"14.00\">1</text>\n",
|
|
"<text text-anchor=\"start\" x=\"200.5\" y=\"-155.72\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#ff4da0\">❶</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->0 -->\n",
|
|
"<g id=\"edge9\" class=\"edge\">\n",
|
|
"<title>6->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" d=\"M163.02,-126.19C171.04,-116.8 183.68,-104.35 198,-98.92 207.95,-95.14 219.62,-94.59 229.73,-95.21\"/>\n",
|
|
"<polygon fill=\"#33a02c\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"236.77,-95.82 229.52,-98.35 233.24,-96.02 229.75,-95.71 229.8,-95.21 229.84,-94.71 233.33,-95.02 230.07,-92.07 236.77,-95.82 236.77,-95.82\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"200\" y=\"-117.72\" font-family=\"Lato\" font-size=\"14.00\">o0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"200.5\" y=\"-102.72\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->2 -->\n",
|
|
"<g id=\"edge10\" class=\"edge\">\n",
|
|
"<title>6->2</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M162.07,-150.27C169.83,-160.92 182.63,-175.55 198,-181.92 208,-186.06 219.86,-185.85 230.09,-184.3\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"237.2,-182.96 230.9,-187.35 233.76,-183.61 230.32,-184.25 230.32,-184.25 230.32,-184.25 233.76,-183.61 229.73,-181.16 237.2,-182.96 237.2,-182.96\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"198\" y=\"-203.72\" font-family=\"Lato\" font-size=\"14.00\">!o0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"200.5\" y=\"-188.72\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"<!-- 7->1 -->\n",
|
|
"<g id=\"edge11\" class=\"edge\">\n",
|
|
"<title>7->1</title>\n",
|
|
"<path fill=\"none\" stroke=\"#33a02c\" stroke-width=\"2\" d=\"M166.34,-61.67C174.78,-55.93 186.48,-49.07 198,-45.92 208.16,-43.13 219.76,-42.53 229.75,-42.75\"/>\n",
|
|
"<polygon fill=\"#33a02c\" stroke=\"#33a02c\" stroke-width=\"2\" points=\"237.03,-43.07 229.9,-45.91 233.51,-43.42 230.01,-43.27 230.04,-42.77 230.06,-42.27 233.55,-42.42 230.17,-39.62 237.03,-43.07 237.03,-43.07\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"198\" y=\"-64.72\" font-family=\"Lato\" font-size=\"14.00\">!o0</text>\n",
|
|
"<text text-anchor=\"start\" x=\"200.5\" y=\"-49.72\" font-family=\"Lato\" font-size=\"14.00\" fill=\"#33a02c\">❹</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f8d9c098ed0> >"
|
|
]
|
|
},
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"143pt\" height=\"352pt\"\n",
|
|
" viewBox=\"0.00 0.00 142.70 352.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.0 1.0) rotate(0) translate(4 348)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-348 138.7,-348 138.7,4 -4,4\"/>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node1\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"65,-118 0,-118 0,-82 65,-82 65,-118\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"32.5\" y=\"-96.3\" font-family=\"Times,serif\" font-size=\"14.00\">L0_out</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>6</title>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"62.5\" cy=\"-172\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"62.5\" y=\"-168.3\" font-family=\"Times,serif\" font-size=\"14.00\">6</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->6 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>4->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M39.92,-118.3C43.66,-127.03 48.25,-137.76 52.32,-147.25\"/>\n",
|
|
"<ellipse fill=\"black\" stroke=\"black\" cx=\"54.01\" cy=\"-151.18\" rx=\"4\" ry=\"4\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"93.5,-46 54.51,-11.5 132.49,-11.5 93.5,-46\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"93.5\" y=\"-19.3\" font-family=\"Times,serif\" font-size=\"14.00\">i0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->6 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>2->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M89.77,-43.11C86.03,-62.12 80.05,-92.11 74.5,-118 72.67,-126.56 70.58,-135.88 68.68,-144.29\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"65.2,-143.78 66.38,-154.31 72.02,-145.34 65.2,-143.78\"/>\n",
|
|
"</g>\n",
|
|
"<!-- L0 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>L0</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"62.5,-262 8.5,-262 8.5,-226 62.5,-226 62.5,-262\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"35.5\" y=\"-240.3\" font-family=\"Times,serif\" font-size=\"14.00\">L0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->L0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>6->L0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M56.24,-189.24C53.13,-197.3 49.29,-207.26 45.76,-216.4\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"42.44,-215.29 42.1,-225.88 48.97,-217.81 42.44,-215.29\"/>\n",
|
|
"</g>\n",
|
|
"<!-- o0o0 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>o0o0</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"90.5,-298 134.89,-332.5 46.11,-332.5 90.5,-298\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"90.5\" y=\"-317.3\" font-family=\"Times,serif\" font-size=\"14.00\">o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->o0o0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>6->o0o0:s</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M68.58,-189.32C76.1,-210.91 88.19,-250.57 90.21,-287.63\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"86.72,-288.1 90.5,-298 93.72,-287.91 86.72,-288.1\"/>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.aig; proxy of <Swig Object of type 'spot::aig_ptr *' at 0x7f8d9c098d80> >"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"game = spot.create_game(\"i0 <-> F((Go1 -> Fi1) U o0)\", [\"o0\", \"o1\"])\n",
|
|
"spot.solve_game(game)\n",
|
|
"spot.highlight_strategy(game)\n",
|
|
"display(game)\n",
|
|
"strat = spot.create_strategy(game)\n",
|
|
"aig = spot.strategy_to_aig(strat, \"isop\")\n",
|
|
"display(aig)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "c328c4d8",
|
|
"metadata": {},
|
|
"source": [
|
|
"To force the presence of extra variables in the circuit, they can be passed to `strategy_to_aig()`."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"id": "f9f8d0e3",
|
|
"metadata": {},
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"328pt\" height=\"352pt\"\n",
|
|
" viewBox=\"0.00 0.00 327.70 352.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.0 1.0) rotate(0) translate(4 348)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-348 323.7,-348 323.7,4 -4,4\"/>\n",
|
|
"<!-- 6 -->\n",
|
|
"<g id=\"node1\" class=\"node\">\n",
|
|
"<title>6</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"65,-118 0,-118 0,-82 65,-82 65,-118\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"32.5\" y=\"-96.3\" font-family=\"Times,serif\" font-size=\"14.00\">L0_out</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>8</title>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"63.5\" cy=\"-172\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"63.5\" y=\"-168.3\" font-family=\"Times,serif\" font-size=\"14.00\">8</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->8 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>6->8</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M40.16,-118.3C44.12,-127.25 49.01,-138.29 53.29,-147.94\"/>\n",
|
|
"<ellipse fill=\"black\" stroke=\"black\" cx=\"54.94\" cy=\"-151.67\" rx=\"4\" ry=\"4\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"93.5,-46 54.51,-11.5 132.49,-11.5 93.5,-46\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"93.5\" y=\"-19.3\" font-family=\"Times,serif\" font-size=\"14.00\">i0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->8 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>2->8</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M89.64,-42.92C84.4,-68.61 74.99,-114.68 69.01,-144\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"65.54,-143.48 66.97,-153.98 72.4,-144.88 65.54,-143.48\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"189.5,-46 150.51,-11.5 228.49,-11.5 189.5,-46\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"189.5\" y=\"-19.3\" font-family=\"Times,serif\" font-size=\"14.00\">i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- L0 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>L0</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"63.5,-262 9.5,-262 9.5,-226 63.5,-226 63.5,-262\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"36.5\" y=\"-240.3\" font-family=\"Times,serif\" font-size=\"14.00\">L0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8->L0 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>8->L0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M57.24,-189.24C54.13,-197.3 50.29,-207.26 46.76,-216.4\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"43.44,-215.29 43.1,-225.88 49.97,-217.81 43.44,-215.29\"/>\n",
|
|
"</g>\n",
|
|
"<!-- o0o0 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>o0o0</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"91.5,-298 135.89,-332.5 47.11,-332.5 91.5,-298\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"91.5\" y=\"-317.3\" font-family=\"Times,serif\" font-size=\"14.00\">o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 8->o0o0 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>8->o0o0:s</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M69.58,-189.32C77.1,-210.91 89.19,-250.57 91.21,-287.63\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"87.72,-288.1 91.5,-298 94.72,-287.91 87.72,-288.1\"/>\n",
|
|
"</g>\n",
|
|
"<!-- o1o1 -->\n",
|
|
"<g id=\"node7\" class=\"node\">\n",
|
|
"<title>o1o1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"275.5,-298 319.89,-332.5 231.11,-332.5 275.5,-298\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"275.5\" y=\"-317.3\" font-family=\"Times,serif\" font-size=\"14.00\">o1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node8\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"246.5,-5 304.5,-5 304.5,-41 246.5,-41 246.5,-5\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"275.5\" y=\"-19.3\" font-family=\"Times,serif\" font-size=\"14.00\">Const</text>\n",
|
|
"</g>\n",
|
|
"<!-- 0->o1o1 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>0->o1o1:s</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M275.5,-41.31C275.5,-83.11 275.5,-193.09 275.5,-287.99\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"272,-288 275.5,-298 279,-288 272,-288\"/>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.aig; proxy of <Swig Object of type 'spot::aig_ptr *' at 0x7f8d9c5bade0> >"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"display(spot.strategy_to_aig(strat, \"isop\", [\"i0\", \"i1\"], [\"o0\", \"o1\"]))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "a330b169",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Reading an AIGER-file\n",
|
|
"\n",
|
|
"Note that we do not support the full [AIGER syntax](http://fmv.jku.at/aiger/FORMAT.aiger). Our restrictions corresponds to the conventions used in the type of AIGER file we output:\n",
|
|
"- Input variables start at index 2 and are consecutively numbered.\n",
|
|
"- Latch variables start at index (1 + #inputs) * 2 and are consecutively numbered.\n",
|
|
"- If some inputs or outputs are named in comments, all of them have to be named.\n",
|
|
"- Gate number $n$ can only connect to latches, inputs, or previously defined gates ($<n$)."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 10,
|
|
"id": "57d7875d",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"aag_txt = \"\"\"aag 5 2 0 2 3\n",
|
|
"2\n",
|
|
"4\n",
|
|
"10\n",
|
|
"6\n",
|
|
"6 2 4\n",
|
|
"8 3 5\n",
|
|
"10 7 9\n",
|
|
"i0 a\n",
|
|
"i1 b\n",
|
|
"o0 c\n",
|
|
"o1 d\"\"\""
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"id": "4796e7d7",
|
|
"metadata": {},
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"202pt\" height=\"289pt\"\n",
|
|
" viewBox=\"0.00 0.00 202.39 289.50\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
|
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1.0 1.0) rotate(0) translate(4 285.5)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-285.5 198.39,-285.5 198.39,4 -4,4\"/>\n",
|
|
"<!-- 2 -->\n",
|
|
"<g id=\"node1\" class=\"node\">\n",
|
|
"<title>2</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"44.2,-46 5.2,-11.5 83.19,-11.5 44.2,-46\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"44.2\" y=\"-19.3\" font-family=\"Times,serif\" font-size=\"14.00\">i0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6 -->\n",
|
|
"<g id=\"node3\" class=\"node\">\n",
|
|
"<title>6</title>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"129.2\" cy=\"-100\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"129.2\" y=\"-96.3\" font-family=\"Times,serif\" font-size=\"14.00\">6</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->6 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>2->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M56.74,-35.07C70.27,-47 92.03,-66.21 108.18,-80.46\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"106.23,-83.4 116.04,-87.39 110.86,-78.15 106.23,-83.4\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 8 -->\n",
|
|
"<g id=\"node4\" class=\"node\">\n",
|
|
"<title>8</title>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"65.2\" cy=\"-100\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"65.2\" y=\"-96.3\" font-family=\"Times,serif\" font-size=\"14.00\">8</text>\n",
|
|
"</g>\n",
|
|
"<!-- 2->8 -->\n",
|
|
"<g id=\"edge3\" class=\"edge\">\n",
|
|
"<title>2->8</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M49.17,-41.77C51.92,-51.58 55.37,-63.89 58.36,-74.59\"/>\n",
|
|
"<ellipse fill=\"black\" stroke=\"black\" cx=\"59.46\" cy=\"-78.53\" rx=\"4\" ry=\"4\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 4 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>4</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"140.2,-46 101.2,-11.5 179.19,-11.5 140.2,-46\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"140.2\" y=\"-19.3\" font-family=\"Times,serif\" font-size=\"14.00\">i1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 4->6 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>4->6</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M137.31,-43.71C136.05,-52.28 134.55,-62.48 133.19,-71.76\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"129.72,-71.32 131.73,-81.72 136.64,-72.34 129.72,-71.32\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 4->8 -->\n",
|
|
"<g id=\"edge4\" class=\"edge\">\n",
|
|
"<title>4->8</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M128.48,-35.72C116.36,-47.83 97.3,-66.9 83.26,-80.94\"/>\n",
|
|
"<ellipse fill=\"black\" stroke=\"black\" cx=\"80.41\" cy=\"-83.79\" rx=\"4\" ry=\"4\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 10 -->\n",
|
|
"<g id=\"node5\" class=\"node\">\n",
|
|
"<title>10</title>\n",
|
|
"<ellipse fill=\"none\" stroke=\"black\" cx=\"65.2\" cy=\"-176.75\" rx=\"23\" ry=\"23\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"65.2\" y=\"-173.05\" font-family=\"Times,serif\" font-size=\"14.00\">10</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->10 -->\n",
|
|
"<g id=\"edge5\" class=\"edge\">\n",
|
|
"<title>6->10</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M117.75,-114.36C108.69,-124.95 95.81,-139.99 85.07,-152.53\"/>\n",
|
|
"<ellipse fill=\"black\" stroke=\"black\" cx=\"82.29\" cy=\"-155.79\" rx=\"4\" ry=\"4\"/>\n",
|
|
"</g>\n",
|
|
"<!-- o1o1 -->\n",
|
|
"<g id=\"node7\" class=\"node\">\n",
|
|
"<title>o1o1</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"150.2,-235.5 194.59,-270 105.8,-270 150.2,-235.5\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"150.2\" y=\"-254.8\" font-family=\"Times,serif\" font-size=\"14.00\">o1</text>\n",
|
|
"</g>\n",
|
|
"<!-- 6->o1o1 -->\n",
|
|
"<g id=\"edge8\" class=\"edge\">\n",
|
|
"<title>6->o1o1:s</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M133.55,-117.85C139.22,-141.22 148.58,-185.13 150.01,-225.36\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"146.51,-225.56 150.2,-235.5 153.51,-225.43 146.51,-225.56\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 8->10 -->\n",
|
|
"<g id=\"edge6\" class=\"edge\">\n",
|
|
"<title>8->10</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M65.2,-118.34C65.2,-126.54 65.2,-136.58 65.2,-145.95\"/>\n",
|
|
"<ellipse fill=\"black\" stroke=\"black\" cx=\"65.2\" cy=\"-149.95\" rx=\"4\" ry=\"4\"/>\n",
|
|
"</g>\n",
|
|
"<!-- o0o0 -->\n",
|
|
"<g id=\"node6\" class=\"node\">\n",
|
|
"<title>o0o0</title>\n",
|
|
"<polygon fill=\"none\" stroke=\"black\" points=\"44.2,-235.5 88.59,-270 -0.2,-270 44.2,-235.5\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"44.2\" y=\"-254.8\" font-family=\"Times,serif\" font-size=\"14.00\">o0</text>\n",
|
|
"</g>\n",
|
|
"<!-- 10->o0o0 -->\n",
|
|
"<g id=\"edge7\" class=\"edge\">\n",
|
|
"<title>10->o0o0:s</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M54.45,-196.9C50.57,-205.12 46.74,-215.16 45.07,-225.34\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"41.57,-225.23 44.2,-235.5 48.54,-225.83 41.57,-225.23\"/>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.aig; proxy of <Swig Object of type 'spot::aig_ptr *' at 0x7f8d9c4f8a80> >"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"this_aig = spot.aiger_circuit(aag_txt)\n",
|
|
"display(this_aig)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 12,
|
|
"id": "000f3948",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"aag 5 2 0 2 3\n",
|
|
"2\n",
|
|
"4\n",
|
|
"10\n",
|
|
"6\n",
|
|
"6 2 4\n",
|
|
"8 3 5\n",
|
|
"10 7 9\n",
|
|
"i0 i0\n",
|
|
"i1 i1\n",
|
|
"o0 o0\n",
|
|
"o1 o1\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"print(this_aig.to_str())"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"id": "60e8b21a",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"((2, 4), (3, 5), (7, 9))\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"print(this_aig.gates())"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "2213a2a2",
|
|
"metadata": {},
|
|
"source": [
|
|
"An aiger circuit can be transformed into a monitor. This can help for instance to verify that it does not intersect the negation of the specification."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 14,
|
|
"id": "f5d49a9e",
|
|
"metadata": {},
|
|
"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.43.0 (0)\n",
|
|
" -->\n",
|
|
"<!-- Pages: 1 -->\n",
|
|
"<svg width=\"535pt\" height=\"115pt\"\n",
|
|
" viewBox=\"0.00 0.00 535.00 115.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.0 1.0) rotate(0) translate(4 111)\">\n",
|
|
"<polygon fill=\"white\" stroke=\"transparent\" points=\"-4,4 -4,-111 531,-111 531,4 -4,4\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"260.5\" y=\"-91.8\" font-family=\"Lato\" font-size=\"14.00\">t</text>\n",
|
|
"<text text-anchor=\"start\" x=\"252.5\" y=\"-76.8\" font-family=\"Lato\" font-size=\"14.00\">[all]</text>\n",
|
|
"<!-- I -->\n",
|
|
"<!-- 0 -->\n",
|
|
"<g id=\"node2\" class=\"node\">\n",
|
|
"<title>0</title>\n",
|
|
"<ellipse fill=\"#ffffaa\" stroke=\"black\" cx=\"263.5\" cy=\"-18\" rx=\"18\" ry=\"18\"/>\n",
|
|
"<text text-anchor=\"middle\" x=\"263.5\" y=\"-14.3\" font-family=\"Lato\" font-size=\"14.00\">0</text>\n",
|
|
"</g>\n",
|
|
"<!-- I->0 -->\n",
|
|
"<g id=\"edge1\" class=\"edge\">\n",
|
|
"<title>I->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M208.65,-18C210.29,-18 224.65,-18 238.13,-18\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"245.44,-18 238.44,-21.15 241.94,-18 238.44,-18 238.44,-18 238.44,-18 241.94,-18 238.44,-14.85 245.44,-18 245.44,-18\"/>\n",
|
|
"</g>\n",
|
|
"<!-- 0->0 -->\n",
|
|
"<g id=\"edge2\" class=\"edge\">\n",
|
|
"<title>0->0</title>\n",
|
|
"<path fill=\"none\" stroke=\"black\" d=\"M257.12,-35.04C255.82,-44.86 257.95,-54 263.5,-54 267.67,-54 269.9,-48.86 270.21,-42.14\"/>\n",
|
|
"<polygon fill=\"black\" stroke=\"black\" points=\"269.88,-35.04 273.35,-41.88 270.04,-38.53 270.21,-42.03 270.21,-42.03 270.21,-42.03 270.04,-38.53 267.06,-42.18 269.88,-35.04 269.88,-35.04\"/>\n",
|
|
"<text text-anchor=\"start\" x=\"0\" y=\"-57.8\" font-family=\"Lato\" font-size=\"14.00\">(!i0 & !i1 & !o0 & !o1) | (!i0 & i1 & o0 & !o1) | (i0 & !i1 & o0 & !o1) | (i0 & i1 & !o0 & o1)</text>\n",
|
|
"</g>\n",
|
|
"</g>\n",
|
|
"</svg>\n"
|
|
],
|
|
"text/plain": [
|
|
"<spot.twa_graph; proxy of <Swig Object of type 'std::shared_ptr< spot::twa_graph > *' at 0x7f8d9c0720c0> >"
|
|
]
|
|
},
|
|
"execution_count": 14,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"this_aig.as_automaton()"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.9.2"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|