networks: Make the pretty printing procedures sort the keys.

This commit is contained in:
Sergiu Ivanov 2020-02-26 21:27:02 +01:00
parent e3a04cb765
commit fd290a049e
4 changed files with 234 additions and 234 deletions

View File

@ -4,161 +4,161 @@
<!-- Generated by graphviz version 2.43.0 (0)
-->
<!-- Title: G Pages: 1 -->
<svg width="999pt" height="656pt"
viewBox="0.00 0.00 998.81 655.96" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 651.96)">
<svg width="999pt" height="655pt"
viewBox="0.00 0.00 999.07 655.40" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 651.4)">
<title>G</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-651.96 994.81,-651.96 994.81,4 -4,4"/>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-651.4 995.07,-651.4 995.07,4 -4,4"/>
<!-- node0 -->
<g id="node1" class="node">
<title>node0</title>
<ellipse fill="none" stroke="black" cx="654.41" cy="-18" rx="75.29" ry="18"/>
<text text-anchor="middle" x="654.41" y="-14.3" font-family="Times-Roman" font-size="14.00">a:#f c:#f b:#t</text>
<ellipse fill="none" stroke="black" cx="588.85" cy="-323.87" rx="75.29" ry="18"/>
<text text-anchor="middle" x="588.85" y="-320.17" font-family="Times-Roman" font-size="14.00">a:#f b:#f c:#f</text>
</g>
<!-- node1 -->
<g id="node2" class="node">
<title>node1</title>
<ellipse fill="none" stroke="black" cx="384.09" cy="-323.76" rx="75.29" ry="18"/>
<text text-anchor="middle" x="384.09" y="-320.06" font-family="Times-Roman" font-size="14.00">a:#t c:#f b:#t</text>
</g>
<!-- node0&#45;&gt;node1 -->
<g id="edge13" class="edge">
<title>node0&#45;&gt;node1</title>
<path fill="none" stroke="black" d="M638.71,-35.76C592.98,-87.48 459.81,-238.12 406.52,-298.4"/>
<polygon fill="black" stroke="black" points="403.84,-296.14 399.84,-305.95 409.08,-300.78 403.84,-296.14"/>
</g>
<!-- node2 -->
<g id="node3" class="node">
<title>node2</title>
<ellipse fill="none" stroke="black" cx="315.85" cy="-19.24" rx="75.29" ry="18"/>
<text text-anchor="middle" x="315.85" y="-15.54" font-family="Times-Roman" font-size="14.00">a:#f c:#f b:#f</text>
</g>
<!-- node0&#45;&gt;node2 -->
<g id="edge12" class="edge">
<title>node0&#45;&gt;node2</title>
<path fill="none" stroke="black" d="M578.85,-18.28C526.29,-18.47 456.12,-18.73 401.48,-18.93"/>
<polygon fill="black" stroke="black" points="401.45,-15.43 391.47,-18.96 401.48,-22.43 401.45,-15.43"/>
</g>
<!-- node6 -->
<g id="node7" class="node">
<title>node6</title>
<ellipse fill="none" stroke="black" cx="897.42" cy="-322.72" rx="75.29" ry="18"/>
<text text-anchor="middle" x="897.42" y="-319.02" font-family="Times-Roman" font-size="14.00">a:#f c:#t b:#t</text>
</g>
<!-- node0&#45;&gt;node6 -->
<!-- node0&#45;&gt;node0 -->
<g id="edge1" class="edge">
<title>node0&#45;&gt;node6</title>
<path fill="none" stroke="black" d="M668.52,-35.7C711.47,-89.56 840.26,-251.05 883.27,-304.97"/>
</g>
<!-- node1&#45;&gt;node1 -->
<g id="edge3" class="edge">
<title>node1&#45;&gt;node1</title>
<path fill="none" stroke="black" d="M454.55,-330.19C467.99,-329.42 477.49,-327.28 477.49,-323.76 477.49,-320.25 467.99,-318.1 454.55,-317.33"/>
</g>
<!-- node3 -->
<g id="node4" class="node">
<title>node3</title>
<ellipse fill="none" stroke="black" cx="75.39" cy="-324.99" rx="75.29" ry="18"/>
<text text-anchor="middle" x="75.39" y="-321.29" font-family="Times-Roman" font-size="14.00">a:#t c:#f b:#f</text>
</g>
<!-- node1&#45;&gt;node3 -->
<g id="edge14" class="edge">
<title>node1&#45;&gt;node3</title>
<path fill="none" stroke="black" d="M308.58,-324.06C263.93,-324.24 207.25,-324.46 160.95,-324.65"/>
<polygon fill="black" stroke="black" points="160.92,-321.15 150.93,-324.69 160.95,-328.15 160.92,-321.15"/>
</g>
<!-- node7 -->
<g id="node8" class="node">
<title>node7</title>
<ellipse fill="none" stroke="black" cx="656.81" cy="-628.85" rx="75.29" ry="18"/>
<text text-anchor="middle" x="656.81" y="-625.15" font-family="Times-Roman" font-size="14.00">a:#t c:#t b:#t</text>
</g>
<!-- node1&#45;&gt;node7 -->
<g id="edge2" class="edge">
<title>node1&#45;&gt;node7</title>
<path fill="none" stroke="black" d="M399.93,-341.48C448.13,-395.41 592.67,-557.09 640.92,-611.08"/>
</g>
<!-- node2&#45;&gt;node2 -->
<g id="edge5" class="edge">
<title>node2&#45;&gt;node2</title>
<path fill="none" stroke="black" d="M386.3,-25.67C399.74,-24.9 409.24,-22.76 409.24,-19.24 409.24,-15.73 399.74,-13.58 386.3,-12.82"/>
</g>
<!-- node4 -->
<g id="node5" class="node">
<title>node4</title>
<ellipse fill="none" stroke="black" cx="588.35" cy="-324.23" rx="75.29" ry="18"/>
<text text-anchor="middle" x="588.35" y="-320.53" font-family="Times-Roman" font-size="14.00">a:#f c:#t b:#f</text>
</g>
<!-- node2&#45;&gt;node4 -->
<g id="edge4" class="edge">
<title>node2&#45;&gt;node4</title>
<path fill="none" stroke="black" d="M331.67,-36.96C379.84,-90.86 524.25,-252.5 572.48,-306.46"/>
</g>
<!-- node3&#45;&gt;node2 -->
<g id="edge15" class="edge">
<title>node3&#45;&gt;node2</title>
<path fill="none" stroke="black" d="M89.36,-307.23C129.95,-255.62 248.01,-105.49 295.61,-44.98"/>
<polygon fill="black" stroke="black" points="298.41,-47.07 301.84,-37.05 292.91,-42.75 298.41,-47.07"/>
</g>
<!-- node3&#45;&gt;node3 -->
<g id="edge6" class="edge">
<title>node3&#45;&gt;node3</title>
<path fill="none" stroke="black" d="M145.85,-331.41C159.29,-330.64 168.79,-328.5 168.79,-324.99 168.79,-321.47 159.29,-319.33 145.85,-318.56"/>
<title>node0&#45;&gt;node0</title>
<path fill="none" stroke="black" d="M659.31,-330.29C672.75,-329.52 682.25,-327.38 682.25,-323.87 682.25,-320.35 672.75,-318.21 659.31,-317.44"/>
</g>
<!-- node5 -->
<g id="node6" class="node">
<title>node5</title>
<ellipse fill="none" stroke="black" cx="317.64" cy="-629.96" rx="75.29" ry="18"/>
<text text-anchor="middle" x="317.64" y="-626.26" font-family="Times-Roman" font-size="14.00">a:#t c:#t b:#f</text>
<ellipse fill="none" stroke="black" cx="318.29" cy="-629.4" rx="75.29" ry="18"/>
<text text-anchor="middle" x="318.29" y="-625.7" font-family="Times-Roman" font-size="14.00">a:#f b:#f c:#t</text>
</g>
<!-- node3&#45;&gt;node5 -->
<g id="edge7" class="edge">
<title>node3&#45;&gt;node5</title>
<path fill="none" stroke="black" d="M89.46,-342.7C132.28,-396.6 260.66,-558.23 303.53,-612.2"/>
<!-- node0&#45;&gt;node5 -->
<g id="edge2" class="edge">
<title>node0&#45;&gt;node5</title>
<path fill="none" stroke="black" d="M573.14,-341.61C525.32,-395.62 381.93,-557.54 334.05,-611.61"/>
</g>
<!-- node1 -->
<g id="node2" class="node">
<title>node1</title>
<ellipse fill="none" stroke="black" cx="316.68" cy="-19.4" rx="75.29" ry="18"/>
<text text-anchor="middle" x="316.68" y="-15.7" font-family="Times-Roman" font-size="14.00">a:#f b:#t c:#f</text>
</g>
<!-- node1&#45;&gt;node0 -->
<g id="edge12" class="edge">
<title>node1&#45;&gt;node0</title>
<path fill="none" stroke="black" d="M332.49,-37.08C378.53,-88.58 512.62,-238.59 566.27,-298.61"/>
<polygon fill="black" stroke="black" points="563.73,-301.01 573,-306.13 568.94,-296.34 563.73,-301.01"/>
</g>
<!-- node3 -->
<g id="node4" class="node">
<title>node3</title>
<ellipse fill="none" stroke="black" cx="75.39" cy="-325.17" rx="75.29" ry="18"/>
<text text-anchor="middle" x="75.39" y="-321.47" font-family="Times-Roman" font-size="14.00">a:#f b:#t c:#t</text>
</g>
<!-- node1&#45;&gt;node3 -->
<g id="edge3" class="edge">
<title>node1&#45;&gt;node3</title>
<path fill="none" stroke="black" d="M302.67,-37.16C260.02,-91.2 132.14,-253.25 89.45,-307.36"/>
</g>
<!-- node7 -->
<g id="node8" class="node">
<title>node7</title>
<ellipse fill="none" stroke="black" cx="654.91" cy="-18" rx="75.29" ry="18"/>
<text text-anchor="middle" x="654.91" y="-14.3" font-family="Times-Roman" font-size="14.00">a:#t b:#t c:#f</text>
</g>
<!-- node1&#45;&gt;node7 -->
<g id="edge13" class="edge">
<title>node1&#45;&gt;node7</title>
<path fill="none" stroke="black" d="M392.17,-19.09C444.68,-18.87 514.78,-18.58 569.36,-18.35"/>
<polygon fill="black" stroke="black" points="569.38,-21.85 579.37,-18.31 569.35,-14.85 569.38,-21.85"/>
</g>
<!-- node2 -->
<g id="node3" class="node">
<title>node2</title>
<ellipse fill="none" stroke="black" cx="897.67" cy="-323.12" rx="75.29" ry="18"/>
<text text-anchor="middle" x="897.67" y="-319.42" font-family="Times-Roman" font-size="14.00">a:#t b:#f c:#f</text>
</g>
<!-- node2&#45;&gt;node0 -->
<g id="edge14" class="edge">
<title>node2&#45;&gt;node0</title>
<path fill="none" stroke="black" d="M822.13,-323.31C777.46,-323.41 720.76,-323.55 674.44,-323.66"/>
<polygon fill="black" stroke="black" points="674.41,-320.16 664.42,-323.68 674.43,-327.16 674.41,-320.16"/>
</g>
<!-- node2&#45;&gt;node2 -->
<g id="edge4" class="edge">
<title>node2&#45;&gt;node2</title>
<path fill="none" stroke="black" d="M968.13,-329.55C981.57,-328.78 991.07,-326.64 991.07,-323.12 991.07,-319.61 981.57,-317.47 968.13,-316.7"/>
</g>
<!-- node6 -->
<g id="node7" class="node">
<title>node6</title>
<ellipse fill="none" stroke="black" cx="657.14" cy="-629.29" rx="75.29" ry="18"/>
<text text-anchor="middle" x="657.14" y="-625.59" font-family="Times-Roman" font-size="14.00">a:#t b:#f c:#t</text>
</g>
<!-- node2&#45;&gt;node6 -->
<g id="edge5" class="edge">
<title>node2&#45;&gt;node6</title>
<path fill="none" stroke="black" d="M883.7,-340.91C841.19,-395.02 713.71,-557.28 671.15,-611.46"/>
</g>
<!-- node3&#45;&gt;node3 -->
<g id="edge6" class="edge">
<title>node3&#45;&gt;node3</title>
<path fill="none" stroke="black" d="M145.85,-331.6C159.29,-330.83 168.79,-328.69 168.79,-325.17 168.79,-321.66 159.29,-319.51 145.85,-318.75"/>
</g>
<!-- node4 -->
<g id="node5" class="node">
<title>node4</title>
<ellipse fill="none" stroke="black" cx="384" cy="-324.58" rx="75.29" ry="18"/>
<text text-anchor="middle" x="384" y="-320.88" font-family="Times-Roman" font-size="14.00">a:#t b:#t c:#t</text>
</g>
<!-- node3&#45;&gt;node4 -->
<g id="edge15" class="edge">
<title>node3&#45;&gt;node4</title>
<path fill="none" stroke="black" d="M150.89,-325.03C195.52,-324.94 252.19,-324.83 298.47,-324.74"/>
<polygon fill="black" stroke="black" points="298.49,-328.24 308.48,-324.72 298.48,-321.24 298.49,-328.24"/>
</g>
<!-- node4&#45;&gt;node4 -->
<g id="edge8" class="edge">
<title>node4&#45;&gt;node4</title>
<path fill="none" stroke="black" d="M658.81,-330.66C672.24,-329.89 681.74,-327.74 681.74,-324.23 681.74,-320.71 672.24,-318.57 658.81,-317.8"/>
<path fill="none" stroke="black" d="M454.46,-331C467.89,-330.24 477.39,-328.09 477.39,-324.58 477.39,-321.06 467.89,-318.92 454.46,-318.15"/>
</g>
<!-- node4&#45;&gt;node6 -->
<g id="edge16" class="edge">
<title>node4&#45;&gt;node6</title>
<path fill="none" stroke="black" d="M663.96,-323.86C708.66,-323.64 765.41,-323.37 811.76,-323.14"/>
<polygon fill="black" stroke="black" points="811.81,-326.64 821.79,-323.09 811.77,-319.64 811.81,-326.64"/>
<path fill="none" stroke="black" d="M399.86,-342.28C446.07,-393.82 580.63,-543.94 634.48,-604.01"/>
<polygon fill="black" stroke="black" points="631.95,-606.43 641.23,-611.54 637.16,-601.76 631.95,-606.43"/>
</g>
<!-- node5&#45;&gt;node4 -->
<!-- node4&#45;&gt;node7 -->
<g id="edge7" class="edge">
<title>node4&#45;&gt;node7</title>
<path fill="none" stroke="black" d="M399.74,-306.77C447.62,-252.58 591.19,-90.11 639.13,-35.86"/>
</g>
<!-- node5&#45;&gt;node3 -->
<g id="edge17" class="edge">
<title>node5&#45;&gt;node4</title>
<path fill="none" stroke="black" d="M333.37,-612.21C379.16,-560.49 512.52,-409.86 565.89,-349.59"/>
<polygon fill="black" stroke="black" points="568.57,-351.84 572.58,-342.04 563.33,-347.2 568.57,-351.84"/>
<title>node5&#45;&gt;node3</title>
<path fill="none" stroke="black" d="M303.82,-611.28C262.56,-559.6 144.19,-411.34 96.09,-351.1"/>
<polygon fill="black" stroke="black" points="98.76,-348.83 89.78,-343.2 93.29,-353.2 98.76,-348.83"/>
</g>
<!-- node5&#45;&gt;node5 -->
<g id="edge9" class="edge">
<title>node5&#45;&gt;node5</title>
<path fill="none" stroke="black" d="M388.1,-636.39C401.53,-635.62 411.04,-633.48 411.04,-629.96 411.04,-626.45 401.53,-624.31 388.1,-623.54"/>
<path fill="none" stroke="black" d="M388.75,-635.83C402.18,-635.06 411.68,-632.92 411.68,-629.4 411.68,-625.89 402.18,-623.75 388.75,-622.98"/>
</g>
<!-- node6&#45;&gt;node5 -->
<g id="edge18" class="edge">
<title>node6&#45;&gt;node5</title>
<path fill="none" stroke="black" d="M581.52,-629.32C528.91,-629.33 458.68,-629.36 404,-629.38"/>
<polygon fill="black" stroke="black" points="403.97,-625.88 393.97,-629.38 403.97,-632.88 403.97,-625.88"/>
</g>
<!-- node6&#45;&gt;node6 -->
<g id="edge10" class="edge">
<title>node6&#45;&gt;node6</title>
<path fill="none" stroke="black" d="M967.88,-329.15C981.31,-328.38 990.81,-326.24 990.81,-322.72 990.81,-319.21 981.31,-317.06 967.88,-316.3"/>
<path fill="none" stroke="black" d="M727.6,-635.72C741.03,-634.95 750.53,-632.81 750.53,-629.29 750.53,-625.78 741.03,-623.63 727.6,-622.86"/>
</g>
<!-- node6&#45;&gt;node7 -->
<g id="edge18" class="edge">
<title>node6&#45;&gt;node7</title>
<path fill="none" stroke="black" d="M883.44,-340.5C842.83,-392.18 724.69,-542.49 677.06,-603.09"/>
<polygon fill="black" stroke="black" points="674.25,-601 670.82,-611.02 679.76,-605.32 674.25,-601"/>
</g>
<!-- node7&#45;&gt;node5 -->
<!-- node7&#45;&gt;node2 -->
<g id="edge19" class="edge">
<title>node7&#45;&gt;node5</title>
<path fill="none" stroke="black" d="M581.12,-629.1C528.37,-629.27 457.92,-629.5 403.14,-629.68"/>
<polygon fill="black" stroke="black" points="403.09,-626.18 393.1,-629.72 403.12,-633.18 403.09,-626.18"/>
<title>node7&#45;&gt;node2</title>
<path fill="none" stroke="black" d="M669.01,-35.72C709.99,-87.23 829.19,-237.05 877.24,-297.44"/>
<polygon fill="black" stroke="black" points="874.57,-299.71 883.53,-305.35 880.05,-295.35 874.57,-299.71"/>
</g>
<!-- node7&#45;&gt;node7 -->
<g id="edge11" class="edge">
<title>node7&#45;&gt;node7</title>
<path fill="none" stroke="black" d="M727.27,-635.28C740.7,-634.51 750.2,-632.37 750.2,-628.85 750.2,-625.34 740.7,-623.19 727.27,-622.43"/>
<path fill="none" stroke="black" d="M725.37,-24.43C738.8,-23.66 748.31,-21.52 748.31,-18 748.31,-14.48 738.8,-12.34 725.37,-11.57"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

View File

@ -4,161 +4,161 @@
<!-- Generated by graphviz version 2.43.0 (0)
-->
<!-- Title: G Pages: 1 -->
<svg width="835pt" height="558pt"
viewBox="0.00 0.00 834.60 557.99" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 553.99)">
<svg width="834pt" height="558pt"
viewBox="0.00 0.00 834.47 557.73" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 553.73)">
<title>G</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-553.99 830.6,-553.99 830.6,4 -4,4"/>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-553.73 830.47,-553.73 830.47,4 -4,4"/>
<!-- node0 -->
<g id="node1" class="node">
<title>node0</title>
<ellipse fill="none" stroke="black" cx="318.58" cy="-273.84" rx="59.29" ry="18"/>
<text text-anchor="middle" x="318.58" y="-270.14" font-family="Times-Roman" font-size="14.00">a:0 c:0 b:0</text>
<ellipse fill="none" stroke="black" cx="59.14" cy="-273.69" rx="59.29" ry="18"/>
<text text-anchor="middle" x="59.14" y="-269.99" font-family="Times-Roman" font-size="14.00">a:0 b:0 c:1</text>
</g>
<!-- node0&#45;&gt;node0 -->
<g id="edge1" class="edge">
<title>node0&#45;&gt;node0</title>
<path fill="none" stroke="black" d="M373.71,-280.44C386.4,-279.87 395.73,-277.67 395.73,-273.84 395.73,-270.01 386.4,-267.81 373.71,-267.24"/>
</g>
<!-- node1 -->
<g id="node2" class="node">
<title>node1</title>
<ellipse fill="none" stroke="black" cx="544.54" cy="-531.99" rx="59.29" ry="18"/>
<text text-anchor="middle" x="544.54" y="-528.29" font-family="Times-Roman" font-size="14.00">a:0 c:1 b:0</text>
</g>
<!-- node0&#45;&gt;node1 -->
<g id="edge2" class="edge">
<title>node0&#45;&gt;node1</title>
<path fill="none" stroke="black" d="M334.11,-291.58C375.49,-338.86 488.04,-467.44 529.2,-514.47"/>
</g>
<!-- node1&#45;&gt;node1 -->
<g id="edge3" class="edge">
<title>node1&#45;&gt;node1</title>
<path fill="none" stroke="black" d="M599.67,-538.59C612.36,-538.03 621.68,-535.82 621.68,-531.99 621.68,-528.16 612.36,-525.96 599.67,-525.39"/>
<path fill="none" stroke="black" d="M114.27,-280.29C126.97,-279.72 136.29,-277.52 136.29,-273.69 136.29,-269.86 126.97,-267.66 114.27,-267.09"/>
</g>
<!-- node2 -->
<g id="node3" class="node">
<title>node2</title>
<ellipse fill="none" stroke="black" cx="259.79" cy="-530.51" rx="59.29" ry="18"/>
<text text-anchor="middle" x="259.79" y="-526.81" font-family="Times-Roman" font-size="14.00">a:0 c:1 b:1</text>
<ellipse fill="none" stroke="black" cx="261.01" cy="-530.99" rx="59.29" ry="18"/>
<text text-anchor="middle" x="261.01" y="-527.29" font-family="Times-Roman" font-size="14.00">a:0 b:1 c:1</text>
</g>
<!-- node1&#45;&gt;node2 -->
<!-- node0&#45;&gt;node2 -->
<g id="edge12" class="edge">
<title>node1&#45;&gt;node2</title>
<path fill="none" stroke="black" d="M485.19,-531.68C439.79,-531.45 377.07,-531.12 329.32,-530.87"/>
<polygon fill="black" stroke="black" points="329.08,-527.37 319.06,-530.82 329.04,-534.37 329.08,-527.37"/>
</g>
<!-- node2&#45;&gt;node2 -->
<g id="edge4" class="edge">
<title>node2&#45;&gt;node2</title>
<path fill="none" stroke="black" d="M314.92,-537.11C327.61,-536.54 336.94,-534.34 336.94,-530.51 336.94,-526.68 327.61,-524.47 314.92,-523.91"/>
<title>node0&#45;&gt;node2</title>
<path fill="none" stroke="black" d="M73.02,-291.37C107.95,-335.9 199.66,-452.79 240.68,-505.07"/>
<polygon fill="black" stroke="black" points="238.11,-507.47 247.04,-513.18 243.62,-503.15 238.11,-507.47"/>
</g>
<!-- node4 -->
<g id="node5" class="node">
<title>node4</title>
<ellipse fill="none" stroke="black" cx="489.78" cy="-276.18" rx="59.29" ry="18"/>
<text text-anchor="middle" x="489.78" y="-272.48" font-family="Times-Roman" font-size="14.00">a:1 c:1 b:1</text>
<ellipse fill="none" stroke="black" cx="263.53" cy="-18" rx="59.29" ry="18"/>
<text text-anchor="middle" x="263.53" y="-14.3" font-family="Times-Roman" font-size="14.00">a:0 b:0 c:0</text>
</g>
<!-- node2&#45;&gt;node4 -->
<!-- node0&#45;&gt;node4 -->
<g id="edge2" class="edge">
<title>node0&#45;&gt;node4</title>
<path fill="none" stroke="black" d="M73.19,-256.11C110.53,-209.4 211.93,-82.55 249.38,-35.7"/>
</g>
<!-- node1 -->
<g id="node2" class="node">
<title>node1</title>
<ellipse fill="none" stroke="black" cx="318.41" cy="-273.82" rx="59.29" ry="18"/>
<text text-anchor="middle" x="318.41" y="-270.12" font-family="Times-Roman" font-size="14.00">a:1 b:0 c:1</text>
</g>
<!-- node1&#45;&gt;node0 -->
<g id="edge13" class="edge">
<title>node2&#45;&gt;node4</title>
<path fill="none" stroke="black" d="M275.6,-513.03C315.48,-468.92 420.31,-353 466.9,-301.48"/>
<polygon fill="black" stroke="black" points="469.75,-303.55 473.86,-293.78 464.55,-298.85 469.75,-303.55"/>
<title>node1&#45;&gt;node0</title>
<path fill="none" stroke="black" d="M259.25,-273.79C220.4,-273.77 169.41,-273.74 128.63,-273.72"/>
<polygon fill="black" stroke="black" points="128.5,-270.22 118.49,-273.72 128.49,-277.22 128.5,-270.22"/>
</g>
<!-- node6 -->
<g id="node7" class="node">
<title>node6</title>
<ellipse fill="none" stroke="black" cx="59.14" cy="-272.72" rx="59.29" ry="18"/>
<text text-anchor="middle" x="59.14" y="-269.02" font-family="Times-Roman" font-size="14.00">a:0 c:0 b:1</text>
</g>
<!-- node2&#45;&gt;node6 -->
<g id="edge5" class="edge">
<title>node2&#45;&gt;node6</title>
<path fill="none" stroke="black" d="M246,-512.79C209.35,-465.69 109.8,-337.8 73.03,-290.56"/>
</g>
<!-- node3 -->
<g id="node4" class="node">
<title>node3</title>
<ellipse fill="none" stroke="black" cx="548.13" cy="-19.23" rx="59.29" ry="18"/>
<text text-anchor="middle" x="548.13" y="-15.53" font-family="Times-Roman" font-size="14.00">a:1 c:0 b:0</text>
</g>
<!-- node3&#45;&gt;node0 -->
<g id="edge14" class="edge">
<title>node3&#45;&gt;node0</title>
<path fill="none" stroke="black" d="M532.35,-36.73C492.54,-80.88 387.91,-196.94 341.41,-248.51"/>
<polygon fill="black" stroke="black" points="338.57,-246.45 334.47,-256.22 343.77,-251.13 338.57,-246.45"/>
</g>
<!-- node3&#45;&gt;node3 -->
<g id="edge6" class="edge">
<title>node3&#45;&gt;node3</title>
<path fill="none" stroke="black" d="M603.25,-25.83C615.95,-25.26 625.27,-23.06 625.27,-19.23 625.27,-15.4 615.95,-13.2 603.25,-12.63"/>
<!-- node1&#45;&gt;node1 -->
<g id="edge4" class="edge">
<title>node1&#45;&gt;node1</title>
<path fill="none" stroke="black" d="M373.53,-280.42C386.23,-279.85 395.55,-277.65 395.55,-273.82 395.55,-269.99 386.23,-267.79 373.53,-267.22"/>
</g>
<!-- node7 -->
<g id="node8" class="node">
<title>node7</title>
<ellipse fill="none" stroke="black" cx="749.46" cy="-276.71" rx="59.29" ry="18"/>
<text text-anchor="middle" x="749.46" y="-273.01" font-family="Times-Roman" font-size="14.00">a:1 c:1 b:0</text>
<ellipse fill="none" stroke="black" cx="547.93" cy="-18.89" rx="59.29" ry="18"/>
<text text-anchor="middle" x="547.93" y="-15.19" font-family="Times-Roman" font-size="14.00">a:1 b:0 c:0</text>
</g>
<!-- node3&#45;&gt;node7 -->
<g id="edge7" class="edge">
<title>node3&#45;&gt;node7</title>
<path fill="none" stroke="black" d="M561.96,-36.93C598.74,-83.97 698.63,-211.71 735.52,-258.89"/>
<!-- node1&#45;&gt;node7 -->
<g id="edge3" class="edge">
<title>node1&#45;&gt;node7</title>
<path fill="none" stroke="black" d="M334.18,-256.3C376.11,-209.73 489.99,-83.25 532.05,-36.54"/>
</g>
<!-- node4&#45;&gt;node4 -->
<g id="edge8" class="edge">
<title>node4&#45;&gt;node4</title>
<path fill="none" stroke="black" d="M544.9,-282.78C557.6,-282.21 566.92,-280.01 566.92,-276.18 566.92,-272.35 557.6,-270.15 544.9,-269.58"/>
<!-- node2&#45;&gt;node2 -->
<g id="edge6" class="edge">
<title>node2&#45;&gt;node2</title>
<path fill="none" stroke="black" d="M316.14,-537.59C328.83,-537.02 338.16,-534.82 338.16,-530.99 338.16,-527.15 328.83,-524.95 316.14,-524.38"/>
</g>
<!-- node5 -->
<g id="node6" class="node">
<title>node5</title>
<ellipse fill="none" stroke="black" cx="263.87" cy="-18" rx="59.29" ry="18"/>
<text text-anchor="middle" x="263.87" y="-14.3" font-family="Times-Roman" font-size="14.00">a:1 c:0 b:1</text>
<ellipse fill="none" stroke="black" cx="490.25" cy="-275.8" rx="59.29" ry="18"/>
<text text-anchor="middle" x="490.25" y="-272.1" font-family="Times-Roman" font-size="14.00">a:0 b:1 c:0</text>
</g>
<!-- node4&#45;&gt;node5 -->
<g id="edge9" class="edge">
<title>node4&#45;&gt;node5</title>
<path fill="none" stroke="black" d="M474.25,-258.44C432.88,-211.16 320.36,-82.56 279.21,-35.53"/>
<!-- node2&#45;&gt;node5 -->
<g id="edge5" class="edge">
<title>node2&#45;&gt;node5</title>
<path fill="none" stroke="black" d="M276.77,-513.45C318.65,-466.83 432.38,-340.22 474.38,-293.47"/>
</g>
<!-- node4&#45;&gt;node7 -->
<!-- node6 -->
<g id="node7" class="node">
<title>node6</title>
<ellipse fill="none" stroke="black" cx="545.29" cy="-531.73" rx="59.29" ry="18"/>
<text text-anchor="middle" x="545.29" y="-528.03" font-family="Times-Roman" font-size="14.00">a:1 b:1 c:1</text>
</g>
<!-- node2&#45;&gt;node6 -->
<g id="edge14" class="edge">
<title>node2&#45;&gt;node6</title>
<path fill="none" stroke="black" d="M320.26,-531.14C365.59,-531.26 428.21,-531.42 475.88,-531.55"/>
<polygon fill="black" stroke="black" points="476.11,-535.05 486.12,-531.57 476.13,-528.05 476.11,-535.05"/>
</g>
<!-- node3 -->
<g id="node4" class="node">
<title>node3</title>
<ellipse fill="none" stroke="black" cx="749.32" cy="-276.35" rx="59.29" ry="18"/>
<text text-anchor="middle" x="749.32" y="-272.65" font-family="Times-Roman" font-size="14.00">a:1 b:1 c:0</text>
</g>
<!-- node3&#45;&gt;node3 -->
<g id="edge8" class="edge">
<title>node3&#45;&gt;node3</title>
<path fill="none" stroke="black" d="M804.45,-282.95C817.15,-282.38 826.47,-280.18 826.47,-276.35 826.47,-272.52 817.15,-270.32 804.45,-269.75"/>
</g>
<!-- node3&#45;&gt;node6 -->
<g id="edge7" class="edge">
<title>node3&#45;&gt;node6</title>
<path fill="none" stroke="black" d="M735.3,-293.9C698.03,-340.56 596.8,-467.26 559.42,-514.05"/>
</g>
<!-- node3&#45;&gt;node7 -->
<g id="edge15" class="edge">
<title>node4&#45;&gt;node7</title>
<path fill="none" stroke="black" d="M549.03,-276.3C587.94,-276.38 639.01,-276.49 679.86,-276.57"/>
<polygon fill="black" stroke="black" points="680,-280.07 690.01,-276.59 680.02,-273.07 680,-280.07"/>
<title>node3&#45;&gt;node7</title>
<path fill="none" stroke="black" d="M735.48,-258.66C700.63,-214.1 609.14,-97.14 568.22,-44.83"/>
<polygon fill="black" stroke="black" points="570.79,-42.43 561.87,-36.71 565.28,-46.75 570.79,-42.43"/>
</g>
<!-- node4&#45;&gt;node4 -->
<g id="edge9" class="edge">
<title>node4&#45;&gt;node4</title>
<path fill="none" stroke="black" d="M318.66,-24.6C331.35,-24.03 340.67,-21.83 340.67,-18 340.67,-14.17 331.35,-11.97 318.66,-11.4"/>
</g>
<!-- node5&#45;&gt;node3 -->
<g id="edge16" class="edge">
<title>node5&#45;&gt;node3</title>
<path fill="none" stroke="black" d="M323.11,-18.26C368.44,-18.45 431.05,-18.72 478.72,-18.93"/>
<polygon fill="black" stroke="black" points="478.94,-22.43 488.96,-18.98 478.97,-15.43 478.94,-22.43"/>
</g>
<!-- node5&#45;&gt;node5 -->
<g id="edge10" class="edge">
<title>node5&#45;&gt;node5</title>
<path fill="none" stroke="black" d="M319,-24.6C331.69,-24.03 341.01,-21.83 341.01,-18 341.01,-14.17 331.69,-11.97 319,-11.4"/>
</g>
<!-- node6&#45;&gt;node0 -->
<g id="edge17" class="edge">
<title>node6&#45;&gt;node0</title>
<path fill="none" stroke="black" d="M118.34,-272.97C157.22,-273.14 208.24,-273.36 249.05,-273.54"/>
<polygon fill="black" stroke="black" points="249.18,-277.04 259.19,-273.58 249.21,-270.04 249.18,-277.04"/>
<title>node5&#45;&gt;node3</title>
<path fill="none" stroke="black" d="M549.68,-275.93C588.52,-276.01 639.39,-276.12 680.06,-276.2"/>
<polygon fill="black" stroke="black" points="680.16,-279.7 690.16,-276.23 680.17,-272.7 680.16,-279.7"/>
</g>
<!-- node6&#45;&gt;node5 -->
<!-- node5&#45;&gt;node4 -->
<g id="edge16" class="edge">
<title>node5&#45;&gt;node4</title>
<path fill="none" stroke="black" d="M474.66,-258.08C435.25,-213.27 331.5,-95.3 285.75,-43.27"/>
<polygon fill="black" stroke="black" points="288.15,-40.7 278.92,-35.5 282.9,-45.32 288.15,-40.7"/>
</g>
<!-- node6&#45;&gt;node1 -->
<g id="edge18" class="edge">
<title>node6&#45;&gt;node5</title>
<path fill="none" stroke="black" d="M73.22,-255.21C108.64,-211.13 201.65,-95.41 243.25,-43.66"/>
<polygon fill="black" stroke="black" points="246.16,-45.62 249.7,-35.63 240.71,-41.23 246.16,-45.62"/>
<title>node6&#45;&gt;node1</title>
<path fill="none" stroke="black" d="M529.7,-514C490.26,-469.17 386.43,-351.15 340.64,-299.1"/>
<polygon fill="black" stroke="black" points="343.04,-296.53 333.81,-291.33 337.79,-301.15 343.04,-296.53"/>
</g>
<!-- node7&#45;&gt;node1 -->
<!-- node6&#45;&gt;node6 -->
<g id="edge10" class="edge">
<title>node6&#45;&gt;node6</title>
<path fill="none" stroke="black" d="M600.42,-538.33C613.11,-537.76 622.44,-535.56 622.44,-531.73 622.44,-527.9 613.11,-525.7 600.42,-525.13"/>
</g>
<!-- node7&#45;&gt;node4 -->
<g id="edge19" class="edge">
<title>node7&#45;&gt;node1</title>
<path fill="none" stroke="black" d="M735.37,-294.26C699.91,-338.43 606.81,-454.41 565.18,-506.28"/>
<polygon fill="black" stroke="black" points="562.25,-504.33 558.72,-514.32 567.71,-508.72 562.25,-504.33"/>
<title>node7&#45;&gt;node4</title>
<path fill="none" stroke="black" d="M488.66,-18.71C443.31,-18.57 380.67,-18.37 332.97,-18.22"/>
<polygon fill="black" stroke="black" points="332.74,-14.72 322.73,-18.19 332.71,-21.72 332.74,-14.72"/>
</g>
<!-- node7&#45;&gt;node7 -->
<g id="edge11" class="edge">
<title>node7&#45;&gt;node7</title>
<path fill="none" stroke="black" d="M804.58,-283.31C817.28,-282.74 826.6,-280.54 826.6,-276.71 826.6,-272.88 817.28,-270.68 804.58,-270.11"/>
<path fill="none" stroke="black" d="M603.06,-25.5C615.76,-24.93 625.08,-22.73 625.08,-18.89 625.08,-15.06 615.76,-12.86 603.06,-12.29"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

View File

@ -111,8 +111,8 @@
(check-equal? (edge-weight sig2 'b 'a) -1)))
(test-case "Dynamics of networks"
(check-equal? (pretty-print-state (st '((a . #f) (b . 3)))) "a:#f b:3")
(check-equal? (pretty-print-boolean-state (st '((a . #f) (b . #t)))) "a:0 b:1")
(check-equal? (pretty-print-state (st '((a . #f) (b . 3) (c . 4)))) "a:#f b:3 c:4")
(check-equal? (pretty-print-boolean-state (st '((a . #f) (b . #t) (c . #t)))) "a:0 b:1 c:1")
(let ([vars '(a b c)])
(check-equal? (make-asyn vars) (set (set 'a) (set 'b) (set 'c)))
(check-equal? (make-syn vars) (set (set 'a 'b 'c))))

View File

@ -331,14 +331,14 @@
;;; Pretty-prints a state of the network.
(define (pretty-print-state s)
(string-join (for/list ([(key val) s]) (format "~a:~a" key val))))
(string-join (hash-map s (λ (key val) (format "~a:~a" key val)) #t)))
;;; Converts any non-#f value to 1 and #f to 0.
(define (any->boolean x) (if x 1 0))
;;; Pretty-prints a state of the network to Boolean values 0 or 1.
(define (pretty-print-boolean-state s)
(string-join (for/list ([(key val) s]) (format "~a:~a" key (any->boolean val)))))
(string-join (hash-map s (λ (key val) (format "~a:~a" key (any->boolean val))) #t)))
;;; Given a state graph and a pretty-printer for states build a new
;;; state graph with pretty-printed vertices.