polished readme and added terminal quality of life improvements (clear)

This commit is contained in:
Raphaël LACROIX 2023-01-14 15:18:52 +01:00
parent ca558bdc4a
commit d7f07328d2
12 changed files with 973 additions and 92 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

462
Graph_example.svg Normal file
View file

@ -0,0 +1,462 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.50.0 (0)
-->
<!-- Title: finite_state_machine Pages: 1 -->
<svg width="1468pt" height="745pt"
viewBox="0.00 0.00 1467.96 745.00" 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 741)">
<title>finite_state_machine</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-741 1463.96,-741 1463.96,4 -4,4"/>
<!-- 15 -->
<g id="node1" class="node">
<title>15</title>
<ellipse fill="none" stroke="black" cx="20.8" cy="-267" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="20.8" y="-263.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">15</text>
</g>
<!-- 3 -->
<g id="node2" class="node">
<title>3</title>
<ellipse fill="none" stroke="black" cx="103.6" cy="-381" rx="18" ry="18"/>
<text text-anchor="middle" x="103.6" y="-377.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">3</text>
</g>
<!-- 15&#45;&gt;3 -->
<g id="edge1" class="edge">
<title>15&#45;&gt;3</title>
<path fill="none" stroke="black" d="M33.72,-283.82C47.69,-303.53 70.89,-336.27 86.46,-358.23"/>
<polygon fill="black" stroke="black" points="83.78,-360.5 92.42,-366.64 89.49,-356.46 83.78,-360.5"/>
<text text-anchor="middle" x="63.6" y="-334.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 1 -->
<g id="node3" class="node">
<title>1</title>
<ellipse fill="none" stroke="black" cx="302.79" cy="-191" rx="18" ry="18"/>
<text text-anchor="middle" x="302.79" y="-187.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 15&#45;&gt;1 -->
<g id="edge2" class="edge">
<title>15&#45;&gt;1</title>
<path fill="none" stroke="black" d="M40.61,-259.53C67.84,-248.95 119.96,-229.47 165.6,-217 191.66,-209.88 198.66,-210.1 225.19,-205 241.64,-201.84 260.12,-198.46 274.8,-195.81"/>
<polygon fill="black" stroke="black" points="275.51,-199.24 284.74,-194.03 274.27,-192.35 275.51,-199.24"/>
<text text-anchor="middle" x="143.6" y="-228.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 19 -->
<g id="node4" class="node">
<title>19</title>
<ellipse fill="none" stroke="black" cx="1187.97" cy="-424" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="1187.97" y="-420.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">19</text>
</g>
<!-- 15&#45;&gt;19 -->
<g id="edge3" class="edge">
<title>15&#45;&gt;19</title>
<path fill="none" stroke="black" d="M23.25,-287.73C29.75,-376.74 57.87,-722 102.6,-722 102.6,-722 102.6,-722 1106.17,-722 1160.97,-722 1179.78,-531.94 1185.13,-455.39"/>
<polygon fill="black" stroke="black" points="1188.65,-455.17 1185.82,-444.95 1181.67,-454.7 1188.65,-455.17"/>
<text text-anchor="middle" x="641.98" y="-725.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 12 -->
<g id="node5" class="node">
<title>12</title>
<ellipse fill="none" stroke="black" cx="245.99" cy="-665" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="245.99" y="-661.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">12</text>
</g>
<!-- 3&#45;&gt;12 -->
<g id="edge4" class="edge">
<title>3&#45;&gt;12</title>
<path fill="none" stroke="black" d="M104.96,-399.23C106.3,-449.25 112.44,-587.28 139.6,-622 157.84,-645.32 190.83,-656.07 215.06,-660.98"/>
<polygon fill="black" stroke="black" points="214.7,-664.47 225.16,-662.8 215.94,-657.58 214.7,-664.47"/>
<text text-anchor="middle" x="143.6" y="-633.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 13 -->
<g id="node6" class="node">
<title>13</title>
<ellipse fill="none" stroke="black" cx="186.39" cy="-247" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="186.39" y="-243.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">13</text>
</g>
<!-- 3&#45;&gt;13 -->
<g id="edge5" class="edge">
<title>3&#45;&gt;13</title>
<path fill="none" stroke="black" d="M113.71,-365.89C127.28,-343.38 152.99,-300.75 169.64,-273.12"/>
<polygon fill="black" stroke="black" points="172.75,-274.75 174.92,-264.38 166.76,-271.13 172.75,-274.75"/>
<text text-anchor="middle" x="143.6" y="-326.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 0 -->
<g id="node7" class="node">
<title>0</title>
<ellipse fill="none" stroke="black" cx="390.79" cy="-381" rx="18" ry="18"/>
<text text-anchor="middle" x="390.79" y="-377.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">0</text>
</g>
<!-- 3&#45;&gt;0 -->
<g id="edge6" class="edge">
<title>3&#45;&gt;0</title>
<path fill="none" stroke="black" d="M121.68,-377.63C144.97,-373.23 188.04,-365.76 225.19,-363 273.87,-359.39 330.39,-368.49 362.93,-375.02"/>
<polygon fill="black" stroke="black" points="362.5,-378.51 373,-377.12 363.92,-371.66 362.5,-378.51"/>
<text text-anchor="middle" x="245.99" y="-366.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">13</text>
</g>
<!-- 1&#45;&gt;0 -->
<g id="edge40" class="edge">
<title>1&#45;&gt;0</title>
<path fill="none" stroke="black" d="M314.12,-205.21C325.32,-221.1 343.13,-247.91 354.79,-273 367.12,-299.54 376.92,-331.63 382.98,-353.9"/>
<polygon fill="black" stroke="black" points="379.63,-354.91 385.57,-363.68 386.39,-353.11 379.63,-354.91"/>
<text text-anchor="middle" x="346.79" y="-276.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">13</text>
</g>
<!-- 10 -->
<g id="node18" class="node">
<title>10</title>
<ellipse fill="none" stroke="black" cx="447.59" cy="-117" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="447.59" y="-113.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">10</text>
</g>
<!-- 1&#45;&gt;10 -->
<g id="edge38" class="edge">
<title>1&#45;&gt;10</title>
<path fill="none" stroke="black" d="M307.78,-173.43C312.39,-157.61 321.63,-135.17 338.79,-124 361.82,-109 393.81,-108.88 416.96,-111.52"/>
<polygon fill="black" stroke="black" points="416.52,-114.99 426.9,-112.88 417.47,-108.06 416.52,-114.99"/>
<text text-anchor="middle" x="346.79" y="-127.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 8 -->
<g id="node20" class="node">
<title>8</title>
<ellipse fill="none" stroke="black" cx="776.78" cy="-153" rx="18" ry="18"/>
<text text-anchor="middle" x="776.78" y="-149.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">8</text>
</g>
<!-- 1&#45;&gt;8 -->
<g id="edge39" class="edge">
<title>1&#45;&gt;8</title>
<path fill="none" stroke="black" d="M317.57,-180.62C333.9,-169.37 362.37,-153 389.79,-153 389.79,-153 389.79,-153 686.98,-153 707.66,-153 731.06,-153 748.64,-153"/>
<polygon fill="black" stroke="black" points="748.76,-156.5 758.76,-153 748.76,-149.5 748.76,-156.5"/>
<text text-anchor="middle" x="548.39" y="-156.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 14 -->
<g id="node13" class="node">
<title>14</title>
<ellipse fill="none" stroke="black" cx="1273.57" cy="-473" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="1273.57" y="-469.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">14</text>
</g>
<!-- 19&#45;&gt;14 -->
<g id="edge28" class="edge">
<title>19&#45;&gt;14</title>
<path fill="none" stroke="black" d="M1206.29,-434.15C1217.84,-440.92 1233.23,-449.94 1246.27,-457.59"/>
<polygon fill="black" stroke="black" points="1244.87,-460.82 1255.27,-462.86 1248.41,-454.78 1244.87,-460.82"/>
<text text-anchor="middle" x="1230.77" y="-453.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 12&#45;&gt;19 -->
<g id="edge7" class="edge">
<title>12&#45;&gt;19</title>
<path fill="none" stroke="black" d="M266.09,-670.91C285.84,-676.49 317.67,-684 345.79,-684 345.79,-684 345.79,-684 1106.17,-684 1153.62,-684 1176.34,-524.1 1183.94,-455.09"/>
<polygon fill="black" stroke="black" points="1187.45,-455.15 1185.03,-444.84 1180.49,-454.41 1187.45,-455.15"/>
<text text-anchor="middle" x="729.98" y="-687.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 13&#45;&gt;1 -->
<g id="edge26" class="edge">
<title>13&#45;&gt;1</title>
<path fill="none" stroke="black" d="M204.49,-236.52C210.89,-232.73 218.3,-228.52 225.19,-225 241.82,-216.5 261.04,-207.98 276.06,-201.59"/>
<polygon fill="black" stroke="black" points="277.84,-204.63 285.71,-197.53 275.13,-198.18 277.84,-204.63"/>
<text text-anchor="middle" x="245.99" y="-228.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 13&#45;&gt;19 -->
<g id="edge27" class="edge">
<title>13&#45;&gt;19</title>
<path fill="none" stroke="black" d="M192.22,-226.96C206.15,-174.65 251.55,-38 345.79,-38 345.79,-38 345.79,-38 1106.17,-38 1178.54,-38 1186.49,-301.17 1187.06,-392.91"/>
<polygon fill="black" stroke="black" points="1183.56,-392.99 1187.1,-402.97 1190.56,-392.96 1183.56,-392.99"/>
<text text-anchor="middle" x="729.98" y="-41.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 2 -->
<g id="node10" class="node">
<title>2</title>
<ellipse fill="none" stroke="black" cx="859.58" cy="-290" rx="18" ry="18"/>
<text text-anchor="middle" x="859.58" y="-286.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">2</text>
</g>
<!-- 13&#45;&gt;2 -->
<g id="edge25" class="edge">
<title>13&#45;&gt;2</title>
<path fill="none" stroke="black" d="M207.25,-246.12C293.14,-242.43 633.05,-229.35 737.98,-248 774.08,-254.42 780.9,-264.1 815.58,-276 821.05,-277.88 826.94,-279.84 832.55,-281.67"/>
<polygon fill="black" stroke="black" points="831.61,-285.05 842.2,-284.8 833.77,-278.39 831.61,-285.05"/>
<text text-anchor="middle" x="548.39" y="-242.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 0&#45;&gt;3 -->
<g id="edge46" class="edge">
<title>0&#45;&gt;3</title>
<path fill="none" stroke="black" d="M372.75,-383.93C367.06,-384.77 360.67,-385.58 354.79,-386 259.39,-392.78 235,-392.78 139.6,-386 137.02,-385.82 134.35,-385.56 131.69,-385.26"/>
<polygon fill="black" stroke="black" points="132.01,-381.77 121.63,-383.93 131.09,-388.71 132.01,-381.77"/>
<text text-anchor="middle" x="245.99" y="-395.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">2</text>
</g>
<!-- 0&#45;&gt;1 -->
<g id="edge47" class="edge">
<title>0&#45;&gt;1</title>
<path fill="none" stroke="black" d="M380.56,-365.91C369.72,-347.81 351.59,-316.37 338.79,-288 328.32,-264.79 318.68,-237.44 312.18,-217.7"/>
<polygon fill="black" stroke="black" points="315.49,-216.57 309.08,-208.14 308.83,-218.73 315.49,-216.57"/>
<text text-anchor="middle" x="346.79" y="-323.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">2</text>
</g>
<!-- 6 -->
<g id="node8" class="node">
<title>6</title>
<ellipse fill="none" stroke="black" cx="685.98" cy="-278" rx="18" ry="18"/>
<text text-anchor="middle" x="685.98" y="-274.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">6</text>
</g>
<!-- 0&#45;&gt;6 -->
<g id="edge42" class="edge">
<title>0&#45;&gt;6</title>
<path fill="none" stroke="black" d="M395.87,-363.65C400.6,-347.26 410,-323.16 426.79,-309 493.49,-252.76 606.62,-263.76 658.07,-272.54"/>
<polygon fill="black" stroke="black" points="657.61,-276.01 668.08,-274.35 658.86,-269.12 657.61,-276.01"/>
<text text-anchor="middle" x="548.39" y="-270.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 0&#45;&gt;2 -->
<g id="edge41" class="edge">
<title>0&#45;&gt;2</title>
<path fill="none" stroke="black" d="M408.07,-375.94C413.94,-374.23 420.63,-372.4 426.79,-371 601.22,-331.48 651.4,-352.37 823.58,-304 826.79,-303.1 830.11,-302 833.37,-300.82"/>
<polygon fill="black" stroke="black" points="834.75,-304.04 842.8,-297.14 832.21,-297.52 834.75,-304.04"/>
<text text-anchor="middle" x="641.98" y="-343.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">2</text>
</g>
<!-- 5 -->
<g id="node11" class="node">
<title>5</title>
<ellipse fill="none" stroke="black" cx="1025.17" cy="-456" rx="18" ry="18"/>
<text text-anchor="middle" x="1025.17" y="-452.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">5</text>
</g>
<!-- 0&#45;&gt;5 -->
<g id="edge43" class="edge">
<title>0&#45;&gt;5</title>
<path fill="none" stroke="black" d="M394.34,-398.95C398.05,-418.19 406.82,-448.25 426.79,-465 530.16,-551.71 594.06,-494 728.98,-494 728.98,-494 728.98,-494 943.38,-494 964.76,-494 986.55,-482.97 1002.11,-472.79"/>
<polygon fill="black" stroke="black" points="1004.27,-475.56 1010.5,-466.99 1000.28,-469.8 1004.27,-475.56"/>
<text text-anchor="middle" x="729.98" y="-498.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 7 -->
<g id="node14" class="node">
<title>7</title>
<ellipse fill="none" stroke="black" cx="1356.37" cy="-473" rx="18" ry="18"/>
<text text-anchor="middle" x="1356.37" y="-469.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">7</text>
</g>
<!-- 0&#45;&gt;7 -->
<g id="edge44" class="edge">
<title>0&#45;&gt;7</title>
<path fill="none" stroke="black" d="M391.2,-399.21C390.29,-459.09 396.06,-646 503.39,-646 503.39,-646 503.39,-646 1274.57,-646 1337.59,-646 1351.57,-550.58 1354.59,-501.47"/>
<polygon fill="black" stroke="black" points="1358.1,-501.35 1355.1,-491.19 1351.11,-501 1358.1,-501.35"/>
<text text-anchor="middle" x="899.58" y="-649.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 4 -->
<g id="node17" class="node">
<title>4</title>
<ellipse fill="none" stroke="black" cx="504.39" cy="-448" rx="18" ry="18"/>
<text text-anchor="middle" x="504.39" y="-444.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">4</text>
</g>
<!-- 0&#45;&gt;4 -->
<g id="edge45" class="edge">
<title>0&#45;&gt;4</title>
<path fill="none" stroke="black" d="M399.35,-397.04C405.3,-407.96 414.63,-421.85 426.79,-430 441.35,-439.77 460.57,-444.26 476.12,-446.32"/>
<polygon fill="black" stroke="black" points="475.87,-449.82 486.19,-447.39 476.61,-442.85 475.87,-449.82"/>
<text text-anchor="middle" x="447.59" y="-449.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 6&#45;&gt;0 -->
<g id="edge8" class="edge">
<title>6&#45;&gt;0</title>
<path fill="none" stroke="black" d="M667.94,-279.66C617.01,-284.89 467.03,-302.25 426.79,-329 417.04,-335.48 409.3,-345.7 403.61,-355.37"/>
<polygon fill="black" stroke="black" points="400.44,-353.87 398.77,-364.34 406.6,-357.2 400.44,-353.87"/>
<text text-anchor="middle" x="548.39" y="-300.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">49</text>
</g>
<!-- 11 -->
<g id="node9" class="node">
<title>11</title>
<ellipse fill="none" stroke="black" cx="776.78" cy="-217" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="776.78" y="-213.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">11</text>
</g>
<!-- 6&#45;&gt;11 -->
<g id="edge9" class="edge">
<title>6&#45;&gt;11</title>
<path fill="none" stroke="black" d="M701.25,-268.2C714.57,-259.05 734.74,-245.19 750.74,-234.2"/>
<polygon fill="black" stroke="black" points="752.87,-236.99 759.13,-228.44 748.9,-231.22 752.87,-236.99"/>
<text text-anchor="middle" x="729.98" y="-256.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 11&#45;&gt;1 -->
<g id="edge12" class="edge">
<title>11&#45;&gt;1</title>
<path fill="none" stroke="black" d="M757.53,-208.34C739.89,-200.78 712.2,-191 686.98,-191 389.79,-191 389.79,-191 389.79,-191 370.19,-191 348.08,-191 331.19,-191"/>
<polygon fill="black" stroke="black" points="330.92,-187.5 320.92,-191 330.92,-194.5 330.92,-187.5"/>
<text text-anchor="middle" x="548.39" y="-194.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 11&#45;&gt;19 -->
<g id="edge10" class="edge">
<title>11&#45;&gt;19</title>
<path fill="none" stroke="black" d="M795.15,-207.21C811.12,-199.13 835.72,-189 858.58,-189 858.58,-189 858.58,-189 1106.17,-189 1148.79,-189 1173.75,-328.97 1182.93,-392.86"/>
<polygon fill="black" stroke="black" points="1179.51,-393.72 1184.36,-403.15 1186.45,-392.76 1179.51,-393.72"/>
<text text-anchor="middle" x="985.17" y="-192.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 11&#45;&gt;2 -->
<g id="edge11" class="edge">
<title>11&#45;&gt;2</title>
<path fill="none" stroke="black" d="M792.98,-230.73C805.66,-242.19 823.87,-258.64 837.89,-271.31"/>
<polygon fill="black" stroke="black" points="835.82,-274.15 845.58,-278.26 840.51,-268.96 835.82,-274.15"/>
<text text-anchor="middle" x="819.58" y="-261.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 2&#45;&gt;15 -->
<g id="edge34" class="edge">
<title>2&#45;&gt;15</title>
<path fill="none" stroke="black" d="M855.79,-272.12C847.27,-220.69 819.58,-76 777.78,-76 102.6,-76 102.6,-76 102.6,-76 33.91,-76 22.72,-182.08 21.48,-236.13"/>
<polygon fill="black" stroke="black" points="17.98,-236.15 21.35,-246.2 24.98,-236.24 17.98,-236.15"/>
<text text-anchor="middle" x="447.59" y="-79.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 2&#45;&gt;0 -->
<g id="edge33" class="edge">
<title>2&#45;&gt;0</title>
<path fill="none" stroke="black" d="M851.34,-306.56C845.53,-317.71 836.25,-331.68 823.58,-339 814.76,-344.1 512.23,-370.59 418.92,-378.67"/>
<polygon fill="black" stroke="black" points="418.51,-375.19 408.85,-379.53 419.11,-382.16 418.51,-375.19"/>
<text text-anchor="middle" x="641.98" y="-363.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">10</text>
</g>
<!-- 16 -->
<g id="node19" class="node">
<title>16</title>
<ellipse fill="none" stroke="black" cx="942.38" cy="-407" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="942.38" y="-403.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">16</text>
</g>
<!-- 2&#45;&gt;16 -->
<g id="edge35" class="edge">
<title>2&#45;&gt;16</title>
<path fill="none" stroke="black" d="M870.49,-304.35C883.79,-323.61 907.63,-358.14 923.97,-381.79"/>
<polygon fill="black" stroke="black" points="921.26,-384.03 929.82,-390.27 927.02,-380.05 921.26,-384.03"/>
<text text-anchor="middle" x="899.58" y="-356.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 5&#45;&gt;0 -->
<g id="edge13" class="edge">
<title>5&#45;&gt;0</title>
<path fill="none" stroke="black" d="M1016.17,-472.15C1010,-483.32 1000.61,-497.93 989.17,-508 929.25,-560.76 900.42,-570 820.58,-570 503.39,-570 503.39,-570 503.39,-570 465.18,-570 450.35,-561.07 426.79,-531 399.08,-495.63 392.67,-442.08 391.53,-409.45"/>
<polygon fill="black" stroke="black" points="395.03,-409.17 391.33,-399.24 388.03,-409.31 395.03,-409.17"/>
<text text-anchor="middle" x="729.98" y="-573.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">19</text>
</g>
<!-- 9 -->
<g id="node12" class="node">
<title>9</title>
<ellipse fill="none" stroke="black" cx="1105.17" cy="-444" rx="18" ry="18"/>
<text text-anchor="middle" x="1105.17" y="-440.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">9</text>
</g>
<!-- 5&#45;&gt;9 -->
<g id="edge14" class="edge">
<title>5&#45;&gt;9</title>
<path fill="none" stroke="black" d="M1043.1,-453.4C1053.01,-451.87 1065.77,-449.91 1077.05,-448.17"/>
<polygon fill="black" stroke="black" points="1077.93,-451.58 1087.28,-446.6 1076.87,-444.66 1077.93,-451.58"/>
<text text-anchor="middle" x="1065.17" y="-454.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 9&#45;&gt;19 -->
<g id="edge15" class="edge">
<title>9&#45;&gt;19</title>
<path fill="none" stroke="black" d="M1122.92,-439.86C1133,-437.36 1146.11,-434.11 1157.85,-431.21"/>
<polygon fill="black" stroke="black" points="1158.83,-434.57 1167.7,-428.77 1157.15,-427.78 1158.83,-434.57"/>
<text text-anchor="middle" x="1145.17" y="-439.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 14&#45;&gt;7 -->
<g id="edge16" class="edge">
<title>14&#45;&gt;7</title>
<path fill="none" stroke="black" d="M1294.54,-473C1304.74,-473 1317.3,-473 1328.35,-473"/>
<polygon fill="black" stroke="black" points="1328.35,-476.5 1338.35,-473 1328.35,-469.5 1328.35,-476.5"/>
<text text-anchor="middle" x="1316.37" y="-476.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 18 -->
<g id="node15" class="node">
<title>18</title>
<ellipse fill="none" stroke="black" cx="1439.16" cy="-440" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="1439.16" y="-436.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">18</text>
</g>
<!-- 7&#45;&gt;18 -->
<g id="edge18" class="edge">
<title>7&#45;&gt;18</title>
<path fill="none" stroke="black" d="M1373.33,-466.48C1383.85,-462.18 1397.92,-456.44 1410.26,-451.4"/>
<polygon fill="black" stroke="black" points="1411.76,-454.57 1419.69,-447.55 1409.11,-448.09 1411.76,-454.57"/>
<text text-anchor="middle" x="1396.37" y="-462.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 18&#45;&gt;19 -->
<g id="edge17" class="edge">
<title>18&#45;&gt;19</title>
<path fill="none" stroke="black" d="M1418.1,-438.71C1374.45,-435.91 1270.67,-429.25 1219.11,-425.94"/>
<polygon fill="black" stroke="black" points="1219.15,-422.43 1208.94,-425.28 1218.7,-429.42 1219.15,-422.43"/>
<text text-anchor="middle" x="1316.37" y="-436.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 17 -->
<g id="node16" class="node">
<title>17</title>
<ellipse fill="none" stroke="black" cx="595.18" cy="-468" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="595.18" y="-464.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">17</text>
</g>
<!-- 17&#45;&gt;19 -->
<g id="edge21" class="edge">
<title>17&#45;&gt;19</title>
<path fill="none" stroke="black" d="M608.3,-484.48C623.78,-503.44 652.49,-532 684.98,-532 684.98,-532 684.98,-532 1106.17,-532 1145.37,-532 1167.85,-485.83 1178.72,-453.86"/>
<polygon fill="black" stroke="black" points="1182.14,-454.65 1181.85,-444.06 1175.47,-452.52 1182.14,-454.65"/>
<text text-anchor="middle" x="899.58" y="-535.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 17&#45;&gt;6 -->
<g id="edge19" class="edge">
<title>17&#45;&gt;6</title>
<path fill="none" stroke="black" d="M607.81,-451.2C619.54,-433.73 637.64,-405.32 649.98,-379 661.38,-354.71 671.06,-325.64 677.34,-304.94"/>
<polygon fill="black" stroke="black" points="680.73,-305.81 680.22,-295.23 674.02,-303.82 680.73,-305.81"/>
<text text-anchor="middle" x="641.98" y="-413.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 17&#45;&gt;5 -->
<g id="edge20" class="edge">
<title>17&#45;&gt;5</title>
<path fill="none" stroke="black" d="M615.83,-463.8C633.76,-460.34 661.02,-456 684.98,-456 684.98,-456 684.98,-456 943.38,-456 961.27,-456 981.39,-456 997.08,-456"/>
<polygon fill="black" stroke="black" points="997.15,-459.5 1007.15,-456 997.15,-452.5 997.15,-459.5"/>
<text text-anchor="middle" x="819.58" y="-459.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 4&#45;&gt;0 -->
<g id="edge23" class="edge">
<title>4&#45;&gt;0</title>
<path fill="none" stroke="black" d="M491.63,-434.98C485.22,-428.4 476.87,-420.64 468.39,-415 452.58,-404.49 433,-395.87 417.59,-389.93"/>
<polygon fill="black" stroke="black" points="418.74,-386.63 408.15,-386.43 416.31,-393.19 418.74,-386.63"/>
<text text-anchor="middle" x="447.59" y="-418.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 4&#45;&gt;17 -->
<g id="edge22" class="edge">
<title>4&#45;&gt;17</title>
<path fill="none" stroke="black" d="M522.09,-451.76C534.13,-454.48 550.71,-458.21 564.93,-461.41"/>
<polygon fill="black" stroke="black" points="564.25,-464.85 574.77,-463.63 565.79,-458.02 564.25,-464.85"/>
<text text-anchor="middle" x="548.39" y="-463.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 10&#45;&gt;19 -->
<g id="edge24" class="edge">
<title>10&#45;&gt;19</title>
<path fill="none" stroke="black" d="M468.59,-115.82C505.11,-113.33 584.8,-106.37 649.98,-90 690.49,-79.83 701.07,-76.55 737.98,-57 776.75,-36.46 774.7,0 818.58,0 818.58,0 818.58,0 1106.17,0 1128.06,0 1137.22,-5.67 1149.17,-24 1169.18,-54.67 1181.8,-304.17 1185.69,-392.86"/>
<polygon fill="black" stroke="black" points="1182.2,-393.25 1186.13,-403.09 1189.19,-392.95 1182.2,-393.25"/>
<text text-anchor="middle" x="819.58" y="-4.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 16&#45;&gt;3 -->
<g id="edge31" class="edge">
<title>16&#45;&gt;3</title>
<path fill="none" stroke="black" d="M940.12,-427.95C937.45,-457.2 929.18,-510.85 903.58,-548 877.75,-585.48 866.1,-608 820.58,-608 185.39,-608 185.39,-608 185.39,-608 143.56,-608 117.78,-469.46 108.5,-408.84"/>
<polygon fill="black" stroke="black" points="111.94,-408.19 107.01,-398.81 105.02,-409.22 111.94,-408.19"/>
<text text-anchor="middle" x="548.39" y="-611.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 16&#45;&gt;19 -->
<g id="edge32" class="edge">
<title>16&#45;&gt;19</title>
<path fill="none" stroke="black" d="M963.35,-407.76C996.57,-409.1 1065.22,-412.21 1123.17,-417 1134.25,-417.92 1146.38,-419.18 1157.06,-420.38"/>
<polygon fill="black" stroke="black" points="1156.83,-423.88 1167.17,-421.55 1157.64,-416.93 1156.83,-423.88"/>
<text text-anchor="middle" x="1065.17" y="-417.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 16&#45;&gt;5 -->
<g id="edge29" class="edge">
<title>16&#45;&gt;5</title>
<path fill="none" stroke="black" d="M962.24,-413.85C970.75,-417.28 980.75,-421.81 989.17,-427 994.13,-430.05 999.14,-433.75 1003.75,-437.47"/>
<polygon fill="black" stroke="black" points="1001.64,-440.28 1011.54,-444.06 1006.16,-434.93 1001.64,-440.28"/>
<text text-anchor="middle" x="985.17" y="-430.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 16&#45;&gt;4 -->
<g id="edge30" class="edge">
<title>16&#45;&gt;4</title>
<path fill="none" stroke="black" d="M921.88,-411.16C905.58,-414.27 881.67,-418 860.58,-418 728.98,-418 728.98,-418 728.98,-418 657.28,-418 573.79,-433.34 532.03,-442.08"/>
<polygon fill="black" stroke="black" points="531.16,-438.69 522.11,-444.2 532.62,-445.53 531.16,-438.69"/>
<text text-anchor="middle" x="729.98" y="-422.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 8&#45;&gt;19 -->
<g id="edge36" class="edge">
<title>8&#45;&gt;19</title>
<path fill="none" stroke="black" d="M794.8,-152.33C811.15,-151.75 836.55,-151 858.58,-151 858.58,-151 858.58,-151 1106.17,-151 1156.13,-151 1177.57,-321.18 1184.38,-392.82"/>
<polygon fill="black" stroke="black" points="1180.92,-393.39 1185.32,-403.03 1187.89,-392.75 1180.92,-393.39"/>
<text text-anchor="middle" x="985.17" y="-154.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 8&#45;&gt;2 -->
<g id="edge37" class="edge">
<title>8&#45;&gt;2</title>
<path fill="none" stroke="black" d="M786.74,-168.18C800.69,-191.84 827.74,-237.71 844.37,-265.92"/>
<polygon fill="black" stroke="black" points="841.49,-267.91 849.58,-274.75 847.52,-264.36 841.49,-267.91"/>
<text text-anchor="middle" x="819.58" y="-233.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 27 KiB

View file

@ -26,12 +26,12 @@ test: build
buildApp:
ocamlbuild appMedium.native
@ocamlbuild appMedium.native
app: buildApp
./appMedium.native
dot -Tsvg outFileApp > outFileApp.svg
@./appMedium.native
@dot -Tsvg outFileApp > outFileApp.svg
appSource: buildApp
./appMedium.native < INPUT
dot -Tsvg outFileApp > outFileApp.svg
@./appMedium.native < INPUT
@dot -Tsvg outFileApp > outFileApp.svg

View file

@ -13,7 +13,7 @@ hours just to realize that little jimmy can't go to the swimming pool because th
- `make app` if you want to enter the activities and participants one by one in the terminal (we won't judge you)
- `make appSource` if you prefer to enter those `./INPUT` and let the program do it for you
## inputting data
## Inputting data
The format for the file is as follows :
*Nb_... and id_... are numbers. The first represent the number of possible participants. The latter will be used to say
@ -31,6 +31,14 @@ Participant_2 id_1 id_2 id_3 ... id_n
Participant_m id_1 id_2 id_3 ... id_n
```
The formatting is the same should you input th information through the terminal. You will be guided along the way.
## Examples
### with a source file
![example_with_source.png](example_with_source.png)
### with the CLI
![Example_without_source_1.png](Example_without_source_1.png)
![Example_without_source_2.png](Example_without_source_2.png)
![Example_without_source_3.png](Example_without_source_3.png)
## NB
- The application seeks to match **children/students** to **activities/courses** as a
@ -44,3 +52,7 @@ The formatting is the same should you input th information through the terminal.
- `make test` enables you to test the first step of the project
- ⚠️ But it is needed to roll back in the git history before the changes for the "Medium" part were made like
[this one](https://git.etud.insa-toulouse.fr/rlacroix/FordFulkersonLeChameau/src/commit/5ca008700e62474cc17b2845e7d2dd061c319861)
- An image of the final graph (`./outFileApp.svg`) can be used to get a better understanding of the algorithm here is an example :
![Graph_example.svg](Graph_example.svg)

View file

@ -6,7 +6,7 @@
"Resource: /home/chepycou/Documents/cours/4-IR/functionalProgramming/Projet/repoGit/ocaml-maxflow-project/src/appTools.ml": "\004^\138\189Yz\011d\149\188\227\183\236\162\167\026"
"Rule: ocaml: ml & cmi -> cmx & o (%=src/gfile )": "\236O\148Y\157m\028\183\166?\231a\231\187u\132"
"Rule: ocaml dependencies ml (%=src/ftest )": "\230\175qh\130\015\155\249vP\209\027\168Q\212\153"
"Rule: ocaml: cmx* & o* -> native (%=src/appMedium )": "\206>\142\236!+\211\017\002:\166\189\207\140\227\191"
"Rule: ocaml: cmx* & o* -> native (%=src/appMedium )": ".fp\"(\162\159qP\135\211,A/\238\023"
"Rule: ocaml dependencies mli (%=src/display )": "\231~k=1\249%\182S0\233D\212\252\223\161"
"Resource: /home/chepycou/Documents/cours/4-IR/functionalProgramming/Projet/repoGit/ocaml-maxflow-project/src/ftest.ml": "\161\017\169<\253\134ph\188\179@\248\183\026\133'"
"Resource: /home/chepycou/Documents/cours/4-IR/functionalProgramming/Projet/repoGit/ocaml-maxflow-project/src/fordFulkerson.ml": "\018\182\220EC\195\028\nc\215W\207\1876\250\179"
@ -23,11 +23,11 @@
"Rule: ocaml: mli -> cmi (%=src/gfile )": "\015\211&r\030l{}\183\187\236\2266\022\129\191"
"Resource: /home/chepycou/Documents/cours/4-IR/functionalProgramming/Projet/repoGit/ocaml-maxflow-project/src/ioApp.mli": "\178\247\139\175\031\167d)\137\166*\002\145\219/\223"
"Rule: ocaml: mli -> cmi (%=src/appTools )": "0\023\150\158\252\178S\158\b\189\169RA\190\195+"
"Rule: ocaml: ml & cmi -> cmx & o (%=src/appMedium )": "\157Y\149\133\238K\162\023gsd\150\192\208\236X"
"Rule: ocaml: ml & cmi -> cmx & o (%=src/appMedium )": "\146}\229+\212\208\158F:Z\017\150\134(\136\184"
"Rule: ocaml dependencies ml (%=src/tools )": ",\255!)\2477ygb7\022\204V\143/$"
"Rule: ocaml: mli -> cmi (%=src/ioApp )": "%\246\167\224\"c>\168\bS,X|ym6"
"Rule: ocaml dependencies ml (%=src/ioApp )": "\198\012\135\167\128\222.\135f\145\160\132\003n\179\024"
"Resource: /home/chepycou/Documents/cours/4-IR/functionalProgramming/Projet/repoGit/ocaml-maxflow-project/src/ioApp.ml": "%\174LQvF\219@\247\171\144\206\023\248\204O"
"Rule: ocaml dependencies ml (%=src/ioApp )": "Q\141\214\1743\1991O\249\139\214\015r/\r\185"
"Resource: /home/chepycou/Documents/cours/4-IR/functionalProgramming/Projet/repoGit/ocaml-maxflow-project/src/ioApp.ml": "\193&\188\138Q/\209+%\222\025\159X~\205\155"
"Rule: ocaml: ml -> cmo & cmi (%=src/ftest )": "\2035PN<\216\182\028\220+~\028\012{V\007"
"Resource: /home/chepycou/Documents/cours/4-IR/functionalProgramming/Projet/repoGit/ocaml-maxflow-project/src/fordFulkerson.mli": "_;(\155\176\"\225\011\230\191\031M\168\250\219\170"
"Rule: ocaml dependencies mli (%=src/fordFulkerson )": "\022\200\166Dz0\003\233z\198y\144S\162\2034"
@ -39,7 +39,7 @@
"Rule: ocaml dependencies ml (%=src/fordFulkerson )": "{V\027D\r\028\012\251;\0033@\020;)P"
"Rule: ocaml: ml & cmi -> cmx & o (%=src/appTools )": "\130\144:A,\158^^\248\134@GT\223Qt"
"Rule: ocaml dependencies ml (%=src/appMedium )": "\148\253\025j\198\175\211\152si\247\179\246DH\237"
"Rule: ocaml: ml & cmi -> cmx & o (%=src/ioApp )": "{\024\188\244z\139\133\157\229I\029\132\136Q\214\246"
"Rule: ocaml: ml & cmi -> cmx & o (%=src/ioApp )": "n\163<(Z)z\002J\248;\031#X\215\156"
"Resource: /home/chepycou/Documents/cours/4-IR/functionalProgramming/Projet/repoGit/ocaml-maxflow-project/src/tools.mli": "\025v\144\241\237\241\b\248\197tD\012\171\216\202\148"
"Rule: ocaml: ml & cmi -> cmx & o (%=src/graph )": "\190\tV\232\254i\031+\141\154\168\219\155n\156C"
"Rule: ocaml dependencies ml (%=src/graph )": "\137kk#\140\236\011\255?\132T\225M\018\169\224"

View file

@ -56,11 +56,11 @@
# Target: src/fordFulkerson.cmx, tags: { compile, extension:cmx, extension:ml, file:src/fordFulkerson.cmx, file:src/fordFulkerson.ml, implem, include, native, ocaml, quiet, traverse }
/home/chepycou/.opam/4.14.0/bin/ocamlopt.opt -c -I src -o src/fordFulkerson.cmx src/fordFulkerson.ml # cached
# Target: src/ioApp.ml.depends, tags: { extension:ml, file:src/ioApp.ml, include, ocaml, ocamldep, quiet, traverse }
/home/chepycou/.opam/4.14.0/bin/ocamldep.opt -modules src/ioApp.ml > src/ioApp.ml.depends
/home/chepycou/.opam/4.14.0/bin/ocamldep.opt -modules src/ioApp.ml > src/ioApp.ml.depends # cached
# Target: src/ioApp.cmx, tags: { compile, extension:cmx, extension:ml, file:src/ioApp.cmx, file:src/ioApp.ml, implem, include, native, ocaml, quiet, traverse }
/home/chepycou/.opam/4.14.0/bin/ocamlopt.opt -c -I src -o src/ioApp.cmx src/ioApp.ml
/home/chepycou/.opam/4.14.0/bin/ocamlopt.opt -c -I src -o src/ioApp.cmx src/ioApp.ml # cached
# Target: src/appMedium.cmx, tags: { compile, extension:cmx, extension:ml, file:src/appMedium.cmx, file:src/appMedium.ml, implem, include, native, ocaml, quiet, traverse }
/home/chepycou/.opam/4.14.0/bin/ocamlopt.opt -c -I src -o src/appMedium.cmx src/appMedium.ml
/home/chepycou/.opam/4.14.0/bin/ocamlopt.opt -c -I src -o src/appMedium.cmx src/appMedium.ml # cached
# Target: src/appMedium.native, tags: { dont_link_with, extension:native, file:src/appMedium.native, include, link, native, ocaml, program, quiet, traverse }
/home/chepycou/.opam/4.14.0/bin/ocamlopt.opt -I src src/graph.cmx src/gfile.cmx src/tools.cmx src/appTools.cmx src/display.cmx src/fordFulkerson.cmx src/ioApp.cmx src/appMedium.cmx -o src/appMedium.native
/home/chepycou/.opam/4.14.0/bin/ocamlopt.opt -I src src/graph.cmx src/gfile.cmx src/tools.cmx src/appTools.cmx src/display.cmx src/fordFulkerson.cmx src/ioApp.cmx src/appMedium.cmx -o src/appMedium.native # cached
# Compilation successful.

BIN
example_with_source.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

View file

@ -12,11 +12,51 @@
node [shape = circle];
4 -> 1 [label = "1"];
3 -> 1 [label = "1"];
5 -> 4 [label = "1"];
5 -> 3 [label = "1"];
2 -> 5 [label = "1"];
1 -> 2 [label = "1"];
0 -> 1 [label = "1"];
15 -> 3 [label = "1"];
15 -> 1 [label = "1"];
15 -> 19 [label = "1"];
3 -> 12 [label = "1"];
3 -> 13 [label = "1"];
3 -> 0 [label = "13"];
12 -> 19 [label = "1"];
6 -> 0 [label = "49"];
6 -> 11 [label = "1"];
11 -> 19 [label = "1"];
11 -> 2 [label = "1"];
11 -> 1 [label = "1"];
5 -> 0 [label = "19"];
5 -> 9 [label = "1"];
9 -> 19 [label = "1"];
14 -> 7 [label = "1"];
18 -> 19 [label = "1"];
7 -> 18 [label = "1"];
17 -> 6 [label = "1"];
17 -> 5 [label = "1"];
17 -> 19 [label = "1"];
4 -> 17 [label = "1"];
4 -> 0 [label = "1"];
10 -> 19 [label = "1"];
13 -> 2 [label = "1"];
13 -> 1 [label = "1"];
13 -> 19 [label = "1"];
19 -> 14 [label = "1"];
16 -> 5 [label = "1"];
16 -> 4 [label = "1"];
16 -> 3 [label = "1"];
16 -> 19 [label = "1"];
2 -> 0 [label = "10"];
2 -> 15 [label = "1"];
2 -> 16 [label = "1"];
8 -> 19 [label = "1"];
8 -> 2 [label = "1"];
1 -> 10 [label = "1"];
1 -> 8 [label = "1"];
1 -> 0 [label = "13"];
0 -> 2 [label = "2"];
0 -> 6 [label = "1"];
0 -> 5 [label = "1"];
0 -> 7 [label = "1"];
0 -> 4 [label = "1"];
0 -> 3 [label = "2"];
0 -> 1 [label = "2"];
}

View file

@ -4,95 +4,459 @@
<!-- Generated by graphviz version 2.50.0 (0)
-->
<!-- Title: finite_state_machine Pages: 1 -->
<svg width="364pt" height="113pt"
viewBox="0.00 0.00 364.00 113.00" 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 109)">
<svg width="1468pt" height="745pt"
viewBox="0.00 0.00 1467.96 745.00" 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 741)">
<title>finite_state_machine</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-109 360,-109 360,4 -4,4"/>
<!-- 4 -->
<polygon fill="white" stroke="transparent" points="-4,4 -4,-741 1463.96,-741 1463.96,4 -4,4"/>
<!-- 15 -->
<g id="node1" class="node">
<title>4</title>
<ellipse fill="none" stroke="black" cx="18" cy="-87" rx="18" ry="18"/>
<text text-anchor="middle" x="18" y="-83.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">4</text>
</g>
<!-- 1 -->
<g id="node2" class="node">
<title>1</title>
<ellipse fill="none" stroke="black" cx="98" cy="-37" rx="18" ry="18"/>
<text text-anchor="middle" x="98" y="-33.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 4&#45;&gt;1 -->
<g id="edge1" class="edge">
<title>4&#45;&gt;1</title>
<path fill="none" stroke="black" d="M33.67,-77.6C45,-70.33 60.89,-60.15 73.92,-51.79"/>
<polygon fill="black" stroke="black" points="75.86,-54.71 82.39,-46.36 72.09,-48.81 75.86,-54.71"/>
<text text-anchor="middle" x="58" y="-66.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 2 -->
<g id="node5" class="node">
<title>2</title>
<ellipse fill="none" stroke="black" cx="178" cy="-48" rx="18" ry="18"/>
<text text-anchor="middle" x="178" y="-44.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">2</text>
</g>
<!-- 1&#45;&gt;2 -->
<g id="edge6" class="edge">
<title>1&#45;&gt;2</title>
<path fill="none" stroke="black" d="M115.92,-39.39C125.84,-40.79 138.59,-42.58 149.88,-44.18"/>
<polygon fill="black" stroke="black" points="149.72,-47.69 160.11,-45.62 150.69,-40.76 149.72,-47.69"/>
<text text-anchor="middle" x="138" y="-45.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
<title>15</title>
<ellipse fill="none" stroke="black" cx="20.8" cy="-267" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="20.8" y="-263.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">15</text>
</g>
<!-- 3 -->
<g id="node3" class="node">
<g id="node2" class="node">
<title>3</title>
<ellipse fill="none" stroke="black" cx="338" cy="-18" rx="18" ry="18"/>
<text text-anchor="middle" x="338" y="-14.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">3</text>
<ellipse fill="none" stroke="black" cx="103.6" cy="-381" rx="18" ry="18"/>
<text text-anchor="middle" x="103.6" y="-377.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">3</text>
</g>
<!-- 3&#45;&gt;1 -->
<!-- 15&#45;&gt;3 -->
<g id="edge1" class="edge">
<title>15&#45;&gt;3</title>
<path fill="none" stroke="black" d="M33.72,-283.82C47.69,-303.53 70.89,-336.27 86.46,-358.23"/>
<polygon fill="black" stroke="black" points="83.78,-360.5 92.42,-366.64 89.49,-356.46 83.78,-360.5"/>
<text text-anchor="middle" x="63.6" y="-334.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 1 -->
<g id="node3" class="node">
<title>1</title>
<ellipse fill="none" stroke="black" cx="302.79" cy="-191" rx="18" ry="18"/>
<text text-anchor="middle" x="302.79" y="-187.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 15&#45;&gt;1 -->
<g id="edge2" class="edge">
<title>3&#45;&gt;1</title>
<path fill="none" stroke="black" d="M319.81,-16.93C288.06,-15.27 218.15,-13 160,-21 148.33,-22.61 135.69,-25.69 124.96,-28.72"/>
<polygon fill="black" stroke="black" points="123.95,-25.37 115.35,-31.57 125.94,-32.09 123.95,-25.37"/>
<text text-anchor="middle" x="218" y="-20.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
<title>15&#45;&gt;1</title>
<path fill="none" stroke="black" d="M40.61,-259.53C67.84,-248.95 119.96,-229.47 165.6,-217 191.66,-209.88 198.66,-210.1 225.19,-205 241.64,-201.84 260.12,-198.46 274.8,-195.81"/>
<polygon fill="black" stroke="black" points="275.51,-199.24 284.74,-194.03 274.27,-192.35 275.51,-199.24"/>
<text text-anchor="middle" x="143.6" y="-228.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 5 -->
<!-- 19 -->
<g id="node4" class="node">
<title>5</title>
<ellipse fill="none" stroke="black" cx="258" cy="-48" rx="18" ry="18"/>
<text text-anchor="middle" x="258" y="-44.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">5</text>
<title>19</title>
<ellipse fill="none" stroke="black" cx="1187.97" cy="-424" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="1187.97" y="-420.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">19</text>
</g>
<!-- 5&#45;&gt;4 -->
<!-- 15&#45;&gt;19 -->
<g id="edge3" class="edge">
<title>5&#45;&gt;4</title>
<path fill="none" stroke="black" d="M241.99,-57C235.92,-60.41 228.76,-64.16 222,-67 210.85,-71.68 207.89,-72.8 196,-75 143.67,-84.69 81.34,-86.77 46.35,-87.09"/>
<polygon fill="black" stroke="black" points="45.98,-83.59 36,-87.14 46.02,-90.59 45.98,-83.59"/>
<text text-anchor="middle" x="138" y="-86.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
<title>15&#45;&gt;19</title>
<path fill="none" stroke="black" d="M23.25,-287.73C29.75,-376.74 57.87,-722 102.6,-722 102.6,-722 102.6,-722 1106.17,-722 1160.97,-722 1179.78,-531.94 1185.13,-455.39"/>
<polygon fill="black" stroke="black" points="1188.65,-455.17 1185.82,-444.95 1181.67,-454.7 1188.65,-455.17"/>
<text text-anchor="middle" x="641.98" y="-725.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 5&#45;&gt;3 -->
<!-- 12 -->
<g id="node5" class="node">
<title>12</title>
<ellipse fill="none" stroke="black" cx="245.99" cy="-665" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="245.99" y="-661.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">12</text>
</g>
<!-- 3&#45;&gt;12 -->
<g id="edge4" class="edge">
<title>5&#45;&gt;3</title>
<path fill="none" stroke="black" d="M275.16,-41.78C285.62,-37.76 299.46,-32.44 311.4,-27.85"/>
<polygon fill="black" stroke="black" points="312.78,-31.06 320.86,-24.21 310.27,-24.53 312.78,-31.06"/>
<text text-anchor="middle" x="298" y="-36.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
<title>3&#45;&gt;12</title>
<path fill="none" stroke="black" d="M104.96,-399.23C106.3,-449.25 112.44,-587.28 139.6,-622 157.84,-645.32 190.83,-656.07 215.06,-660.98"/>
<polygon fill="black" stroke="black" points="214.7,-664.47 225.16,-662.8 215.94,-657.58 214.7,-664.47"/>
<text text-anchor="middle" x="143.6" y="-633.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 2&#45;&gt;5 -->
<!-- 13 -->
<g id="node6" class="node">
<title>13</title>
<ellipse fill="none" stroke="black" cx="186.39" cy="-247" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="186.39" y="-243.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">13</text>
</g>
<!-- 3&#45;&gt;13 -->
<g id="edge5" class="edge">
<title>2&#45;&gt;5</title>
<path fill="none" stroke="black" d="M196.31,-48C206.11,-48 218.58,-48 229.67,-48"/>
<polygon fill="black" stroke="black" points="229.74,-51.5 239.74,-48 229.74,-44.5 229.74,-51.5"/>
<text text-anchor="middle" x="218" y="-51.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
<title>3&#45;&gt;13</title>
<path fill="none" stroke="black" d="M113.71,-365.89C127.28,-343.38 152.99,-300.75 169.64,-273.12"/>
<polygon fill="black" stroke="black" points="172.75,-274.75 174.92,-264.38 166.76,-271.13 172.75,-274.75"/>
<text text-anchor="middle" x="143.6" y="-326.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 0 -->
<g id="node6" class="node">
<g id="node7" class="node">
<title>0</title>
<ellipse fill="none" stroke="black" cx="18" cy="-26" rx="18" ry="18"/>
<text text-anchor="middle" x="18" y="-22.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">0</text>
<ellipse fill="none" stroke="black" cx="390.79" cy="-381" rx="18" ry="18"/>
<text text-anchor="middle" x="390.79" y="-377.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">0</text>
</g>
<!-- 3&#45;&gt;0 -->
<g id="edge6" class="edge">
<title>3&#45;&gt;0</title>
<path fill="none" stroke="black" d="M121.68,-377.63C144.97,-373.23 188.04,-365.76 225.19,-363 273.87,-359.39 330.39,-368.49 362.93,-375.02"/>
<polygon fill="black" stroke="black" points="362.5,-378.51 373,-377.12 363.92,-371.66 362.5,-378.51"/>
<text text-anchor="middle" x="245.99" y="-366.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">13</text>
</g>
<!-- 1&#45;&gt;0 -->
<g id="edge40" class="edge">
<title>1&#45;&gt;0</title>
<path fill="none" stroke="black" d="M314.12,-205.21C325.32,-221.1 343.13,-247.91 354.79,-273 367.12,-299.54 376.92,-331.63 382.98,-353.9"/>
<polygon fill="black" stroke="black" points="379.63,-354.91 385.57,-363.68 386.39,-353.11 379.63,-354.91"/>
<text text-anchor="middle" x="346.79" y="-276.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">13</text>
</g>
<!-- 10 -->
<g id="node18" class="node">
<title>10</title>
<ellipse fill="none" stroke="black" cx="447.59" cy="-117" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="447.59" y="-113.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">10</text>
</g>
<!-- 1&#45;&gt;10 -->
<g id="edge38" class="edge">
<title>1&#45;&gt;10</title>
<path fill="none" stroke="black" d="M307.78,-173.43C312.39,-157.61 321.63,-135.17 338.79,-124 361.82,-109 393.81,-108.88 416.96,-111.52"/>
<polygon fill="black" stroke="black" points="416.52,-114.99 426.9,-112.88 417.47,-108.06 416.52,-114.99"/>
<text text-anchor="middle" x="346.79" y="-127.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 8 -->
<g id="node20" class="node">
<title>8</title>
<ellipse fill="none" stroke="black" cx="776.78" cy="-153" rx="18" ry="18"/>
<text text-anchor="middle" x="776.78" y="-149.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">8</text>
</g>
<!-- 1&#45;&gt;8 -->
<g id="edge39" class="edge">
<title>1&#45;&gt;8</title>
<path fill="none" stroke="black" d="M317.57,-180.62C333.9,-169.37 362.37,-153 389.79,-153 389.79,-153 389.79,-153 686.98,-153 707.66,-153 731.06,-153 748.64,-153"/>
<polygon fill="black" stroke="black" points="748.76,-156.5 758.76,-153 748.76,-149.5 748.76,-156.5"/>
<text text-anchor="middle" x="548.39" y="-156.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 14 -->
<g id="node13" class="node">
<title>14</title>
<ellipse fill="none" stroke="black" cx="1273.57" cy="-473" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="1273.57" y="-469.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">14</text>
</g>
<!-- 19&#45;&gt;14 -->
<g id="edge28" class="edge">
<title>19&#45;&gt;14</title>
<path fill="none" stroke="black" d="M1206.29,-434.15C1217.84,-440.92 1233.23,-449.94 1246.27,-457.59"/>
<polygon fill="black" stroke="black" points="1244.87,-460.82 1255.27,-462.86 1248.41,-454.78 1244.87,-460.82"/>
<text text-anchor="middle" x="1230.77" y="-453.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 12&#45;&gt;19 -->
<g id="edge7" class="edge">
<title>12&#45;&gt;19</title>
<path fill="none" stroke="black" d="M266.09,-670.91C285.84,-676.49 317.67,-684 345.79,-684 345.79,-684 345.79,-684 1106.17,-684 1153.62,-684 1176.34,-524.1 1183.94,-455.09"/>
<polygon fill="black" stroke="black" points="1187.45,-455.15 1185.03,-444.84 1180.49,-454.41 1187.45,-455.15"/>
<text text-anchor="middle" x="729.98" y="-687.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 13&#45;&gt;1 -->
<g id="edge26" class="edge">
<title>13&#45;&gt;1</title>
<path fill="none" stroke="black" d="M204.49,-236.52C210.89,-232.73 218.3,-228.52 225.19,-225 241.82,-216.5 261.04,-207.98 276.06,-201.59"/>
<polygon fill="black" stroke="black" points="277.84,-204.63 285.71,-197.53 275.13,-198.18 277.84,-204.63"/>
<text text-anchor="middle" x="245.99" y="-228.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 13&#45;&gt;19 -->
<g id="edge27" class="edge">
<title>13&#45;&gt;19</title>
<path fill="none" stroke="black" d="M192.22,-226.96C206.15,-174.65 251.55,-38 345.79,-38 345.79,-38 345.79,-38 1106.17,-38 1178.54,-38 1186.49,-301.17 1187.06,-392.91"/>
<polygon fill="black" stroke="black" points="1183.56,-392.99 1187.1,-402.97 1190.56,-392.96 1183.56,-392.99"/>
<text text-anchor="middle" x="729.98" y="-41.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 2 -->
<g id="node10" class="node">
<title>2</title>
<ellipse fill="none" stroke="black" cx="859.58" cy="-290" rx="18" ry="18"/>
<text text-anchor="middle" x="859.58" y="-286.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">2</text>
</g>
<!-- 13&#45;&gt;2 -->
<g id="edge25" class="edge">
<title>13&#45;&gt;2</title>
<path fill="none" stroke="black" d="M207.25,-246.12C293.14,-242.43 633.05,-229.35 737.98,-248 774.08,-254.42 780.9,-264.1 815.58,-276 821.05,-277.88 826.94,-279.84 832.55,-281.67"/>
<polygon fill="black" stroke="black" points="831.61,-285.05 842.2,-284.8 833.77,-278.39 831.61,-285.05"/>
<text text-anchor="middle" x="548.39" y="-242.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 0&#45;&gt;3 -->
<g id="edge46" class="edge">
<title>0&#45;&gt;3</title>
<path fill="none" stroke="black" d="M372.75,-383.93C367.06,-384.77 360.67,-385.58 354.79,-386 259.39,-392.78 235,-392.78 139.6,-386 137.02,-385.82 134.35,-385.56 131.69,-385.26"/>
<polygon fill="black" stroke="black" points="132.01,-381.77 121.63,-383.93 131.09,-388.71 132.01,-381.77"/>
<text text-anchor="middle" x="245.99" y="-395.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">2</text>
</g>
<!-- 0&#45;&gt;1 -->
<g id="edge7" class="edge">
<g id="edge47" class="edge">
<title>0&#45;&gt;1</title>
<path fill="none" stroke="black" d="M36.24,-25.4C44.14,-25.38 53.58,-25.72 62,-27 64.93,-27.44 67.96,-28.06 70.95,-28.77"/>
<polygon fill="black" stroke="black" points="70.24,-32.21 80.81,-31.44 72.07,-25.45 70.24,-32.21"/>
<text text-anchor="middle" x="58" y="-30.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
<path fill="none" stroke="black" d="M380.56,-365.91C369.72,-347.81 351.59,-316.37 338.79,-288 328.32,-264.79 318.68,-237.44 312.18,-217.7"/>
<polygon fill="black" stroke="black" points="315.49,-216.57 309.08,-208.14 308.83,-218.73 315.49,-216.57"/>
<text text-anchor="middle" x="346.79" y="-323.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">2</text>
</g>
<!-- 6 -->
<g id="node8" class="node">
<title>6</title>
<ellipse fill="none" stroke="black" cx="685.98" cy="-278" rx="18" ry="18"/>
<text text-anchor="middle" x="685.98" y="-274.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">6</text>
</g>
<!-- 0&#45;&gt;6 -->
<g id="edge42" class="edge">
<title>0&#45;&gt;6</title>
<path fill="none" stroke="black" d="M395.87,-363.65C400.6,-347.26 410,-323.16 426.79,-309 493.49,-252.76 606.62,-263.76 658.07,-272.54"/>
<polygon fill="black" stroke="black" points="657.61,-276.01 668.08,-274.35 658.86,-269.12 657.61,-276.01"/>
<text text-anchor="middle" x="548.39" y="-270.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 0&#45;&gt;2 -->
<g id="edge41" class="edge">
<title>0&#45;&gt;2</title>
<path fill="none" stroke="black" d="M408.07,-375.94C413.94,-374.23 420.63,-372.4 426.79,-371 601.22,-331.48 651.4,-352.37 823.58,-304 826.79,-303.1 830.11,-302 833.37,-300.82"/>
<polygon fill="black" stroke="black" points="834.75,-304.04 842.8,-297.14 832.21,-297.52 834.75,-304.04"/>
<text text-anchor="middle" x="641.98" y="-343.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">2</text>
</g>
<!-- 5 -->
<g id="node11" class="node">
<title>5</title>
<ellipse fill="none" stroke="black" cx="1025.17" cy="-456" rx="18" ry="18"/>
<text text-anchor="middle" x="1025.17" y="-452.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">5</text>
</g>
<!-- 0&#45;&gt;5 -->
<g id="edge43" class="edge">
<title>0&#45;&gt;5</title>
<path fill="none" stroke="black" d="M394.34,-398.95C398.05,-418.19 406.82,-448.25 426.79,-465 530.16,-551.71 594.06,-494 728.98,-494 728.98,-494 728.98,-494 943.38,-494 964.76,-494 986.55,-482.97 1002.11,-472.79"/>
<polygon fill="black" stroke="black" points="1004.27,-475.56 1010.5,-466.99 1000.28,-469.8 1004.27,-475.56"/>
<text text-anchor="middle" x="729.98" y="-498.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 7 -->
<g id="node14" class="node">
<title>7</title>
<ellipse fill="none" stroke="black" cx="1356.37" cy="-473" rx="18" ry="18"/>
<text text-anchor="middle" x="1356.37" y="-469.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">7</text>
</g>
<!-- 0&#45;&gt;7 -->
<g id="edge44" class="edge">
<title>0&#45;&gt;7</title>
<path fill="none" stroke="black" d="M391.2,-399.21C390.29,-459.09 396.06,-646 503.39,-646 503.39,-646 503.39,-646 1274.57,-646 1337.59,-646 1351.57,-550.58 1354.59,-501.47"/>
<polygon fill="black" stroke="black" points="1358.1,-501.35 1355.1,-491.19 1351.11,-501 1358.1,-501.35"/>
<text text-anchor="middle" x="899.58" y="-649.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 4 -->
<g id="node17" class="node">
<title>4</title>
<ellipse fill="none" stroke="black" cx="504.39" cy="-448" rx="18" ry="18"/>
<text text-anchor="middle" x="504.39" y="-444.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">4</text>
</g>
<!-- 0&#45;&gt;4 -->
<g id="edge45" class="edge">
<title>0&#45;&gt;4</title>
<path fill="none" stroke="black" d="M399.35,-397.04C405.3,-407.96 414.63,-421.85 426.79,-430 441.35,-439.77 460.57,-444.26 476.12,-446.32"/>
<polygon fill="black" stroke="black" points="475.87,-449.82 486.19,-447.39 476.61,-442.85 475.87,-449.82"/>
<text text-anchor="middle" x="447.59" y="-449.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 6&#45;&gt;0 -->
<g id="edge8" class="edge">
<title>6&#45;&gt;0</title>
<path fill="none" stroke="black" d="M667.94,-279.66C617.01,-284.89 467.03,-302.25 426.79,-329 417.04,-335.48 409.3,-345.7 403.61,-355.37"/>
<polygon fill="black" stroke="black" points="400.44,-353.87 398.77,-364.34 406.6,-357.2 400.44,-353.87"/>
<text text-anchor="middle" x="548.39" y="-300.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">49</text>
</g>
<!-- 11 -->
<g id="node9" class="node">
<title>11</title>
<ellipse fill="none" stroke="black" cx="776.78" cy="-217" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="776.78" y="-213.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">11</text>
</g>
<!-- 6&#45;&gt;11 -->
<g id="edge9" class="edge">
<title>6&#45;&gt;11</title>
<path fill="none" stroke="black" d="M701.25,-268.2C714.57,-259.05 734.74,-245.19 750.74,-234.2"/>
<polygon fill="black" stroke="black" points="752.87,-236.99 759.13,-228.44 748.9,-231.22 752.87,-236.99"/>
<text text-anchor="middle" x="729.98" y="-256.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 11&#45;&gt;1 -->
<g id="edge12" class="edge">
<title>11&#45;&gt;1</title>
<path fill="none" stroke="black" d="M757.53,-208.34C739.89,-200.78 712.2,-191 686.98,-191 389.79,-191 389.79,-191 389.79,-191 370.19,-191 348.08,-191 331.19,-191"/>
<polygon fill="black" stroke="black" points="330.92,-187.5 320.92,-191 330.92,-194.5 330.92,-187.5"/>
<text text-anchor="middle" x="548.39" y="-194.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 11&#45;&gt;19 -->
<g id="edge10" class="edge">
<title>11&#45;&gt;19</title>
<path fill="none" stroke="black" d="M795.15,-207.21C811.12,-199.13 835.72,-189 858.58,-189 858.58,-189 858.58,-189 1106.17,-189 1148.79,-189 1173.75,-328.97 1182.93,-392.86"/>
<polygon fill="black" stroke="black" points="1179.51,-393.72 1184.36,-403.15 1186.45,-392.76 1179.51,-393.72"/>
<text text-anchor="middle" x="985.17" y="-192.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 11&#45;&gt;2 -->
<g id="edge11" class="edge">
<title>11&#45;&gt;2</title>
<path fill="none" stroke="black" d="M792.98,-230.73C805.66,-242.19 823.87,-258.64 837.89,-271.31"/>
<polygon fill="black" stroke="black" points="835.82,-274.15 845.58,-278.26 840.51,-268.96 835.82,-274.15"/>
<text text-anchor="middle" x="819.58" y="-261.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 2&#45;&gt;15 -->
<g id="edge34" class="edge">
<title>2&#45;&gt;15</title>
<path fill="none" stroke="black" d="M855.79,-272.12C847.27,-220.69 819.58,-76 777.78,-76 102.6,-76 102.6,-76 102.6,-76 33.91,-76 22.72,-182.08 21.48,-236.13"/>
<polygon fill="black" stroke="black" points="17.98,-236.15 21.35,-246.2 24.98,-236.24 17.98,-236.15"/>
<text text-anchor="middle" x="447.59" y="-79.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 2&#45;&gt;0 -->
<g id="edge33" class="edge">
<title>2&#45;&gt;0</title>
<path fill="none" stroke="black" d="M851.34,-306.56C845.53,-317.71 836.25,-331.68 823.58,-339 814.76,-344.1 512.23,-370.59 418.92,-378.67"/>
<polygon fill="black" stroke="black" points="418.51,-375.19 408.85,-379.53 419.11,-382.16 418.51,-375.19"/>
<text text-anchor="middle" x="641.98" y="-363.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">10</text>
</g>
<!-- 16 -->
<g id="node19" class="node">
<title>16</title>
<ellipse fill="none" stroke="black" cx="942.38" cy="-407" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="942.38" y="-403.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">16</text>
</g>
<!-- 2&#45;&gt;16 -->
<g id="edge35" class="edge">
<title>2&#45;&gt;16</title>
<path fill="none" stroke="black" d="M870.49,-304.35C883.79,-323.61 907.63,-358.14 923.97,-381.79"/>
<polygon fill="black" stroke="black" points="921.26,-384.03 929.82,-390.27 927.02,-380.05 921.26,-384.03"/>
<text text-anchor="middle" x="899.58" y="-356.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 5&#45;&gt;0 -->
<g id="edge13" class="edge">
<title>5&#45;&gt;0</title>
<path fill="none" stroke="black" d="M1016.17,-472.15C1010,-483.32 1000.61,-497.93 989.17,-508 929.25,-560.76 900.42,-570 820.58,-570 503.39,-570 503.39,-570 503.39,-570 465.18,-570 450.35,-561.07 426.79,-531 399.08,-495.63 392.67,-442.08 391.53,-409.45"/>
<polygon fill="black" stroke="black" points="395.03,-409.17 391.33,-399.24 388.03,-409.31 395.03,-409.17"/>
<text text-anchor="middle" x="729.98" y="-573.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">19</text>
</g>
<!-- 9 -->
<g id="node12" class="node">
<title>9</title>
<ellipse fill="none" stroke="black" cx="1105.17" cy="-444" rx="18" ry="18"/>
<text text-anchor="middle" x="1105.17" y="-440.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">9</text>
</g>
<!-- 5&#45;&gt;9 -->
<g id="edge14" class="edge">
<title>5&#45;&gt;9</title>
<path fill="none" stroke="black" d="M1043.1,-453.4C1053.01,-451.87 1065.77,-449.91 1077.05,-448.17"/>
<polygon fill="black" stroke="black" points="1077.93,-451.58 1087.28,-446.6 1076.87,-444.66 1077.93,-451.58"/>
<text text-anchor="middle" x="1065.17" y="-454.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 9&#45;&gt;19 -->
<g id="edge15" class="edge">
<title>9&#45;&gt;19</title>
<path fill="none" stroke="black" d="M1122.92,-439.86C1133,-437.36 1146.11,-434.11 1157.85,-431.21"/>
<polygon fill="black" stroke="black" points="1158.83,-434.57 1167.7,-428.77 1157.15,-427.78 1158.83,-434.57"/>
<text text-anchor="middle" x="1145.17" y="-439.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 14&#45;&gt;7 -->
<g id="edge16" class="edge">
<title>14&#45;&gt;7</title>
<path fill="none" stroke="black" d="M1294.54,-473C1304.74,-473 1317.3,-473 1328.35,-473"/>
<polygon fill="black" stroke="black" points="1328.35,-476.5 1338.35,-473 1328.35,-469.5 1328.35,-476.5"/>
<text text-anchor="middle" x="1316.37" y="-476.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 18 -->
<g id="node15" class="node">
<title>18</title>
<ellipse fill="none" stroke="black" cx="1439.16" cy="-440" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="1439.16" y="-436.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">18</text>
</g>
<!-- 7&#45;&gt;18 -->
<g id="edge18" class="edge">
<title>7&#45;&gt;18</title>
<path fill="none" stroke="black" d="M1373.33,-466.48C1383.85,-462.18 1397.92,-456.44 1410.26,-451.4"/>
<polygon fill="black" stroke="black" points="1411.76,-454.57 1419.69,-447.55 1409.11,-448.09 1411.76,-454.57"/>
<text text-anchor="middle" x="1396.37" y="-462.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 18&#45;&gt;19 -->
<g id="edge17" class="edge">
<title>18&#45;&gt;19</title>
<path fill="none" stroke="black" d="M1418.1,-438.71C1374.45,-435.91 1270.67,-429.25 1219.11,-425.94"/>
<polygon fill="black" stroke="black" points="1219.15,-422.43 1208.94,-425.28 1218.7,-429.42 1219.15,-422.43"/>
<text text-anchor="middle" x="1316.37" y="-436.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 17 -->
<g id="node16" class="node">
<title>17</title>
<ellipse fill="none" stroke="black" cx="595.18" cy="-468" rx="20.6" ry="20.6"/>
<text text-anchor="middle" x="595.18" y="-464.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">17</text>
</g>
<!-- 17&#45;&gt;19 -->
<g id="edge21" class="edge">
<title>17&#45;&gt;19</title>
<path fill="none" stroke="black" d="M608.3,-484.48C623.78,-503.44 652.49,-532 684.98,-532 684.98,-532 684.98,-532 1106.17,-532 1145.37,-532 1167.85,-485.83 1178.72,-453.86"/>
<polygon fill="black" stroke="black" points="1182.14,-454.65 1181.85,-444.06 1175.47,-452.52 1182.14,-454.65"/>
<text text-anchor="middle" x="899.58" y="-535.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 17&#45;&gt;6 -->
<g id="edge19" class="edge">
<title>17&#45;&gt;6</title>
<path fill="none" stroke="black" d="M607.81,-451.2C619.54,-433.73 637.64,-405.32 649.98,-379 661.38,-354.71 671.06,-325.64 677.34,-304.94"/>
<polygon fill="black" stroke="black" points="680.73,-305.81 680.22,-295.23 674.02,-303.82 680.73,-305.81"/>
<text text-anchor="middle" x="641.98" y="-413.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 17&#45;&gt;5 -->
<g id="edge20" class="edge">
<title>17&#45;&gt;5</title>
<path fill="none" stroke="black" d="M615.83,-463.8C633.76,-460.34 661.02,-456 684.98,-456 684.98,-456 684.98,-456 943.38,-456 961.27,-456 981.39,-456 997.08,-456"/>
<polygon fill="black" stroke="black" points="997.15,-459.5 1007.15,-456 997.15,-452.5 997.15,-459.5"/>
<text text-anchor="middle" x="819.58" y="-459.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 4&#45;&gt;0 -->
<g id="edge23" class="edge">
<title>4&#45;&gt;0</title>
<path fill="none" stroke="black" d="M491.63,-434.98C485.22,-428.4 476.87,-420.64 468.39,-415 452.58,-404.49 433,-395.87 417.59,-389.93"/>
<polygon fill="black" stroke="black" points="418.74,-386.63 408.15,-386.43 416.31,-393.19 418.74,-386.63"/>
<text text-anchor="middle" x="447.59" y="-418.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 4&#45;&gt;17 -->
<g id="edge22" class="edge">
<title>4&#45;&gt;17</title>
<path fill="none" stroke="black" d="M522.09,-451.76C534.13,-454.48 550.71,-458.21 564.93,-461.41"/>
<polygon fill="black" stroke="black" points="564.25,-464.85 574.77,-463.63 565.79,-458.02 564.25,-464.85"/>
<text text-anchor="middle" x="548.39" y="-463.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 10&#45;&gt;19 -->
<g id="edge24" class="edge">
<title>10&#45;&gt;19</title>
<path fill="none" stroke="black" d="M468.59,-115.82C505.11,-113.33 584.8,-106.37 649.98,-90 690.49,-79.83 701.07,-76.55 737.98,-57 776.75,-36.46 774.7,0 818.58,0 818.58,0 818.58,0 1106.17,0 1128.06,0 1137.22,-5.67 1149.17,-24 1169.18,-54.67 1181.8,-304.17 1185.69,-392.86"/>
<polygon fill="black" stroke="black" points="1182.2,-393.25 1186.13,-403.09 1189.19,-392.95 1182.2,-393.25"/>
<text text-anchor="middle" x="819.58" y="-4.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 16&#45;&gt;3 -->
<g id="edge31" class="edge">
<title>16&#45;&gt;3</title>
<path fill="none" stroke="black" d="M940.12,-427.95C937.45,-457.2 929.18,-510.85 903.58,-548 877.75,-585.48 866.1,-608 820.58,-608 185.39,-608 185.39,-608 185.39,-608 143.56,-608 117.78,-469.46 108.5,-408.84"/>
<polygon fill="black" stroke="black" points="111.94,-408.19 107.01,-398.81 105.02,-409.22 111.94,-408.19"/>
<text text-anchor="middle" x="548.39" y="-611.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 16&#45;&gt;19 -->
<g id="edge32" class="edge">
<title>16&#45;&gt;19</title>
<path fill="none" stroke="black" d="M963.35,-407.76C996.57,-409.1 1065.22,-412.21 1123.17,-417 1134.25,-417.92 1146.38,-419.18 1157.06,-420.38"/>
<polygon fill="black" stroke="black" points="1156.83,-423.88 1167.17,-421.55 1157.64,-416.93 1156.83,-423.88"/>
<text text-anchor="middle" x="1065.17" y="-417.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 16&#45;&gt;5 -->
<g id="edge29" class="edge">
<title>16&#45;&gt;5</title>
<path fill="none" stroke="black" d="M962.24,-413.85C970.75,-417.28 980.75,-421.81 989.17,-427 994.13,-430.05 999.14,-433.75 1003.75,-437.47"/>
<polygon fill="black" stroke="black" points="1001.64,-440.28 1011.54,-444.06 1006.16,-434.93 1001.64,-440.28"/>
<text text-anchor="middle" x="985.17" y="-430.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 16&#45;&gt;4 -->
<g id="edge30" class="edge">
<title>16&#45;&gt;4</title>
<path fill="none" stroke="black" d="M921.88,-411.16C905.58,-414.27 881.67,-418 860.58,-418 728.98,-418 728.98,-418 728.98,-418 657.28,-418 573.79,-433.34 532.03,-442.08"/>
<polygon fill="black" stroke="black" points="531.16,-438.69 522.11,-444.2 532.62,-445.53 531.16,-438.69"/>
<text text-anchor="middle" x="729.98" y="-422.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 8&#45;&gt;19 -->
<g id="edge36" class="edge">
<title>8&#45;&gt;19</title>
<path fill="none" stroke="black" d="M794.8,-152.33C811.15,-151.75 836.55,-151 858.58,-151 858.58,-151 858.58,-151 1106.17,-151 1156.13,-151 1177.57,-321.18 1184.38,-392.82"/>
<polygon fill="black" stroke="black" points="1180.92,-393.39 1185.32,-403.03 1187.89,-392.75 1180.92,-393.39"/>
<text text-anchor="middle" x="985.17" y="-154.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
<!-- 8&#45;&gt;2 -->
<g id="edge37" class="edge">
<title>8&#45;&gt;2</title>
<path fill="none" stroke="black" d="M786.74,-168.18C800.69,-191.84 827.74,-237.71 844.37,-265.92"/>
<polygon fill="black" stroke="black" points="841.49,-267.91 849.58,-274.75 847.52,-264.36 841.49,-267.91"/>
<text text-anchor="middle" x="819.58" y="-233.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">1</text>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View file

@ -31,6 +31,7 @@ let enterAllChoices () =
(); inner xs i
in
let _ = Sys.command "clear" in
print_string "Enter the possible choices for the children separated \
by new lines and followed by their capacity, hit enter twice to finish \n";
inner [] 1
@ -43,6 +44,7 @@ let displayAllChoices xs =
| x :: xs -> inner (i+1) ( acc ^ (string_of_int i) ^ " : " ^ x ^ "\n") xs
in
let _ = Sys.command "clear" in
print_string (inner 1 "" xs)
@ -136,14 +138,15 @@ let outputData g childrenList choicesList =
| [] -> print_string acc
| x :: xs ->
(inner
(acc ^ "\n" ^ (fst3 x) ^ " : " ^ (findAssignedChildren x))
(acc ^ (fst3 x) ^ " : " ^ (findAssignedChildren x) ^ "\n")
g xs
)
in
let _ = Sys.command "clear" in
inner "" g choicesList;
print_string("\n the children that did not appear above could \
print_string("The children that did not appear above (if any) could \
not be assigned any activity : " ^ listIdleChildren)