Moved FAIKR1 in year1

This commit is contained in:
2023-12-11 17:35:23 +01:00
parent 14e408b179
commit ac34ec0076
74 changed files with 1 additions and 1 deletions

View File

@ -0,0 +1 @@
../../../ainotes.cls

View File

@ -0,0 +1,20 @@
\documentclass[11pt]{ainotes}
\title{Fundamentals of Artificial Intelligence and Knowledge Representation\\(Module 1)}
\date{2023 -- 2024}
\def\lastupdate{{PLACEHOLDER-LAST-UPDATE}}
\begin{document}
\makenotesfront
\input{sections/_intro.tex}
\input{sections/_search.tex}
\input{sections/_local_search.tex}
\input{sections/_swarm_intelligence.tex}
\input{sections/_games.tex}
\input{sections/_planning.tex}
\input{sections/_constraints.tex}
\eoc
\end{document}

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

View File

@ -0,0 +1,61 @@
<mxfile host="app.diagrams.net" modified="2023-12-11T15:41:28.006Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0" etag="fpKfEHFAOvdJOjVgOxyX" version="22.1.7" type="device">
<diagram name="Pagina-1" id="GgXEJ81RuVTFlW8kEIqq">
<mxGraphModel dx="819" dy="426" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="hliGxKVjkmTs9JAdM-O4-1" value="&lt;font style=&quot;font-size: 18px;&quot; face=&quot;Times New Roman&quot;&gt;X&lt;sub&gt;1&lt;/sub&gt;&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="320" y="240" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="hliGxKVjkmTs9JAdM-O4-2" value="&lt;font style=&quot;font-size: 18px;&quot; face=&quot;Times New Roman&quot;&gt;X&lt;sub&gt;2&lt;/sub&gt;&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="440" y="240" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="hliGxKVjkmTs9JAdM-O4-3" value="&lt;font style=&quot;font-size: 18px;&quot; face=&quot;Times New Roman&quot;&gt;X&lt;sub&gt;3&lt;/sub&gt;&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="440" y="360" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="hliGxKVjkmTs9JAdM-O4-4" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="hliGxKVjkmTs9JAdM-O4-1" target="hliGxKVjkmTs9JAdM-O4-2">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="420" y="370" as="sourcePoint" />
<mxPoint x="470" y="320" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="hliGxKVjkmTs9JAdM-O4-7" value="&amp;lt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontFamily=Times New Roman;fontSize=18;" vertex="1" connectable="0" parent="hliGxKVjkmTs9JAdM-O4-4">
<mxGeometry x="-0.0179" y="1" relative="1" as="geometry">
<mxPoint y="-19" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="hliGxKVjkmTs9JAdM-O4-5" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="hliGxKVjkmTs9JAdM-O4-2" target="hliGxKVjkmTs9JAdM-O4-3">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="370" y="270" as="sourcePoint" />
<mxPoint x="450" y="270" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="hliGxKVjkmTs9JAdM-O4-8" value="&amp;lt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontFamily=Times New Roman;fontSize=18;" vertex="1" connectable="0" parent="hliGxKVjkmTs9JAdM-O4-5">
<mxGeometry x="-0.1357" y="-1" relative="1" as="geometry">
<mxPoint x="11" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="hliGxKVjkmTs9JAdM-O4-6" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="hliGxKVjkmTs9JAdM-O4-1" target="hliGxKVjkmTs9JAdM-O4-3">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="470" y="290" as="sourcePoint" />
<mxPoint x="470" y="370" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="hliGxKVjkmTs9JAdM-O4-9" value="&amp;lt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontFamily=Times New Roman;fontSize=18;" vertex="1" connectable="0" parent="hliGxKVjkmTs9JAdM-O4-6">
<mxGeometry x="-0.0047" y="-1" relative="1" as="geometry">
<mxPoint x="-17" y="7" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="hliGxKVjkmTs9JAdM-O4-10" value="&lt;div style=&quot;font-size: 13px;&quot;&gt;&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 18px;&quot;&gt;[1, 2, 3]&lt;/font&gt;&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="310" y="210" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="hliGxKVjkmTs9JAdM-O4-11" value="&lt;div style=&quot;font-size: 13px;&quot;&gt;&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 18px;&quot;&gt;[1, 2, 3]&lt;/font&gt;&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="430" y="210" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="hliGxKVjkmTs9JAdM-O4-12" value="&lt;div style=&quot;font-size: 13px;&quot;&gt;&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 18px;&quot;&gt;[1, 2, 3]&lt;/font&gt;&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="430" y="400" width="60" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -0,0 +1,496 @@
<mxfile host="app.diagrams.net" modified="2023-11-30T16:39:50.591Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:120.0) Gecko/20100101 Firefox/120.0" etag="a0X61gIeOFjE0NNLV0Sk" version="22.1.5" type="device">
<diagram name="Pagina-1" id="Yt0qHgG8r23Rpl98Hr5L">
<mxGraphModel dx="1050" dy="606" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="P9rIqunZUvPBB-14v_PH-1" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;at(a, l)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="110" y="130" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-2" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;at(b, l)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="110" y="210" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-3" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;at(r, l)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="110" y="290" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-4" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;hasFuel(r)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="105" y="370" width="110" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-5" value="" style="endArrow=none;html=1;rounded=0;fontFamily=Courier New;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="240" y="420" as="sourcePoint" />
<mxPoint x="240" y="110" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-6" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;LOAD(a, r)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="270" y="170" width="150" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-7" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;LOAD(b, r)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="270" y="250" width="150" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-8" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;MOVE(r, l, p)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="270" y="330" width="150" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-9" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;NO-OP&lt;br style=&quot;font-size: 14px;&quot;&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="305" y="130" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-10" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;NO-OP&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="305" y="210" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-11" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;NO-OP&lt;br style=&quot;font-size: 14px;&quot;&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="305" y="290" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-12" value="&lt;font style=&quot;font-size: 14px;&quot;&gt;NO-OP&lt;br style=&quot;font-size: 14px;&quot;&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=14;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="305" y="370" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-13" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f5f5f5;strokeColor=#9a9996;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-9" target="P9rIqunZUvPBB-14v_PH-1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="390" y="300" as="sourcePoint" />
<mxPoint x="440" y="250" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-14" value="" style="endArrow=none;html=1;rounded=0;fontFamily=Courier New;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="440" y="420" as="sourcePoint" />
<mxPoint x="440" y="110" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-15" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f5f5f5;strokeColor=#9a9996;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-10" target="P9rIqunZUvPBB-14v_PH-2">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="315" y="155" as="sourcePoint" />
<mxPoint x="220" y="155" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-16" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f5f5f5;strokeColor=#9a9996;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-11" target="P9rIqunZUvPBB-14v_PH-3">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="315" y="235" as="sourcePoint" />
<mxPoint x="220" y="235" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-17" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f5f5f5;strokeColor=#9a9996;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-12" target="P9rIqunZUvPBB-14v_PH-4">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="315" y="315" as="sourcePoint" />
<mxPoint x="220" y="315" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-18" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f5f5f5;strokeColor=#9a9996;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-19" target="P9rIqunZUvPBB-14v_PH-9">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="315" y="155" as="sourcePoint" />
<mxPoint x="220" y="155" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-19" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;at(a, l)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="480" y="130" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-20" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;at(b, l)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="480" y="210" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-21" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;at(r, l)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="480" y="290" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-22" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;hasFuel(r)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="475" y="370" width="110" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-23" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f5f5f5;strokeColor=#9a9996;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-20" target="P9rIqunZUvPBB-14v_PH-10">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="315" y="235" as="sourcePoint" />
<mxPoint x="220" y="235" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-24" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f5f5f5;strokeColor=#9a9996;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-21" target="P9rIqunZUvPBB-14v_PH-11">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="315" y="315" as="sourcePoint" />
<mxPoint x="220" y="315" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-25" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f5f5f5;strokeColor=#9a9996;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-12" target="P9rIqunZUvPBB-14v_PH-22">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="315" y="395" as="sourcePoint" />
<mxPoint x="225" y="395" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-26" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f8cecc;strokeColor=#e01b24;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-6" target="P9rIqunZUvPBB-14v_PH-1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="390" y="330" as="sourcePoint" />
<mxPoint x="440" y="280" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-27" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f8cecc;strokeColor=#e01b24;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-6" target="P9rIqunZUvPBB-14v_PH-3">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="280" y="195" as="sourcePoint" />
<mxPoint x="220" y="155" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-28" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#33d17a;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-7" target="P9rIqunZUvPBB-14v_PH-2">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="390" y="330" as="sourcePoint" />
<mxPoint x="440" y="280" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-29" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#33d17a;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-7" target="P9rIqunZUvPBB-14v_PH-3">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="280" y="275" as="sourcePoint" />
<mxPoint x="220" y="235" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-30" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeColor=#3584e4;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-3" target="P9rIqunZUvPBB-14v_PH-8">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="390" y="330" as="sourcePoint" />
<mxPoint x="440" y="280" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-31" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeColor=#3584e4;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-4" target="P9rIqunZUvPBB-14v_PH-8">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="220" y="315" as="sourcePoint" />
<mxPoint x="280" y="355" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-32" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;in(r, a)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="480" y="170" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-33" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;in(r, b)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="480" y="250" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-34" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;at(r, p)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="480" y="330" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-35" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f8cecc;strokeColor=#e01b24;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-32" target="P9rIqunZUvPBB-14v_PH-6">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="280" y="195" as="sourcePoint" />
<mxPoint x="220" y="155" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-36" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f8cecc;strokeColor=#e01b24;dashed=1;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-19" target="P9rIqunZUvPBB-14v_PH-6">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="490" y="195" as="sourcePoint" />
<mxPoint x="430" y="195" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-37" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#33d17a;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;dashed=1;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-20" target="P9rIqunZUvPBB-14v_PH-7">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="280" y="275" as="sourcePoint" />
<mxPoint x="220" y="235" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-38" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#33d17a;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-33" target="P9rIqunZUvPBB-14v_PH-7">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="490" y="235" as="sourcePoint" />
<mxPoint x="430" y="275" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-39" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;strokeColor=#3584e4;dashed=1;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-21" target="P9rIqunZUvPBB-14v_PH-8">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="220" y="315" as="sourcePoint" />
<mxPoint x="280" y="355" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-40" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;strokeColor=#3584e4;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-34" target="P9rIqunZUvPBB-14v_PH-8">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="490" y="315" as="sourcePoint" />
<mxPoint x="430" y="355" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-41" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;strokeColor=#3584e4;dashed=1;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-22" target="P9rIqunZUvPBB-14v_PH-8">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="490" y="355" as="sourcePoint" />
<mxPoint x="430" y="355" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-42" value="&lt;font style=&quot;font-size: 12px;&quot;&gt;NO-OP&lt;br style=&quot;font-size: 12px;&quot;&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="680" y="290" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-43" value="" style="endArrow=none;html=1;rounded=0;fontFamily=Courier New;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="620" y="420" as="sourcePoint" />
<mxPoint x="620" y="110" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-44" value="&lt;font style=&quot;font-size: 12px;&quot;&gt;NO-OP&lt;br style=&quot;font-size: 12px;&quot;&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="680" y="330" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-45" value="&lt;font style=&quot;font-size: 12px;&quot;&gt;NO-OP&lt;br style=&quot;font-size: 12px;&quot;&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="680" y="370" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-46" value="&lt;font style=&quot;font-size: 12px;&quot;&gt;NO-OP&lt;br style=&quot;font-size: 12px;&quot;&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="680" y="250" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-47" value="&lt;font style=&quot;font-size: 12px;&quot;&gt;NO-OP&lt;br style=&quot;font-size: 12px;&quot;&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="680" y="210" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-48" value="&lt;font style=&quot;font-size: 12px;&quot;&gt;NO-OP&lt;br style=&quot;font-size: 12px;&quot;&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="680" y="170" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-49" value="&lt;font style=&quot;font-size: 12px;&quot;&gt;NO-OP&lt;br style=&quot;font-size: 12px;&quot;&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=12;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="680" y="130" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-50" value="" style="endArrow=none;html=1;rounded=0;fontFamily=Courier New;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="827" y="420" as="sourcePoint" />
<mxPoint x="827" y="110" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-51" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;LOAD(a, l)&lt;br style=&quot;font-size: 16px;&quot;&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="650" y="150" width="150" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-52" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;LOAD(b, l)&lt;br style=&quot;font-size: 16px;&quot;&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="650" y="230" width="150" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-53" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;MOVE(r, l, p)&lt;br style=&quot;font-size: 16px;&quot;&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="650" y="350" width="150" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-54" value="UN&lt;font style=&quot;font-size: 16px;&quot;&gt;LOAD(a, l)&lt;br style=&quot;font-size: 16px;&quot;&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="645" y="190" width="150" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-55" value="UN&lt;font style=&quot;font-size: 16px;&quot;&gt;LOAD(b, l)&lt;br style=&quot;font-size: 16px;&quot;&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="650" y="270" width="150" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-56" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;at(a, l)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="865" y="130" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-57" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;at(b, l)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="865" y="210" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-58" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;at(r, l)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="865" y="290" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-59" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;hasFuel(r)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="860" y="370" width="110" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-60" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;in(r, a)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="865" y="170" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-61" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;in(r, b)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="865" y="250" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-62" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;at(r, p)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Courier New;" vertex="1" parent="1">
<mxGeometry x="865" y="330" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-63" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f5f5f5;strokeColor=#9a9996;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-19" target="P9rIqunZUvPBB-14v_PH-49">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="490" y="155" as="sourcePoint" />
<mxPoint x="395" y="155" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-64" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f5f5f5;strokeColor=#9a9996;fontFamily=Courier New;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-32" target="P9rIqunZUvPBB-14v_PH-48">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="585" y="184.57999999999998" as="sourcePoint" />
<mxPoint x="650" y="185" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-65" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f5f5f5;strokeColor=#9a9996;fontFamily=Courier New;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="580" y="224.57999999999998" as="sourcePoint" />
<mxPoint x="680" y="224.57999999999998" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-66" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f5f5f5;strokeColor=#9a9996;fontFamily=Courier New;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="580" y="264.58" as="sourcePoint" />
<mxPoint x="680" y="264.58" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-67" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f5f5f5;strokeColor=#9a9996;fontFamily=Courier New;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="580" y="304.58" as="sourcePoint" />
<mxPoint x="680" y="304.58" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-68" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f5f5f5;strokeColor=#9a9996;fontFamily=Courier New;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="580" y="344.58" as="sourcePoint" />
<mxPoint x="680" y="344.58" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-69" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f5f5f5;strokeColor=#9a9996;fontFamily=Courier New;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-22" target="P9rIqunZUvPBB-14v_PH-45">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="585" y="384.58" as="sourcePoint" />
<mxPoint x="685" y="384.58" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-70" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f5f5f5;strokeColor=#9a9996;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-49" target="P9rIqunZUvPBB-14v_PH-56">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="590" y="155" as="sourcePoint" />
<mxPoint x="690" y="155" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-71" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f5f5f5;strokeColor=#9a9996;fontFamily=Courier New;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="184.57999999999998" as="sourcePoint" />
<mxPoint x="865" y="184.57999999999998" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-72" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f5f5f5;strokeColor=#9a9996;fontFamily=Courier New;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="224.57999999999998" as="sourcePoint" />
<mxPoint x="865" y="224.57999999999998" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-73" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f5f5f5;strokeColor=#9a9996;fontFamily=Courier New;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="264.58" as="sourcePoint" />
<mxPoint x="865" y="264.58" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-74" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f5f5f5;strokeColor=#9a9996;fontFamily=Courier New;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="304.58" as="sourcePoint" />
<mxPoint x="865" y="304.58" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-75" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f5f5f5;strokeColor=#9a9996;fontFamily=Courier New;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="344.58" as="sourcePoint" />
<mxPoint x="865" y="344.58" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-76" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f5f5f5;strokeColor=#9a9996;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-45" target="P9rIqunZUvPBB-14v_PH-59">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="384.58" as="sourcePoint" />
<mxPoint x="865" y="384.58" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-77" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f8cecc;strokeColor=#e01b24;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-51" target="P9rIqunZUvPBB-14v_PH-19">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="490" y="195" as="sourcePoint" />
<mxPoint x="430" y="195" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-78" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f8cecc;strokeColor=#e01b24;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-51" target="P9rIqunZUvPBB-14v_PH-21">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="660" y="175" as="sourcePoint" />
<mxPoint x="590" y="155" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-79" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#33d17a;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-52" target="P9rIqunZUvPBB-14v_PH-20">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="490" y="275" as="sourcePoint" />
<mxPoint x="430" y="275" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-80" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#33d17a;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-52" target="P9rIqunZUvPBB-14v_PH-21">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="660" y="215" as="sourcePoint" />
<mxPoint x="590" y="235" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-81" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;strokeColor=#3584e4;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-53" target="P9rIqunZUvPBB-14v_PH-22">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="490" y="355" as="sourcePoint" />
<mxPoint x="430" y="355" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-82" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;strokeColor=#3584e4;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-53" target="P9rIqunZUvPBB-14v_PH-21">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="660" y="375" as="sourcePoint" />
<mxPoint x="595" y="395" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-83" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#ff7800;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-54" target="P9rIqunZUvPBB-14v_PH-32">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="660" y="215" as="sourcePoint" />
<mxPoint x="590" y="315" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-84" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#ff7800;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-54" target="P9rIqunZUvPBB-14v_PH-21">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="660" y="255" as="sourcePoint" />
<mxPoint x="590" y="195" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-86" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#c061cb;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-55" target="P9rIqunZUvPBB-14v_PH-33">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="660" y="255" as="sourcePoint" />
<mxPoint x="590" y="195" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-87" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#c061cb;entryX=1;entryY=0.5;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-55" target="P9rIqunZUvPBB-14v_PH-21">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="660" y="295" as="sourcePoint" />
<mxPoint x="590" y="275" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-88" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f8cecc;strokeColor=#e01b24;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-51" target="P9rIqunZUvPBB-14v_PH-60">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="660" y="175" as="sourcePoint" />
<mxPoint x="590" y="155" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-89" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fillColor=#f8cecc;strokeColor=#e01b24;fontFamily=Courier New;dashed=1;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-51" target="P9rIqunZUvPBB-14v_PH-56">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="810" y="175" as="sourcePoint" />
<mxPoint x="875" y="195" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-90" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#33d17a;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-52" target="P9rIqunZUvPBB-14v_PH-61">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="660" y="215" as="sourcePoint" />
<mxPoint x="590" y="315" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-91" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#33d17a;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fontFamily=Courier New;dashed=1;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-52" target="P9rIqunZUvPBB-14v_PH-57">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="810" y="215" as="sourcePoint" />
<mxPoint x="875" y="275" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-92" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeColor=#3584e4;fontFamily=Courier New;dashed=1;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-53" target="P9rIqunZUvPBB-14v_PH-59">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="660" y="375" as="sourcePoint" />
<mxPoint x="595" y="395" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-93" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeColor=#3584e4;fontFamily=Courier New;dashed=1;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-53" target="P9rIqunZUvPBB-14v_PH-58">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="810" y="375" as="sourcePoint" />
<mxPoint x="870" y="395" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-94" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeColor=#3584e4;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-53" target="P9rIqunZUvPBB-14v_PH-62">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="810" y="375" as="sourcePoint" />
<mxPoint x="875" y="315" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-95" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#ff7800;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-54" target="P9rIqunZUvPBB-14v_PH-56">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="660" y="255" as="sourcePoint" />
<mxPoint x="590" y="195" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-96" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#ff7800;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fontFamily=Courier New;dashed=1;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-54" target="P9rIqunZUvPBB-14v_PH-60">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="810" y="255" as="sourcePoint" />
<mxPoint x="875" y="155" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-97" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#c061cb;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fontFamily=Courier New;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-55" target="P9rIqunZUvPBB-14v_PH-57">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="660" y="295" as="sourcePoint" />
<mxPoint x="590" y="315" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-98" value="" style="endArrow=none;html=1;rounded=0;strokeColor=#c061cb;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;fontFamily=Courier New;dashed=1;" edge="1" parent="1" source="P9rIqunZUvPBB-14v_PH-55" target="P9rIqunZUvPBB-14v_PH-61">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="810" y="295" as="sourcePoint" />
<mxPoint x="875" y="235" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-99" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;&lt;i&gt;t = 0&lt;/i&gt;&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="130" y="90" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-100" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;&lt;i&gt;t = 1&lt;br&gt;&lt;/i&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="315" y="90" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-101" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;&lt;i&gt;t = 2&lt;br&gt;&lt;/i&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="500" y="90" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-102" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;&lt;i&gt;t = 3&lt;br&gt;&lt;/i&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="690" y="90" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="P9rIqunZUvPBB-14v_PH-103" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;&lt;i&gt;t = 4&lt;br&gt;&lt;/i&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="885" y="90" width="60" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

View File

@ -0,0 +1,250 @@
<mxfile host="app.diagrams.net" modified="2023-10-04T11:52:48.592Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/118.0" etag="rB-WY7iQEXeYjvBIMtut" version="22.0.0" type="device">
<diagram name="Pagina-1" id="IcjLR0G3Itd0aWnBn49A">
<mxGraphModel dx="819" dy="426" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="kcsDUwO9FnMU6XCRbURZ-1" value="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;direction=north;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="240" y="200" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-2" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;direction=north;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="320" y="160" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-3" value="2" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;direction=north;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="320" y="240" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-4" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fontSize=18;fontFamily=Times New Roman;" edge="1" parent="1" source="kcsDUwO9FnMU6XCRbURZ-1" target="kcsDUwO9FnMU6XCRbURZ-3">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="430" y="250" as="sourcePoint" />
<mxPoint x="380" y="300" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-5" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fontSize=18;fontFamily=Times New Roman;" edge="1" parent="1" source="kcsDUwO9FnMU6XCRbURZ-1" target="kcsDUwO9FnMU6XCRbURZ-2">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="430" y="250" as="sourcePoint" />
<mxPoint x="380" y="300" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-6" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;direction=north;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="380" y="160" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-8" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fontSize=24;fontFamily=Times New Roman;" edge="1" parent="1" source="kcsDUwO9FnMU6XCRbURZ-2" target="kcsDUwO9FnMU6XCRbURZ-6">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="430" y="250" as="sourcePoint" />
<mxPoint x="380" y="300" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-9" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;direction=north;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="440" y="160" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-11" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fontSize=24;fontFamily=Times New Roman;" edge="1" parent="1" source="kcsDUwO9FnMU6XCRbURZ-6" target="kcsDUwO9FnMU6XCRbURZ-9">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="430" y="390" as="sourcePoint" />
<mxPoint x="380" y="440" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-12" value="3" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;direction=north;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="380" y="240" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-13" value="4" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;direction=north;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="440" y="240" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-14" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fontSize=24;fontFamily=Times New Roman;" edge="1" parent="1" source="kcsDUwO9FnMU6XCRbURZ-12" target="kcsDUwO9FnMU6XCRbURZ-13">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="270" y="310" as="sourcePoint" />
<mxPoint x="220" y="360" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-15" value="5" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;direction=north;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="500" y="240" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-16" value="6" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;direction=north;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="560" y="240" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-17" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fontSize=24;fontFamily=Times New Roman;" edge="1" parent="1" source="kcsDUwO9FnMU6XCRbURZ-15" target="kcsDUwO9FnMU6XCRbURZ-16">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="270" y="430" as="sourcePoint" />
<mxPoint x="220" y="480" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-18" value="7" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;direction=north;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="620" y="240" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-20" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fontSize=24;fontFamily=Times New Roman;" edge="1" parent="1" source="kcsDUwO9FnMU6XCRbURZ-3" target="kcsDUwO9FnMU6XCRbURZ-12">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="460" y="440" as="sourcePoint" />
<mxPoint x="410" y="490" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-21" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fontSize=24;fontFamily=Times New Roman;" edge="1" parent="1" source="kcsDUwO9FnMU6XCRbURZ-13" target="kcsDUwO9FnMU6XCRbURZ-15">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="460" y="400" as="sourcePoint" />
<mxPoint x="410" y="450" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-24" value="" style="endArrow=none;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;fontSize=24;fontFamily=Times New Roman;" edge="1" parent="1" source="kcsDUwO9FnMU6XCRbURZ-18" target="kcsDUwO9FnMU6XCRbURZ-16">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="460" y="360" as="sourcePoint" />
<mxPoint x="410" y="410" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-25" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;&lt;i style=&quot;font-size: 18px;&quot;&gt;f&lt;/i&gt; = 3&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="230" y="240" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-26" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;&lt;i style=&quot;font-size: 18px;&quot;&gt;f&lt;/i&gt; = 4&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="310" y="130" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-28" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;&lt;i style=&quot;font-size: 18px;&quot;&gt;f&lt;/i&gt; = 1&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="370" y="130" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-30" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;&lt;i style=&quot;font-size: 18px;&quot;&gt;f&lt;/i&gt; = 2&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="310" y="280" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-31" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;&lt;i style=&quot;font-size: 18px;&quot;&gt;f&lt;/i&gt; = 1&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="370" y="280" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-32" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;&lt;i style=&quot;font-size: 18px;&quot;&gt;f&lt;/i&gt; = 1&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="430" y="280" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-33" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;&lt;i style=&quot;font-size: 18px;&quot;&gt;f&lt;/i&gt; = 1&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="490" y="280" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-34" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;&lt;i style=&quot;font-size: 18px;&quot;&gt;f&lt;/i&gt; = 1&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="550" y="280" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-35" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;Goal&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="660" y="245" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-37" value="&lt;div style=&quot;font-size: 18px;&quot;&gt;&lt;font style=&quot;font-size: 18px;&quot;&gt;Goal&lt;/font&gt;&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="480" y="165" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-40" value="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;direction=north;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="240" y="460" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-41" value="6" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;direction=north;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="320" y="420" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-42" value="2" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;direction=north;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="320" y="500" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-43" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fontSize=18;fontFamily=Times New Roman;" edge="1" parent="1" source="kcsDUwO9FnMU6XCRbURZ-40" target="kcsDUwO9FnMU6XCRbURZ-42">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="430" y="510" as="sourcePoint" />
<mxPoint x="380" y="560" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-44" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fontSize=18;fontFamily=Times New Roman;" edge="1" parent="1" source="kcsDUwO9FnMU6XCRbURZ-40" target="kcsDUwO9FnMU6XCRbURZ-41">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="430" y="510" as="sourcePoint" />
<mxPoint x="380" y="560" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-45" value="7" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;direction=north;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="380" y="420" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-46" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fontSize=24;fontFamily=Times New Roman;" edge="1" parent="1" source="kcsDUwO9FnMU6XCRbURZ-41" target="kcsDUwO9FnMU6XCRbURZ-45">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="430" y="510" as="sourcePoint" />
<mxPoint x="380" y="560" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-47" value="8" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;direction=north;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="440" y="420" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-48" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fontSize=24;fontFamily=Times New Roman;" edge="1" parent="1" source="kcsDUwO9FnMU6XCRbURZ-45" target="kcsDUwO9FnMU6XCRbURZ-47">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="430" y="650" as="sourcePoint" />
<mxPoint x="380" y="700" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-49" value="3" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;direction=north;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="380" y="500" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-50" value="4" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;direction=north;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="440" y="500" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-51" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fontSize=24;fontFamily=Times New Roman;" edge="1" parent="1" source="kcsDUwO9FnMU6XCRbURZ-49" target="kcsDUwO9FnMU6XCRbURZ-50">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="270" y="570" as="sourcePoint" />
<mxPoint x="220" y="620" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-52" value="5" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;direction=north;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="500" y="500" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-53" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;direction=north;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="560" y="500" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-54" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fontSize=24;fontFamily=Times New Roman;" edge="1" parent="1" source="kcsDUwO9FnMU6XCRbURZ-52" target="kcsDUwO9FnMU6XCRbURZ-53">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="270" y="690" as="sourcePoint" />
<mxPoint x="220" y="740" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-55" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;direction=north;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="620" y="500" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-56" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fontSize=24;fontFamily=Times New Roman;" edge="1" parent="1" source="kcsDUwO9FnMU6XCRbURZ-42" target="kcsDUwO9FnMU6XCRbURZ-49">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="460" y="700" as="sourcePoint" />
<mxPoint x="410" y="750" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-57" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;fontSize=24;fontFamily=Times New Roman;" edge="1" parent="1" source="kcsDUwO9FnMU6XCRbURZ-50" target="kcsDUwO9FnMU6XCRbURZ-52">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="460" y="660" as="sourcePoint" />
<mxPoint x="410" y="710" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-58" value="" style="endArrow=none;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;fontSize=24;fontFamily=Times New Roman;" edge="1" parent="1" source="kcsDUwO9FnMU6XCRbURZ-55" target="kcsDUwO9FnMU6XCRbURZ-53">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="460" y="620" as="sourcePoint" />
<mxPoint x="410" y="670" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-59" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;&lt;i style=&quot;font-size: 18px;&quot;&gt;f&lt;/i&gt; = 0+3&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="230" y="500" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-60" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;&lt;i style=&quot;font-size: 18px;&quot;&gt;f&lt;/i&gt; = 1+4&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="310" y="390" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-61" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;&lt;i style=&quot;font-size: 18px;&quot;&gt;f&lt;/i&gt; = 2+1&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="370" y="390" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-62" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;&lt;i style=&quot;font-size: 18px;&quot;&gt;f&lt;/i&gt; = 1+2&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="310" y="540" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-63" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;&lt;i style=&quot;font-size: 18px;&quot;&gt;f&lt;/i&gt; = 2+1&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="370" y="540" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-64" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;&lt;i style=&quot;font-size: 18px;&quot;&gt;f&lt;/i&gt; = 3+1&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="430" y="540" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-65" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;&lt;i style=&quot;font-size: 18px;&quot;&gt;f&lt;/i&gt; = 4+1&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="490" y="540" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-66" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;&lt;i style=&quot;font-size: 18px;&quot;&gt;f&lt;/i&gt; = 5+1&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="550" y="540" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-67" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;Goal&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="660" y="505" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-68" value="&lt;div style=&quot;font-size: 18px;&quot;&gt;&lt;font style=&quot;font-size: 18px;&quot;&gt;Goal&lt;/font&gt;&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="480" y="425" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-69" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;&lt;i style=&quot;font-size: 18px;&quot;&gt;f&lt;/i&gt; = 3+0&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="430" y="390" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-70" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;&lt;i style=&quot;font-size: 18px;&quot;&gt;f&lt;/i&gt; = 6+0&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="610" y="540" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-71" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;&lt;i style=&quot;font-size: 18px;&quot;&gt;f&lt;/i&gt; = 0&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="430" y="130" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="kcsDUwO9FnMU6XCRbURZ-72" value="&lt;font style=&quot;font-size: 18px;&quot;&gt;&lt;i style=&quot;font-size: 18px;&quot;&gt;f&lt;/i&gt; = 0&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="610" y="280" width="60" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -0,0 +1,91 @@
<mxfile host="app.diagrams.net" modified="2023-11-24T13:45:44.355Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/119.0" etag="MzZ1NGvJcRhNqOrj3_1h" version="22.1.3" type="device">
<diagram name="Pagina-1" id="dSRs-kC2vbCNl_D_IkwA">
<mxGraphModel dx="989" dy="500" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="zVF-ozqo9N9PJf_awi-E-1" value="START" style="rounded=0;whiteSpace=wrap;html=1;fontSize=20;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="376" y="170" width="76" height="30" as="geometry" />
</mxCell>
<mxCell id="zVF-ozqo9N9PJf_awi-E-2" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;on(tire1, hub1), flat(tire1), inflated(spare), off(spare), tire(tire1)&lt;br style=&quot;font-size: 16px;&quot;&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="134" y="200" width="560" height="20" as="geometry" />
</mxCell>
<mxCell id="zVF-ozqo9N9PJf_awi-E-3" value="STOP" style="rounded=0;whiteSpace=wrap;html=1;fontSize=20;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="248" y="430" width="76" height="30" as="geometry" />
</mxCell>
<mxCell id="zVF-ozqo9N9PJf_awi-E-4" value="on(tire1, hub1), inflated(X)" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="158" y="410" width="256" height="20" as="geometry" />
</mxCell>
<mxCell id="zVF-ozqo9N9PJf_awi-E-5" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=2;entryX=0.323;entryY=-0.119;entryDx=0;entryDy=0;entryPerimeter=0;fontFamily=Times New Roman;" edge="1" parent="1" source="zVF-ozqo9N9PJf_awi-E-2" target="zVF-ozqo9N9PJf_awi-E-4">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="380" y="320" as="sourcePoint" />
<mxPoint x="375" y="372" as="targetPoint" />
<Array as="points">
<mxPoint x="414" y="240" />
<mxPoint x="240" y="240" />
<mxPoint x="240" y="350" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="zVF-ozqo9N9PJf_awi-E-6" value="STOP" style="rounded=0;whiteSpace=wrap;html=1;fontSize=20;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="504" y="430" width="76" height="30" as="geometry" />
</mxCell>
<mxCell id="zVF-ozqo9N9PJf_awi-E-7" value="inflated(X), on(tire1, hub1)" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="414" y="410" width="256" height="20" as="geometry" />
</mxCell>
<mxCell id="zVF-ozqo9N9PJf_awi-E-10" value="CHECK(tire1)" style="rounded=0;whiteSpace=wrap;html=1;fontSize=20;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="340" y="290" width="149" height="30" as="geometry" />
</mxCell>
<mxCell id="zVF-ozqo9N9PJf_awi-E-11" value="tire(tire1)" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="351.5" y="270" width="125" height="20" as="geometry" />
</mxCell>
<mxCell id="zVF-ozqo9N9PJf_awi-E-12" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=2;fontFamily=Times New Roman;" edge="1" parent="1" source="zVF-ozqo9N9PJf_awi-E-2">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="410" y="230" as="sourcePoint" />
<mxPoint x="414" y="268" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="zVF-ozqo9N9PJf_awi-E-13" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;dashed=1;fontFamily=Times New Roman;" edge="1" parent="1" source="zVF-ozqo9N9PJf_awi-E-10">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="380" y="440" as="sourcePoint" />
<mxPoint x="350" y="350" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="zVF-ozqo9N9PJf_awi-E-14" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;dashed=1;fontFamily=Times New Roman;" edge="1" parent="1" source="zVF-ozqo9N9PJf_awi-E-10">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="424" y="330" as="sourcePoint" />
<mxPoint x="480" y="350" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="zVF-ozqo9N9PJf_awi-E-16" value="intact(tire1)" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="276" y="322" width="125" height="20" as="geometry" />
</mxCell>
<mxCell id="zVF-ozqo9N9PJf_awi-E-17" value="¬intact(tire1)" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="440" y="322" width="125" height="20" as="geometry" />
</mxCell>
<mxCell id="zVF-ozqo9N9PJf_awi-E-20" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.659;entryY=-0.114;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=2;fontFamily=Times New Roman;" edge="1" parent="1" source="zVF-ozqo9N9PJf_awi-E-2" target="zVF-ozqo9N9PJf_awi-E-7">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="380" y="390" as="sourcePoint" />
<mxPoint x="430" y="340" as="targetPoint" />
<Array as="points">
<mxPoint x="414" y="240" />
<mxPoint x="583" y="240" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="zVF-ozqo9N9PJf_awi-E-22" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;fontFamily=Times New Roman;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="340" y="370" as="sourcePoint" />
<mxPoint x="360" y="370" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="zVF-ozqo9N9PJf_awi-E-23" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;fontFamily=Times New Roman;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="476.5" y="370" as="sourcePoint" />
<mxPoint x="496.5" y="370" as="targetPoint" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,85 @@
<mxfile host="app.diagrams.net" modified="2023-09-30T10:53:02.134Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/118.0" etag="HIlGrnAEbyHg43-qtSPV" version="22.0.0" type="device">
<diagram name="Pagina-1" id="VzRX3VsKA3ARjDLkncGv">
<mxGraphModel dx="989" dy="514" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="2uR5KkTxT499U1MgxyAB-1" value="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontFamily=Times New Roman;fontSize=24;" parent="1" vertex="1">
<mxGeometry x="364" y="170" width="50" height="50" as="geometry" />
</mxCell>
<mxCell id="2uR5KkTxT499U1MgxyAB-2" value="3" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontFamily=Times New Roman;fontSize=24;" parent="1" vertex="1">
<mxGeometry x="260" y="260" width="50" height="50" as="geometry" />
</mxCell>
<mxCell id="2uR5KkTxT499U1MgxyAB-3" value="7" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontFamily=Times New Roman;fontSize=24;" parent="1" vertex="1">
<mxGeometry x="364" y="260" width="50" height="50" as="geometry" />
</mxCell>
<mxCell id="2uR5KkTxT499U1MgxyAB-4" value="2" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontFamily=Times New Roman;fontSize=24;" parent="1" vertex="1">
<mxGeometry x="460" y="260" width="50" height="50" as="geometry" />
</mxCell>
<mxCell id="2uR5KkTxT499U1MgxyAB-5" value="6" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontFamily=Times New Roman;fontSize=24;" parent="1" vertex="1">
<mxGeometry x="210" y="350" width="50" height="50" as="geometry" />
</mxCell>
<mxCell id="2uR5KkTxT499U1MgxyAB-6" value="5" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontFamily=Times New Roman;fontSize=24;" parent="1" vertex="1">
<mxGeometry x="310" y="350" width="50" height="50" as="geometry" />
</mxCell>
<mxCell id="2uR5KkTxT499U1MgxyAB-7" value="4" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontFamily=Times New Roman;fontSize=24;" parent="1" vertex="1">
<mxGeometry x="460" y="350" width="50" height="50" as="geometry" />
</mxCell>
<mxCell id="2uR5KkTxT499U1MgxyAB-8" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;fontFamily=Times New Roman;fontSize=24;" parent="1" source="2uR5KkTxT499U1MgxyAB-2" target="2uR5KkTxT499U1MgxyAB-1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="410" y="380" as="sourcePoint" />
<mxPoint x="460" y="330" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="2uR5KkTxT499U1MgxyAB-9" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;fontFamily=Times New Roman;fontSize=24;" parent="1" source="2uR5KkTxT499U1MgxyAB-3" target="2uR5KkTxT499U1MgxyAB-1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="410" y="380" as="sourcePoint" />
<mxPoint x="460" y="330" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="2uR5KkTxT499U1MgxyAB-10" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;fontFamily=Times New Roman;fontSize=24;" parent="1" source="2uR5KkTxT499U1MgxyAB-4" target="2uR5KkTxT499U1MgxyAB-1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="410" y="380" as="sourcePoint" />
<mxPoint x="460" y="330" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="2uR5KkTxT499U1MgxyAB-11" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;fontFamily=Times New Roman;fontSize=24;" parent="1" source="2uR5KkTxT499U1MgxyAB-5" target="2uR5KkTxT499U1MgxyAB-2" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="410" y="380" as="sourcePoint" />
<mxPoint x="460" y="330" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="2uR5KkTxT499U1MgxyAB-12" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;fontFamily=Times New Roman;fontSize=24;" parent="1" source="2uR5KkTxT499U1MgxyAB-6" target="2uR5KkTxT499U1MgxyAB-2" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="410" y="380" as="sourcePoint" />
<mxPoint x="460" y="330" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="2uR5KkTxT499U1MgxyAB-13" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;fontFamily=Times New Roman;fontSize=24;" parent="1" source="2uR5KkTxT499U1MgxyAB-7" target="2uR5KkTxT499U1MgxyAB-4" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="370" y="360" as="sourcePoint" />
<mxPoint x="420" y="310" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="2uR5KkTxT499U1MgxyAB-14" value="&lt;div align=&quot;right&quot;&gt;&lt;font style=&quot;font-size: 20px;&quot; face=&quot;Times New Roman&quot;&gt;&lt;i&gt;c&lt;/i&gt;=4 (4)&lt;/font&gt;&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=right;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="180" y="270" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="2uR5KkTxT499U1MgxyAB-15" value="&lt;div align=&quot;right&quot;&gt;&lt;font style=&quot;font-size: 20px;&quot; face=&quot;Times New Roman&quot;&gt;&lt;i&gt;c&lt;/i&gt;=4 (8)&lt;/font&gt;&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=right;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="130" y="360" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="2uR5KkTxT499U1MgxyAB-16" value="&lt;div&gt;&lt;font style=&quot;font-size: 20px;&quot; face=&quot;Times New Roman&quot;&gt;&lt;i&gt;c&lt;/i&gt;=2 (6)&lt;/font&gt;&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="360" y="360" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="2uR5KkTxT499U1MgxyAB-17" value="&lt;div&gt;&lt;font style=&quot;font-size: 20px;&quot; face=&quot;Times New Roman&quot;&gt;&lt;i&gt;c&lt;/i&gt;=3 (5)&lt;/font&gt;&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="510" y="360" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="2uR5KkTxT499U1MgxyAB-18" value="&lt;div&gt;&lt;font style=&quot;font-size: 20px;&quot; face=&quot;Times New Roman&quot;&gt;&lt;i&gt;c&lt;/i&gt;=2 (2)&lt;/font&gt;&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="510" y="270" width="80" height="30" as="geometry" />
</mxCell>
<mxCell id="2uR5KkTxT499U1MgxyAB-19" value="&lt;div&gt;&lt;font style=&quot;font-size: 20px;&quot; face=&quot;Times New Roman&quot;&gt;&lt;i&gt;c&lt;/i&gt;=9 (9)&lt;/font&gt;&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
<mxGeometry x="358" y="305" width="80" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -0,0 +1,112 @@
<mxfile host="app.diagrams.net" modified="2023-11-16T17:09:08.476Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0" etag="cX5U95y7nvSyIUOV3DxL" version="22.1.2" type="device">
<diagram name="Pagina-1" id="GgXEJ81RuVTFlW8kEIqq">
<mxGraphModel dx="797" dy="414" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="ebww6AsElN2ZjdVp5nvj-1" value="" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="350" y="220" width="180" height="55" as="geometry" />
</mxCell>
<mxCell id="ebww6AsElN2ZjdVp5nvj-3" value="&lt;font style=&quot;font-size: 20px;&quot; face=&quot;Times New Roman&quot;&gt;Start&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="360" y="232.5" width="50" height="30" as="geometry" />
</mxCell>
<mxCell id="ebww6AsElN2ZjdVp5nvj-4" value="&lt;font style=&quot;font-size: 20px;&quot; face=&quot;Times New Roman&quot;&gt;End&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="470" y="232.5" width="50" height="30" as="geometry" />
</mxCell>
<mxCell id="ebww6AsElN2ZjdVp5nvj-5" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="ebww6AsElN2ZjdVp5nvj-1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="210.00038969320815" y="339.99873734153005" as="sourcePoint" />
<mxPoint x="320" y="300" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ebww6AsElN2ZjdVp5nvj-7" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.483;exitY=0.998;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="1" source="ebww6AsElN2ZjdVp5nvj-1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="456" y="290" as="sourcePoint" />
<mxPoint x="437" y="300" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ebww6AsElN2ZjdVp5nvj-8" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="ebww6AsElN2ZjdVp5nvj-1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="447" y="275" as="sourcePoint" />
<mxPoint x="560" y="300" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ebww6AsElN2ZjdVp5nvj-9" value="&lt;font style=&quot;font-size: 18px;&quot; face=&quot;Times New Roman&quot;&gt;Add action&lt;br style=&quot;font-size: 18px;&quot;&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="270" y="296" width="110" height="30" as="geometry" />
</mxCell>
<mxCell id="ebww6AsElN2ZjdVp5nvj-10" value="&lt;font style=&quot;font-size: 18px;&quot; face=&quot;Times New Roman&quot;&gt;Add ordering&lt;br style=&quot;font-size: 18px;&quot;&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="385" y="296" width="110" height="30" as="geometry" />
</mxCell>
<mxCell id="ebww6AsElN2ZjdVp5nvj-11" value="&lt;font style=&quot;font-size: 18px;&quot; face=&quot;Times New Roman&quot;&gt;Add causal link&lt;br style=&quot;font-size: 18px;&quot;&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="500" y="296" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="ebww6AsElN2ZjdVp5nvj-13" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="438" y="341" as="sourcePoint" />
<mxPoint x="438.13" y="321" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ebww6AsElN2ZjdVp5nvj-14" value="" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="330" y="350" width="220" height="70" as="geometry" />
</mxCell>
<mxCell id="ebww6AsElN2ZjdVp5nvj-15" value="&lt;font style=&quot;font-size: 20px;&quot; face=&quot;Times New Roman&quot;&gt;Start&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="340" y="370" width="50" height="30" as="geometry" />
</mxCell>
<mxCell id="ebww6AsElN2ZjdVp5nvj-16" value="&lt;font style=&quot;font-size: 20px;&quot; face=&quot;Times New Roman&quot;&gt;End&lt;/font&gt;" style="ellipse;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="490" y="370" width="50" height="30" as="geometry" />
</mxCell>
<mxCell id="ebww6AsElN2ZjdVp5nvj-17" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="410" y="360" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ebww6AsElN2ZjdVp5nvj-18" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="450" y="360" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ebww6AsElN2ZjdVp5nvj-19" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="430" y="390" width="20" height="20" as="geometry" />
</mxCell>
<mxCell id="ebww6AsElN2ZjdVp5nvj-20" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="ebww6AsElN2ZjdVp5nvj-15" target="ebww6AsElN2ZjdVp5nvj-17">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="400" y="420" as="sourcePoint" />
<mxPoint x="450" y="370" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ebww6AsElN2ZjdVp5nvj-21" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="ebww6AsElN2ZjdVp5nvj-17" target="ebww6AsElN2ZjdVp5nvj-18">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="393" y="384" as="sourcePoint" />
<mxPoint x="420" y="380" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ebww6AsElN2ZjdVp5nvj-22" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="ebww6AsElN2ZjdVp5nvj-18" target="ebww6AsElN2ZjdVp5nvj-16">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="440" y="380" as="sourcePoint" />
<mxPoint x="460" y="380" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ebww6AsElN2ZjdVp5nvj-23" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="ebww6AsElN2ZjdVp5nvj-19" target="ebww6AsElN2ZjdVp5nvj-16">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="480" y="380" as="sourcePoint" />
<mxPoint x="507" y="384" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ebww6AsElN2ZjdVp5nvj-24" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="ebww6AsElN2ZjdVp5nvj-15" target="ebww6AsElN2ZjdVp5nvj-19">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="460" y="410" as="sourcePoint" />
<mxPoint x="507" y="406" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ebww6AsElN2ZjdVp5nvj-25" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" target="ebww6AsElN2ZjdVp5nvj-11">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="547" y="342" as="sourcePoint" />
<mxPoint x="450" y="340" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="ebww6AsElN2ZjdVp5nvj-26" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="324" y="326" as="sourcePoint" />
<mxPoint x="340" y="342" as="targetPoint" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -0,0 +1,567 @@
<mxfile host="app.diagrams.net" modified="2023-11-16T21:16:53.547Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0" etag="D2SSc8s175e1DbT3XVNG" version="22.1.2" type="device">
<diagram name="Pagina-1" id="vWoUS4aAWY6JDt7lGQUs">
<mxGraphModel dx="1434" dy="746" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="Ttsugk7DA3tm-EdlFs-_-1" value="&lt;font style=&quot;font-size: 20px;&quot; face=&quot;Times New Roman&quot;&gt;Start&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="363" y="30" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-2" value="&lt;font style=&quot;font-size: 18px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: at(home), have(drill), have(milk), have(banana)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="195.5" y="110" width="435" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-4" value="&lt;font style=&quot;font-size: 20px;&quot; face=&quot;Times New Roman&quot;&gt;Stop&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="363" y="140" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-5" value="&lt;font style=&quot;font-size: 18px;&quot; face=&quot;Times New Roman&quot;&gt;EFF: at(home), sells(hws, drill), sells(sm, milk), sells(sm, banana)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="128" y="60" width="570" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-6" value="&lt;font style=&quot;font-size: 20px;&quot; face=&quot;Times New Roman&quot;&gt;Start&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="364" y="250" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-7" value="&lt;font style=&quot;font-size: 18px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: at(home), have(drill), have(milk), have(banana)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="196.5" y="440" width="435" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-8" value="&lt;font style=&quot;font-size: 20px;&quot; face=&quot;Times New Roman&quot;&gt;Stop&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="364" y="470" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-9" value="&lt;font style=&quot;font-size: 18px;&quot; face=&quot;Times New Roman&quot;&gt;EFF: at(home), sells(hws, drill), sells(sm, milk), sells(sm, banana)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="129" y="280" width="570" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-12" value="&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 18px;&quot;&gt;BUY(X, drill)&lt;br style=&quot;font-size: 18px;&quot;&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="140" y="380" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-13" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: at(X), sells(X, drill)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="110" y="350" width="190" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-14" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-12">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="400" y="390" as="sourcePoint" />
<mxPoint x="367" y="447" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-15" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-9" target="Ttsugk7DA3tm-EdlFs-_-13">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="344" y="307" as="sourcePoint" />
<mxPoint x="299" y="355" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-21" value="&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 18px;&quot;&gt;BUY(X, milk)&lt;br style=&quot;font-size: 18px;&quot;&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="349" y="380" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-22" value="&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 18px;&quot;&gt;BUY(X, banana)&lt;br style=&quot;font-size: 18px;&quot;&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="560" y="380" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-23" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: at(X), sells(X, milk)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="314" y="350" width="199" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-24" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: at(X), sells(X, banana)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="530" y="350" width="190" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-25" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-9" target="Ttsugk7DA3tm-EdlFs-_-23">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="424" y="320" as="sourcePoint" />
<mxPoint x="215" y="360" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-26" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-9" target="Ttsugk7DA3tm-EdlFs-_-24">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="424" y="320" as="sourcePoint" />
<mxPoint x="424" y="360" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-27" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-21">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="215" y="420" as="sourcePoint" />
<mxPoint x="457" y="448" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-28" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-22">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="424" y="420" as="sourcePoint" />
<mxPoint x="554" y="446" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-61" value="&lt;font style=&quot;font-size: 20px;&quot; face=&quot;Times New Roman&quot;&gt;Start&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="362" y="585" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-62" value="&lt;font style=&quot;font-size: 18px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: at(home), have(drill), have(milk), have(banana)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="194.5" y="775" width="435" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-63" value="&lt;font style=&quot;font-size: 20px;&quot; face=&quot;Times New Roman&quot;&gt;Stop&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="362" y="805" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-64" value="&lt;font style=&quot;font-size: 18px;&quot; face=&quot;Times New Roman&quot;&gt;EFF: at(home), sells(hws, drill), sells(sm, milk), sells(sm, banana)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="127" y="615" width="570" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-65" value="&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 18px;&quot;&gt;BUY(hws, drill)&lt;br style=&quot;font-size: 18px;&quot;&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="138" y="715" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-66" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: at(hws), sells(hws, drill)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="104" y="685" width="198" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-67" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-65">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="398" y="725" as="sourcePoint" />
<mxPoint x="365" y="782" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-69" value="&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 18px;&quot;&gt;BUY(sm, milk)&lt;br style=&quot;font-size: 18px;&quot;&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="347" y="715" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-70" value="&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 18px;&quot;&gt;BUY(sm, banana)&lt;br style=&quot;font-size: 18px;&quot;&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="550" y="715" width="138" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-71" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: at(sm), sells(sm, milk)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="312" y="685" width="199" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-72" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: at(sm), sells(sm, banana)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="524" y="685" width="202" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-75" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-69">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="213" y="755" as="sourcePoint" />
<mxPoint x="455" y="783" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-76" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-70">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="422" y="755" as="sourcePoint" />
<mxPoint x="552" y="781" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-77" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-64">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="362" y="640" as="sourcePoint" />
<mxPoint x="234" y="689" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-78" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=3;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-64">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="422" y="670" as="sourcePoint" />
<mxPoint x="435" y="691" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-79" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=3;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-64">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="422" y="655" as="sourcePoint" />
<mxPoint x="630" y="691" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-80" value="&lt;font style=&quot;font-size: 20px;&quot; face=&quot;Times New Roman&quot;&gt;Start&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="360" y="910" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-81" value="&lt;font style=&quot;font-size: 18px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: at(home), have(drill), have(milk), have(banana)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="192.5" y="1220" width="435" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-82" value="&lt;font style=&quot;font-size: 20px;&quot; face=&quot;Times New Roman&quot;&gt;Stop&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="360" y="1250" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-83" value="&lt;font style=&quot;font-size: 18px;&quot; face=&quot;Times New Roman&quot;&gt;EFF: at(home), sells(hws, drill), sells(sm, milk), sells(sm, banana)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="125" y="940" width="570" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-84" value="&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 18px;&quot;&gt;BUY(hws, drill)&lt;br style=&quot;font-size: 18px;&quot;&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="136" y="1160" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-85" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: at(hws), sells(hws, drill)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="102" y="1130" width="198" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-86" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-84">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="396" y="1170" as="sourcePoint" />
<mxPoint x="363" y="1227" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-87" value="&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 18px;&quot;&gt;BUY(sm, milk)&lt;br style=&quot;font-size: 18px;&quot;&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="345" y="1160" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-88" value="&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 18px;&quot;&gt;BUY(sm, banana)&lt;br style=&quot;font-size: 18px;&quot;&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="548" y="1160" width="138" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-89" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: sells(sm, milk), &lt;/font&gt;&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;at(sm)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="310" y="1130" width="199" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-90" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: at(sm), sells(sm, banana)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="522" y="1130" width="202" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-91" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-87">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="211" y="1200" as="sourcePoint" />
<mxPoint x="453" y="1228" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-92" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-88">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="420" y="1200" as="sourcePoint" />
<mxPoint x="550" y="1226" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-96" value="&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 18px;&quot;&gt;GO(home, hws)&lt;br style=&quot;font-size: 18px;&quot;&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="140" y="1030" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-97" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: at(home)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="138" y="1000" width="134" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-98" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;EFF: at(hws), ¬at(home)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="124" y="1060" width="162" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-99" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-98">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="211" y="1200" as="sourcePoint" />
<mxPoint x="166" y="1136" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-100" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-83">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="215" y="1100" as="sourcePoint" />
<mxPoint x="218" y="1007" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-101" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-83">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="420" y="980" as="sourcePoint" />
<mxPoint x="233" y="1134" as="targetPoint" />
<Array as="points">
<mxPoint x="330" y="1000" />
<mxPoint x="290" y="1010" />
<mxPoint x="290" y="1080" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-105" value="&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 18px;&quot;&gt;GO(home, sm)&lt;br style=&quot;font-size: 18px;&quot;&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="456" y="1030" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-106" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: at(home)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="454" y="1000" width="134" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-107" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;EFF: at(sm), ¬at(home)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="440" y="1060" width="162" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-108" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-83">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="420" y="980" as="sourcePoint" />
<mxPoint x="523" y="1005" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-109" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=3;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="410" y="970" as="sourcePoint" />
<mxPoint x="404" y="1136" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-110" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=3;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-107">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="420" y="980" as="sourcePoint" />
<mxPoint x="476" y="1138" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-112" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=3;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-107">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="531" y="1100" as="sourcePoint" />
<mxPoint x="577" y="1138" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-113" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=3;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="410" y="970" as="sourcePoint" />
<mxPoint x="640" y="1137" as="targetPoint" />
<Array as="points">
<mxPoint x="640" y="980" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-114" value="&lt;font style=&quot;font-size: 20px;&quot; face=&quot;Times New Roman&quot;&gt;Start&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="368" y="1370" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-115" value="&lt;font style=&quot;font-size: 18px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: at(home), have(drill), have(milk), have(banana)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="200.5" y="1790" width="435" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-116" value="&lt;font style=&quot;font-size: 20px;&quot; face=&quot;Times New Roman&quot;&gt;Stop&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="368" y="1820" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-117" value="&lt;font style=&quot;font-size: 18px;&quot; face=&quot;Times New Roman&quot;&gt;EFF: at(home), sells(hws, drill), sells(sm, milk), sells(sm, banana)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="133" y="1400" width="570" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-118" value="&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 18px;&quot;&gt;BUY(hws, drill)&lt;br style=&quot;font-size: 18px;&quot;&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="144" y="1730" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-119" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: &lt;/font&gt;&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;sells(hws, drill)&lt;/font&gt;&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;, at(hws)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="110" y="1700" width="198" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-120" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-118">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="404" y="1740" as="sourcePoint" />
<mxPoint x="371" y="1797" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-121" value="&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 18px;&quot;&gt;BUY(sm, milk)&lt;br style=&quot;font-size: 18px;&quot;&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="353" y="1730" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-122" value="&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 18px;&quot;&gt;BUY(sm, banana)&lt;br style=&quot;font-size: 18px;&quot;&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="556" y="1730" width="138" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-123" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: sells(sm, milk), &lt;/font&gt;&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;at(sm)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="318" y="1700" width="199" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-124" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: at(sm), sells(sm, banana)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="530" y="1700" width="202" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-125" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-121">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="219" y="1770" as="sourcePoint" />
<mxPoint x="461" y="1798" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-126" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-122">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="428" y="1770" as="sourcePoint" />
<mxPoint x="558" y="1796" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-127" value="&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 18px;&quot;&gt;GO(home, hws)&lt;br style=&quot;font-size: 18px;&quot;&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="236" y="1490" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-128" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: at(home)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="234" y="1460" width="134" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-129" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;EFF: at(hws), ¬at(home)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="220" y="1520" width="162" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-131" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-117">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="223" y="1560" as="sourcePoint" />
<mxPoint x="312" y="1464" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-133" value="&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 18px;&quot;&gt;GO(hws, sm)&lt;br style=&quot;font-size: 18px;&quot;&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="384" y="1610" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-134" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: at(hws)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="382" y="1580" width="134" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-135" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;EFF: at(sm), ¬at(hws)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="368" y="1640" width="162" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-141" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-117">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="428" y="1440" as="sourcePoint" />
<mxPoint x="180" y="1709" as="targetPoint" />
<Array as="points">
<mxPoint x="180" y="1430" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-142" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-129">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="428" y="1440" as="sourcePoint" />
<mxPoint x="272" y="1705" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-143" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-129">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="311" y="1560" as="sourcePoint" />
<mxPoint x="459" y="1587" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-144" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=3;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="420" y="1430" as="sourcePoint" />
<mxPoint x="397" y="1705" as="targetPoint" />
<Array as="points">
<mxPoint x="400" y="1520" />
<mxPoint x="360" y="1600" />
<mxPoint x="340" y="1660" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-145" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-117">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="428" y="1440" as="sourcePoint" />
<mxPoint x="650" y="1707" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-146" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-135">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="589" y="1680" as="sourcePoint" />
<mxPoint x="479" y="1707" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-147" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-135">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="459" y="1680" as="sourcePoint" />
<mxPoint x="582" y="1708" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-148" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-118" target="Ttsugk7DA3tm-EdlFs-_-133">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="400" y="1720" as="sourcePoint" />
<mxPoint x="450" y="1670" as="targetPoint" />
<Array as="points">
<mxPoint x="320" y="1745" />
<mxPoint x="320" y="1625" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-178" value="&lt;font style=&quot;font-size: 20px;&quot; face=&quot;Times New Roman&quot;&gt;Start&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="383" y="1980" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-179" value="&lt;font style=&quot;font-size: 18px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: at(home), have(drill), have(milk), have(banana)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="215.5" y="2440" width="435" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-180" value="&lt;font style=&quot;font-size: 20px;&quot; face=&quot;Times New Roman&quot;&gt;Stop&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="383" y="2470" width="100" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-181" value="&lt;font style=&quot;font-size: 18px;&quot; face=&quot;Times New Roman&quot;&gt;EFF: at(home), sells(hws, drill), sells(sm, milk), sells(sm, banana)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="148" y="2010" width="570" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-182" value="&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 18px;&quot;&gt;BUY(hws, drill)&lt;br style=&quot;font-size: 18px;&quot;&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="271.5" y="2210" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-183" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: &lt;/font&gt;&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;sells(hws, drill)&lt;/font&gt;&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;, at(hws)&lt;br&gt;&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="237.5" y="2180" width="198" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-185" value="&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 18px;&quot;&gt;BUY(sm, milk)&lt;br style=&quot;font-size: 18px;&quot;&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="235.5" y="2350" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-186" value="&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 18px;&quot;&gt;BUY(sm, banana)&lt;br style=&quot;font-size: 18px;&quot;&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="640" y="2350" width="138" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-187" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: sells(sm, milk), &lt;/font&gt;&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;at(sm)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="200.5" y="2320" width="199" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-188" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: at(sm), sells(sm, banana)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="614" y="2320" width="202" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-191" value="&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 18px;&quot;&gt;GO(home, hws)&lt;br style=&quot;font-size: 18px;&quot;&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="371" y="2110" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-192" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: at(home)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="369" y="2080" width="134" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-195" value="&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 18px;&quot;&gt;GO(hws, sm)&lt;br style=&quot;font-size: 18px;&quot;&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="514.5" y="2210" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-196" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: at(hws)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="512.5" y="2180" width="134" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-207" value="&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 18px;&quot;&gt;GO(sm, home)&lt;br style=&quot;font-size: 18px;&quot;&gt;&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontSize=18;" vertex="1" parent="1">
<mxGeometry x="429" y="2350" width="138" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-208" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;PRE: at(sm)&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="433" y="2320" width="130" height="30" as="geometry" />
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-214" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-181">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="522" y="2060" as="sourcePoint" />
<mxPoint x="450" y="2086" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-215" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=3;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-191">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="436" y="2170" as="sourcePoint" />
<mxPoint x="406" y="2185" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-216" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=3;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-191">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="446" y="2150" as="sourcePoint" />
<mxPoint x="584" y="2187" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-217" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-182" target="Ttsugk7DA3tm-EdlFs-_-195">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="400" y="2310" as="sourcePoint" />
<mxPoint x="450" y="2260" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-218" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=3;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-195">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="579.5" y="2270" as="sourcePoint" />
<mxPoint x="368" y="2327" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-219" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=3;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="580" y="2240" as="sourcePoint" />
<mxPoint x="512" y="2325" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-220" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=3;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="580" y="2240" as="sourcePoint" />
<mxPoint x="672" y="2326" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-221" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-185" target="Ttsugk7DA3tm-EdlFs-_-207">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="412" y="2235" as="sourcePoint" />
<mxPoint x="525" y="2235" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-222" value="" style="endArrow=classic;html=1;rounded=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-186" target="Ttsugk7DA3tm-EdlFs-_-207">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="376" y="2375" as="sourcePoint" />
<mxPoint x="439" y="2375" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-223" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=3;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-185">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="590" y="2250" as="sourcePoint" />
<mxPoint x="480" y="2447" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-224" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=3;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-186">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="311" y="2390" as="sourcePoint" />
<mxPoint x="569" y="2446" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-225" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=3;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-207">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="719" y="2390" as="sourcePoint" />
<mxPoint x="310" y="2446" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-226" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=3;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-182">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="446" y="2150" as="sourcePoint" />
<mxPoint x="390" y="2447" as="targetPoint" />
<Array as="points">
<mxPoint x="190" y="2280" />
<mxPoint x="190" y="2410" />
<mxPoint x="300" y="2410" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-227" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-181">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="443" y="2050" as="sourcePoint" />
<mxPoint x="309" y="2188" as="targetPoint" />
<Array as="points">
<mxPoint x="309" y="2061" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-228" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;strokeWidth=3;" edge="1" parent="1" source="Ttsugk7DA3tm-EdlFs-_-181">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="443" y="2050" as="sourcePoint" />
<mxPoint x="734" y="2327" as="targetPoint" />
<Array as="points">
<mxPoint x="734" y="2090" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Ttsugk7DA3tm-EdlFs-_-229" value="" style="endArrow=classic;html=1;rounded=0;strokeWidth=3;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="430" y="2040" as="sourcePoint" />
<mxPoint x="274" y="2327" as="targetPoint" />
<Array as="points">
<mxPoint x="230" y="2140" />
<mxPoint x="230" y="2290" />
</Array>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -0,0 +1,100 @@
<mxfile host="app.diagrams.net" modified="2023-09-30T08:39:29.638Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/118.0" etag="wNwkhq1XYC7xy40uFgd9" version="21.8.1" type="device">
<diagram name="Pagina-1" id="CXlOY20UPXUAhCokS_2Q">
<mxGraphModel dx="1195" dy="622" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="dcn3nJ8A0_6me1Pj84pl-1" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="384" y="144" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="dcn3nJ8A0_6me1Pj84pl-2" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="300" y="270" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="dcn3nJ8A0_6me1Pj84pl-3" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="384" y="270" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="dcn3nJ8A0_6me1Pj84pl-4" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="470" y="270" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="dcn3nJ8A0_6me1Pj84pl-10" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="dcn3nJ8A0_6me1Pj84pl-2" target="dcn3nJ8A0_6me1Pj84pl-1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="400" y="350" as="sourcePoint" />
<mxPoint x="450" y="300" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="dcn3nJ8A0_6me1Pj84pl-11" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="dcn3nJ8A0_6me1Pj84pl-3" target="dcn3nJ8A0_6me1Pj84pl-1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="400" y="350" as="sourcePoint" />
<mxPoint x="450" y="300" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="dcn3nJ8A0_6me1Pj84pl-12" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="dcn3nJ8A0_6me1Pj84pl-1" target="dcn3nJ8A0_6me1Pj84pl-4">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="400" y="350" as="sourcePoint" />
<mxPoint x="450" y="260" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="dcn3nJ8A0_6me1Pj84pl-13" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="393.5" y="370" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="dcn3nJ8A0_6me1Pj84pl-14" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="470" y="370" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="dcn3nJ8A0_6me1Pj84pl-15" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="544" y="370" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="dcn3nJ8A0_6me1Pj84pl-16" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="dcn3nJ8A0_6me1Pj84pl-13" target="dcn3nJ8A0_6me1Pj84pl-4">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="525" y="480" as="sourcePoint" />
<mxPoint x="529" y="370" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="dcn3nJ8A0_6me1Pj84pl-17" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="dcn3nJ8A0_6me1Pj84pl-14" target="dcn3nJ8A0_6me1Pj84pl-4">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="525" y="480" as="sourcePoint" />
<mxPoint x="529" y="370" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="dcn3nJ8A0_6me1Pj84pl-18" value="" style="endArrow=none;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" target="dcn3nJ8A0_6me1Pj84pl-15" source="dcn3nJ8A0_6me1Pj84pl-4">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="529" y="370" as="sourcePoint" />
<mxPoint x="575" y="390" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="dcn3nJ8A0_6me1Pj84pl-19" value="&lt;font style=&quot;font-size: 24px;&quot; face=&quot;Times New Roman&quot;&gt;Root&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="324" y="149" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="dcn3nJ8A0_6me1Pj84pl-20" value="&lt;font style=&quot;font-size: 24px;&quot; face=&quot;Times New Roman&quot;&gt;Expansion&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="524" y="196.6" width="110" height="40" as="geometry" />
</mxCell>
<mxCell id="dcn3nJ8A0_6me1Pj84pl-22" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="520" y="269.6" as="sourcePoint" />
<mxPoint x="520" y="184" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="dcn3nJ8A0_6me1Pj84pl-23" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="510" y="269.6" as="sourcePoint" />
<mxPoint x="530" y="269.6" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="dcn3nJ8A0_6me1Pj84pl-24" value="" style="endArrow=none;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="510" y="184" as="sourcePoint" />
<mxPoint x="530" y="184" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="dcn3nJ8A0_6me1Pj84pl-25" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="428" y="193" as="sourcePoint" />
<mxPoint x="494" y="258" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="dcn3nJ8A0_6me1Pj84pl-26" value="&lt;font style=&quot;font-size: 24px;&quot; face=&quot;Times New Roman&quot;&gt;Strategy&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;rotation=43.5;" vertex="1" parent="1">
<mxGeometry x="414" y="197" width="110" height="28.9" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -0,0 +1,506 @@
<mxfile host="app.diagrams.net" modified="2023-11-08T19:35:32.492Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/119.0" etag="Arkzoypenm2zX9L1K_tJ" version="22.0.8" type="device">
<diagram name="Pagina-1" id="heIegY8rYzWn5zT_ywOG">
<mxGraphModel dx="3187" dy="1611" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="xEpXjmtw2FbbvQ37l8T_-1" value="A" style="whiteSpace=wrap;html=1;aspect=fixed;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="275.32" y="200" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-2" value="C" style="whiteSpace=wrap;html=1;aspect=fixed;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="275.32" y="170" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-3" value="B" style="whiteSpace=wrap;html=1;aspect=fixed;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="320" y="200" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-4" value="A" style="whiteSpace=wrap;html=1;aspect=fixed;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="530" y="139.04000000000002" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-5" value="C" style="whiteSpace=wrap;html=1;aspect=fixed;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="530" y="169.36" width="30.32" height="30.32" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-6" value="B" style="whiteSpace=wrap;html=1;aspect=fixed;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="530" y="199.68" width="30.32" height="30.32" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-7" value="Initial state" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="260.32" y="109.03999999999999" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-8" value="Goal" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="515.16" y="109.03999999999999" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-10" value="Current state" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="414" y="250" width="406" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-12" value="&lt;font style=&quot;font-size: 20px;&quot;&gt;on(c, b) &lt;span role=&quot;presentation&quot; data-mathml=&quot;&lt;math xmlns=&amp;quot;http://www.w3.org/1998/Math/MathML&amp;quot;&gt;&lt;mo&gt;&amp;amp;#x2227;&lt;/mo&gt;&lt;/math&gt;&quot; style=&quot;position: relative; font-size: 20px;&quot; tabindex=&quot;0&quot; id=&quot;MathJax-Element-12-Frame&quot; class=&quot;MathJax&quot;&gt;&lt;/span&gt;&lt;span role=&quot;presentation&quot; data-mathml=&quot;&lt;math xmlns=&amp;quot;http://www.w3.org/1998/Math/MathML&amp;quot;&gt;&lt;mo&gt;&amp;amp;#x2227;&lt;/mo&gt;&lt;/math&gt;&quot; style=&quot;position: relative; font-size: 20px;&quot; tabindex=&quot;0&quot; id=&quot;MathJax-Element-12-Frame&quot; class=&quot;MathJax&quot;&gt;&lt;/span&gt;&lt;/font&gt;∧ on(a, c)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.16" y="290" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-13" value="&lt;div style=&quot;font-size: 20px;&quot;&gt;&lt;font style=&quot;font-size: 20px;&quot;&gt;ontable(a)&lt;span style=&quot;white-space: pre;&quot;&gt;&#x9;&lt;/span&gt;&lt;font style=&quot;font-size: 20px;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;&lt;/span&gt;ontable(b)&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 20px;&quot;&gt;&lt;font style=&quot;font-size: 20px;&quot;&gt;clear(b)&lt;font style=&quot;font-size: 20px;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;&#x9;&lt;/span&gt;clear(c)&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 20px;&quot;&gt;&lt;font style=&quot;font-size: 20px;&quot;&gt;on(c, a) &lt;span style=&quot;white-space: pre;&quot;&gt;&#x9;&lt;/span&gt;handempty&lt;font style=&quot;font-size: 20px;&quot;&gt;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="503.5" y="290" width="227" height="80" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-14" value="Goal stack" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=24;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="8" y="250" width="406" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-15" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="xEpXjmtw2FbbvQ37l8T_-12">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="370" y="310" as="sourcePoint" />
<mxPoint x="311" y="360" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-16" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="xEpXjmtw2FbbvQ37l8T_-12">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="321" y="300" as="sourcePoint" />
<mxPoint x="111" y="360" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-18" value="&lt;font style=&quot;font-size: 20px;&quot;&gt;on(c, b) &lt;span role=&quot;presentation&quot; data-mathml=&quot;&lt;math xmlns=&amp;quot;http://www.w3.org/1998/Math/MathML&amp;quot;&gt;&lt;mo&gt;&amp;amp;#x2227;&lt;/mo&gt;&lt;/math&gt;&quot; style=&quot;position: relative; font-size: 20px;&quot; tabindex=&quot;0&quot; id=&quot;MathJax-Element-12-Frame&quot; class=&quot;MathJax&quot;&gt;&lt;/span&gt;&lt;span role=&quot;presentation&quot; data-mathml=&quot;&lt;math xmlns=&amp;quot;http://www.w3.org/1998/Math/MathML&amp;quot;&gt;&lt;mo&gt;&amp;amp;#x2227;&lt;/mo&gt;&lt;/math&gt;&quot; style=&quot;position: relative; font-size: 20px;&quot; tabindex=&quot;0&quot; id=&quot;MathJax-Element-12-Frame&quot; class=&quot;MathJax&quot;&gt;&lt;/span&gt;&lt;/font&gt;∧ on(a, c)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.32" y="400" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-19" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="xEpXjmtw2FbbvQ37l8T_-18">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="370.32000000000005" y="420" as="sourcePoint" />
<mxPoint x="311.16" y="540" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-20" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="xEpXjmtw2FbbvQ37l8T_-18">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="321.32000000000005" y="410" as="sourcePoint" />
<mxPoint x="111.16" y="540" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-21" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="210.92" y="460" as="sourcePoint" />
<mxPoint x="211.16" y="440" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-22" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;endWidth=8.275862068965518;endSize=5.172413793103448;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="210.86" y="360" as="sourcePoint" />
<mxPoint x="210.83" y="390" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-23" value="on(a, c)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.32" y="470" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-24" value="&lt;font style=&quot;font-size: 20px;&quot;&gt;on(c, b)&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.32" y="500" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-25" value="&lt;div style=&quot;font-size: 16px;&quot; align=&quot;left&quot;&gt;&lt;font style=&quot;font-size: 16px;&quot;&gt;&lt;b&gt;&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;Disjunction of goals&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 16px;&quot; align=&quot;left&quot;&gt;&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;Push in arbitrarily decided order&lt;/font&gt;&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="311.64" y="395" width="238.68" height="40" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-32" value="&lt;font style=&quot;font-size: 20px;&quot;&gt;on(c, b) &lt;span role=&quot;presentation&quot; data-mathml=&quot;&lt;math xmlns=&amp;quot;http://www.w3.org/1998/Math/MathML&amp;quot;&gt;&lt;mo&gt;&amp;amp;#x2227;&lt;/mo&gt;&lt;/math&gt;&quot; style=&quot;position: relative; font-size: 20px;&quot; tabindex=&quot;0&quot; id=&quot;MathJax-Element-12-Frame&quot; class=&quot;MathJax&quot;&gt;&lt;/span&gt;&lt;span role=&quot;presentation&quot; data-mathml=&quot;&lt;math xmlns=&amp;quot;http://www.w3.org/1998/Math/MathML&amp;quot;&gt;&lt;mo&gt;&amp;amp;#x2227;&lt;/mo&gt;&lt;/math&gt;&quot; style=&quot;position: relative; font-size: 20px;&quot; tabindex=&quot;0&quot; id=&quot;MathJax-Element-12-Frame&quot; class=&quot;MathJax&quot;&gt;&lt;/span&gt;&lt;/font&gt;∧ on(a, c)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.32" y="590" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-33" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="xEpXjmtw2FbbvQ37l8T_-32">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="370.32000000000005" y="610" as="sourcePoint" />
<mxPoint x="311" y="790" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-34" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="xEpXjmtw2FbbvQ37l8T_-32">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="321.32000000000005" y="600" as="sourcePoint" />
<mxPoint x="111" y="790" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-35" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="210.76" y="710" as="sourcePoint" />
<mxPoint x="211" y="690" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-36" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;endWidth=8.275862068965518;endSize=5.172413793103448;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="210.86" y="550" as="sourcePoint" />
<mxPoint x="210.83" y="580" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-37" value="on(a, c)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.32" y="620" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-38" value="&lt;font style=&quot;font-size: 20px;&quot;&gt;on(c, b)&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.32" y="650" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-40" value="&lt;div style=&quot;font-size: 16px;&quot; align=&quot;left&quot;&gt;&lt;font style=&quot;font-size: 16px;&quot;&gt;&lt;b&gt;&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;Single goal (not ⊆ of current state)&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 16px;&quot; align=&quot;left&quot;&gt;&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;Pop and push suitable action&lt;br&gt;&lt;/font&gt;&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="311.32" y="645" width="258.68" height="40" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-43" value="" style="curved=1;endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="111.16" y="665" as="sourcePoint" />
<mxPoint x="80" y="670" as="targetPoint" />
<Array as="points">
<mxPoint x="109.16" y="664" />
<mxPoint x="90" y="660" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-45" value="STACK(c, b)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111" y="720" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-46" value="holding(c)&amp;nbsp;∧ clear(b)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111" y="750" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-47" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;Preconditions of STACK&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="311.32" y="750" width="238.68" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-61" value="&lt;font style=&quot;font-size: 20px;&quot;&gt;on(c, b) &lt;span role=&quot;presentation&quot; data-mathml=&quot;&lt;math xmlns=&amp;quot;http://www.w3.org/1998/Math/MathML&amp;quot;&gt;&lt;mo&gt;&amp;amp;#x2227;&lt;/mo&gt;&lt;/math&gt;&quot; style=&quot;position: relative; font-size: 20px;&quot; tabindex=&quot;0&quot; id=&quot;MathJax-Element-12-Frame&quot; class=&quot;MathJax&quot;&gt;&lt;/span&gt;&lt;span role=&quot;presentation&quot; data-mathml=&quot;&lt;math xmlns=&amp;quot;http://www.w3.org/1998/Math/MathML&amp;quot;&gt;&lt;mo&gt;&amp;amp;#x2227;&lt;/mo&gt;&lt;/math&gt;&quot; style=&quot;position: relative; font-size: 20px;&quot; tabindex=&quot;0&quot; id=&quot;MathJax-Element-12-Frame&quot; class=&quot;MathJax&quot;&gt;&lt;/span&gt;&lt;/font&gt;∧ on(a, c)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.32" y="840" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-62" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="xEpXjmtw2FbbvQ37l8T_-61">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="370.32000000000005" y="860" as="sourcePoint" />
<mxPoint x="311" y="1080" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-63" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="xEpXjmtw2FbbvQ37l8T_-61">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="321.32000000000005" y="850" as="sourcePoint" />
<mxPoint x="111" y="1080" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-64" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="210.8" y="990" as="sourcePoint" />
<mxPoint x="211.04000000000002" y="970" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-65" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;endWidth=8.275862068965518;endSize=5.172413793103448;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="210.86" y="800" as="sourcePoint" />
<mxPoint x="210.83" y="830" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-66" value="on(a, c)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.32" y="870" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-70" value="STACK(c, b)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.32" y="900" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-71" value="holding(c)&amp;nbsp;∧ clear(b)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.32" y="930" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-73" value="&lt;div style=&quot;font-size: 16px;&quot; align=&quot;left&quot;&gt;&lt;font style=&quot;font-size: 16px;&quot;&gt;&lt;b&gt;&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;Disjunction of goals&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 16px;&quot; align=&quot;left&quot;&gt;&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;Push in arbitrarily decided order&lt;/font&gt;&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="311.32" y="925" width="238.68" height="40" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-74" value="holding(c)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.32" y="1000" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-75" value="clear(b)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.32" y="1030" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-76" value="&lt;font style=&quot;font-size: 20px;&quot;&gt;on(c, b) &lt;span role=&quot;presentation&quot; data-mathml=&quot;&lt;math xmlns=&amp;quot;http://www.w3.org/1998/Math/MathML&amp;quot;&gt;&lt;mo&gt;&amp;amp;#x2227;&lt;/mo&gt;&lt;/math&gt;&quot; style=&quot;position: relative; font-size: 20px;&quot; tabindex=&quot;0&quot; id=&quot;MathJax-Element-12-Frame&quot; class=&quot;MathJax&quot;&gt;&lt;/span&gt;&lt;span role=&quot;presentation&quot; data-mathml=&quot;&lt;math xmlns=&amp;quot;http://www.w3.org/1998/Math/MathML&amp;quot;&gt;&lt;mo&gt;&amp;amp;#x2227;&lt;/mo&gt;&lt;/math&gt;&quot; style=&quot;position: relative; font-size: 20px;&quot; tabindex=&quot;0&quot; id=&quot;MathJax-Element-12-Frame&quot; class=&quot;MathJax&quot;&gt;&lt;/span&gt;&lt;/font&gt;∧ on(a, c)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.63999999999999" y="1120" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-77" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="xEpXjmtw2FbbvQ37l8T_-76">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="370.64000000000004" y="1140" as="sourcePoint" />
<mxPoint x="312" y="1440" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-78" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="xEpXjmtw2FbbvQ37l8T_-76">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="321.64000000000004" y="1130" as="sourcePoint" />
<mxPoint x="111" y="1440" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-80" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;endWidth=8.275862068965518;endSize=5.172413793103448;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="211.18" y="1080" as="sourcePoint" />
<mxPoint x="211.15" y="1110" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-81" value="on(a, c)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.63999999999999" y="1150" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-82" value="STACK(c, b)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.63999999999999" y="1180" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-83" value="holding(c)&amp;nbsp;∧ clear(b)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.63999999999999" y="1210" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-85" value="holding(c)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.63999999999999" y="1240" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-86" value="clear(b)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.63999999999999" y="1270" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-88" value="" style="endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="211.39999999999998" y="1330" as="sourcePoint" />
<mxPoint x="211.64" y="1310" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-89" value="" style="curved=1;endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="111.8" y="1285" as="sourcePoint" />
<mxPoint x="80.64" y="1290" as="targetPoint" />
<Array as="points">
<mxPoint x="109.8" y="1284" />
<mxPoint x="90.64" y="1280" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-90" value="UNSTACK(c, X)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.64" y="1340" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-91" value="handempty ∧ clear(c) ∧ on(c, X)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.64" y="1370" width="200" height="50" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-92" value="&lt;div style=&quot;font-size: 16px;&quot; align=&quot;left&quot;&gt;&lt;font style=&quot;font-size: 16px;&quot;&gt;&lt;b&gt;&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;Single goal (not ⊆ of current state)&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 16px;&quot; align=&quot;left&quot;&gt;&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;Pop and push suitable action&lt;br&gt;&lt;/font&gt;&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="311.64" y="1265" width="258.68" height="40" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-93" value="&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;Preconditions of UNSTACK&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontSize=16;" vertex="1" parent="1">
<mxGeometry x="311.64" y="1370" width="238.68" height="50" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-95" value="&lt;font style=&quot;font-size: 20px;&quot;&gt;on(c, b) &lt;span role=&quot;presentation&quot; data-mathml=&quot;&lt;math xmlns=&amp;quot;http://www.w3.org/1998/Math/MathML&amp;quot;&gt;&lt;mo&gt;&amp;amp;#x2227;&lt;/mo&gt;&lt;/math&gt;&quot; style=&quot;position: relative; font-size: 20px;&quot; tabindex=&quot;0&quot; id=&quot;MathJax-Element-12-Frame&quot; class=&quot;MathJax&quot;&gt;&lt;/span&gt;&lt;span role=&quot;presentation&quot; data-mathml=&quot;&lt;math xmlns=&amp;quot;http://www.w3.org/1998/Math/MathML&amp;quot;&gt;&lt;mo&gt;&amp;amp;#x2227;&lt;/mo&gt;&lt;/math&gt;&quot; style=&quot;position: relative; font-size: 20px;&quot; tabindex=&quot;0&quot; id=&quot;MathJax-Element-12-Frame&quot; class=&quot;MathJax&quot;&gt;&lt;/span&gt;&lt;/font&gt;∧ on(a, c)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.63999999999999" y="1480" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-96" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="xEpXjmtw2FbbvQ37l8T_-95">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="370.64000000000004" y="1500" as="sourcePoint" />
<mxPoint x="312" y="1720" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-97" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="xEpXjmtw2FbbvQ37l8T_-95">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="321.64000000000004" y="1490" as="sourcePoint" />
<mxPoint x="111" y="1720" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-98" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;endWidth=8.275862068965518;endSize=5.172413793103448;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="211.18" y="1440" as="sourcePoint" />
<mxPoint x="211.15" y="1470" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-99" value="on(a, c)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.63999999999999" y="1510" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-100" value="STACK(c, b)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.63999999999999" y="1540" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-101" value="holding(c)&amp;nbsp;∧ clear(b)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.63999999999999" y="1570" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-102" value="holding(c)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.63999999999999" y="1600" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-105" value="" style="curved=1;endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="111.64" y="1685" as="sourcePoint" />
<mxPoint x="80.48" y="1690" as="targetPoint" />
<Array as="points">
<mxPoint x="109.64" y="1684" />
<mxPoint x="90.48" y="1680" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-106" value="UNSTACK(c, a)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.64" y="1630" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-107" value="handempty ∧ clear(c) ∧ on(c, X)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.64" y="1660" width="200" height="50" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-108" value="&lt;div style=&quot;font-size: 16px;&quot; align=&quot;left&quot;&gt;&lt;font style=&quot;font-size: 16px;&quot;&gt;&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;&lt;b&gt;Goals ⊆ of current state&lt;/b&gt;&lt;/font&gt;&lt;b&gt;&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 16px;&quot; align=&quot;left&quot;&gt;&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 16px;&quot;&gt;with substitution X/a&lt;br&gt;&lt;/font&gt;&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="311.64" y="1665" width="258.68" height="40" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-111" value="" style="curved=1;endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="111.64" y="1645" as="sourcePoint" />
<mxPoint x="80.48" y="1650" as="targetPoint" />
<Array as="points">
<mxPoint x="109.64" y="1644" />
<mxPoint x="90.48" y="1640" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-112" value="&lt;b&gt;&lt;font style=&quot;font-size: 16px;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Apply action&lt;/font&gt;&lt;br&gt;&lt;/font&gt;&lt;/b&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="311.64" y="1630" width="98.36" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-114" value="&lt;div style=&quot;font-size: 20px;&quot;&gt;&lt;font style=&quot;font-size: 20px;&quot;&gt;ontable(a)&lt;span style=&quot;white-space: pre;&quot;&gt;&#x9;&lt;/span&gt;&lt;font style=&quot;font-size: 20px;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;&lt;/span&gt;ontable(b)&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 20px;&quot;&gt;&lt;font style=&quot;font-size: 20px;&quot;&gt;clear(a)&lt;font style=&quot;font-size: 20px;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;&#x9;&lt;/span&gt;clear(b)&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 20px;&quot;&gt;&lt;font style=&quot;font-size: 20px;&quot;&gt;holding(c)&lt;font style=&quot;font-size: 20px;&quot;&gt;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="503.5" y="1605" width="227" height="80" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-115" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="xEpXjmtw2FbbvQ37l8T_-112" target="xEpXjmtw2FbbvQ37l8T_-114">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="420" y="1630" as="sourcePoint" />
<mxPoint x="470" y="1580" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-116" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;dashed=1;" edge="1" parent="1" source="xEpXjmtw2FbbvQ37l8T_-13" target="xEpXjmtw2FbbvQ37l8T_-114">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="470" y="800" as="sourcePoint" />
<mxPoint x="610" y="1170" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-141" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;UNSTACK(c, a)&lt;/font&gt;&lt;br&gt;&lt;/font&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="xEpXjmtw2FbbvQ37l8T_-116">
<mxGeometry x="0.3188" relative="1" as="geometry">
<mxPoint y="-204" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-117" value="&lt;font style=&quot;font-size: 20px;&quot;&gt;on(c, b) &lt;span role=&quot;presentation&quot; data-mathml=&quot;&lt;math xmlns=&amp;quot;http://www.w3.org/1998/Math/MathML&amp;quot;&gt;&lt;mo&gt;&amp;amp;#x2227;&lt;/mo&gt;&lt;/math&gt;&quot; style=&quot;position: relative; font-size: 20px;&quot; tabindex=&quot;0&quot; id=&quot;MathJax-Element-12-Frame&quot; class=&quot;MathJax&quot;&gt;&lt;/span&gt;&lt;span role=&quot;presentation&quot; data-mathml=&quot;&lt;math xmlns=&amp;quot;http://www.w3.org/1998/Math/MathML&amp;quot;&gt;&lt;mo&gt;&amp;amp;#x2227;&lt;/mo&gt;&lt;/math&gt;&quot; style=&quot;position: relative; font-size: 20px;&quot; tabindex=&quot;0&quot; id=&quot;MathJax-Element-12-Frame&quot; class=&quot;MathJax&quot;&gt;&lt;/span&gt;&lt;/font&gt;∧ on(a, c)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.63999999999999" y="1760" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-118" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="xEpXjmtw2FbbvQ37l8T_-117">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="370.64000000000004" y="1780" as="sourcePoint" />
<mxPoint x="312" y="1920" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-119" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="xEpXjmtw2FbbvQ37l8T_-117">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="321.64000000000004" y="1770" as="sourcePoint" />
<mxPoint x="111" y="1920" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-120" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;endWidth=8.275862068965518;endSize=5.172413793103448;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="211.18" y="1720" as="sourcePoint" />
<mxPoint x="211.15" y="1750" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-121" value="on(a, c)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.63999999999999" y="1790" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-122" value="STACK(c, b)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.63999999999999" y="1820" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-123" value="holding(c)&amp;nbsp;∧ clear(b)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.63999999999999" y="1850" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-124" value="holding(c)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="111.63999999999999" y="1880" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-125" value="" style="curved=1;endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="111" y="1895" as="sourcePoint" />
<mxPoint x="79.84" y="1900" as="targetPoint" />
<Array as="points">
<mxPoint x="109" y="1894" />
<mxPoint x="89.84" y="1890" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-128" value="" style="curved=1;endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="111.64" y="1865" as="sourcePoint" />
<mxPoint x="80.48" y="1870" as="targetPoint" />
<Array as="points">
<mxPoint x="109.64" y="1864" />
<mxPoint x="90.48" y="1860" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-130" value="" style="curved=1;endArrow=classic;html=1;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="111.64" y="1835" as="sourcePoint" />
<mxPoint x="80.48" y="1840" as="targetPoint" />
<Array as="points">
<mxPoint x="109.64" y="1834" />
<mxPoint x="90.48" y="1830" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-131" value="&amp;nbsp;" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="100" y="1770" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-132" value="&amp;nbsp;" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="100" y="1750" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-133" value="&amp;nbsp;" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="230" y="1730" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-134" value="&amp;nbsp;" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="100" y="1750" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-135" value="&lt;div style=&quot;font-size: 16px;&quot; align=&quot;left&quot;&gt;&lt;font style=&quot;font-size: 16px;&quot;&gt;&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;&lt;b&gt;Goal ⊆ of current state&lt;/b&gt;&lt;/font&gt;&lt;b&gt;&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="311.64" y="1880" width="168.36" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-136" value="&lt;div style=&quot;font-size: 16px;&quot; align=&quot;left&quot;&gt;&lt;font style=&quot;font-size: 16px;&quot;&gt;&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;&lt;b&gt;Goals ⊆ of current state&lt;/b&gt;&lt;/font&gt;&lt;b&gt;&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="311.64" y="1850" width="168.36" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-137" value="&lt;b&gt;&lt;font style=&quot;font-size: 16px;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;Apply action&lt;/font&gt;&lt;br&gt;&lt;/font&gt;&lt;/b&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="311.64" y="1820" width="98.36" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-138" value="&lt;div style=&quot;font-size: 20px;&quot;&gt;&lt;font style=&quot;font-size: 20px;&quot;&gt;ontable(a)&lt;span style=&quot;white-space: pre;&quot;&gt;&#x9;&lt;/span&gt;&lt;font style=&quot;font-size: 20px;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;&lt;/span&gt;ontable(b)&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 20px;&quot;&gt;&lt;font style=&quot;font-size: 20px;&quot;&gt;clear(a)&lt;font style=&quot;font-size: 20px;&quot;&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;&#x9;&lt;/span&gt;clear(c)&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 20px;&quot;&gt;&lt;font style=&quot;font-size: 20px;&quot;&gt;on(c, b)&lt;span style=&quot;white-space: pre;&quot;&gt;&#x9;&lt;/span&gt;handempty&lt;font style=&quot;font-size: 20px;&quot;&gt;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="503.5" y="1795" width="227" height="80" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-139" value="" style="endArrow=classic;startArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="xEpXjmtw2FbbvQ37l8T_-137">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="399.5" y="1834.76" as="sourcePoint" />
<mxPoint x="503.5" y="1834.76" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-140" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;dashed=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="1" source="xEpXjmtw2FbbvQ37l8T_-114" target="xEpXjmtw2FbbvQ37l8T_-138">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="700" y="940" as="sourcePoint" />
<mxPoint x="627" y="1615" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-142" value="Text" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="xEpXjmtw2FbbvQ37l8T_-140">
<mxGeometry x="-0.0145" y="-1" relative="1" as="geometry">
<mxPoint x="1" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-143" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;STACK(c, b)&lt;/font&gt;&lt;br&gt;&lt;/font&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="xEpXjmtw2FbbvQ37l8T_-140">
<mxGeometry x="0.0145" y="4" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-144" value="&lt;font style=&quot;font-size: 20px;&quot;&gt;on(c, b) &lt;span role=&quot;presentation&quot; data-mathml=&quot;&lt;math xmlns=&amp;quot;http://www.w3.org/1998/Math/MathML&amp;quot;&gt;&lt;mo&gt;&amp;amp;#x2227;&lt;/mo&gt;&lt;/math&gt;&quot; style=&quot;position: relative; font-size: 20px;&quot; tabindex=&quot;0&quot; id=&quot;MathJax-Element-12-Frame&quot; class=&quot;MathJax&quot;&gt;&lt;/span&gt;&lt;span role=&quot;presentation&quot; data-mathml=&quot;&lt;math xmlns=&amp;quot;http://www.w3.org/1998/Math/MathML&amp;quot;&gt;&lt;mo&gt;&amp;amp;#x2227;&lt;/mo&gt;&lt;/math&gt;&quot; style=&quot;position: relative; font-size: 20px;&quot; tabindex=&quot;0&quot; id=&quot;MathJax-Element-12-Frame&quot; class=&quot;MathJax&quot;&gt;&lt;/span&gt;&lt;/font&gt;∧ on(a, c)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="110.76999999999998" y="1970" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-145" value="" style="endArrow=none;html=1;rounded=0;exitX=1;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="xEpXjmtw2FbbvQ37l8T_-144">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="369.77000000000004" y="1990" as="sourcePoint" />
<mxPoint x="311" y="2040" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-146" value="" style="endArrow=none;html=1;rounded=0;exitX=0;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="xEpXjmtw2FbbvQ37l8T_-144">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="320.77000000000004" y="1980" as="sourcePoint" />
<mxPoint x="110" y="2040" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-147" value="" style="shape=flexArrow;endArrow=classic;html=1;rounded=0;endWidth=8.275862068965518;endSize=5.172413793103448;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="210.31" y="1930" as="sourcePoint" />
<mxPoint x="210.28" y="1960" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-148" value="on(a, c)" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Times New Roman;fontSize=20;" vertex="1" parent="1">
<mxGeometry x="110.76999999999998" y="2000" width="200" height="30" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-155" value="&amp;nbsp;" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="99.13" y="1980" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-156" value="&amp;nbsp;" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="99.13" y="1960" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-157" value="&amp;nbsp;" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="229.13" y="1940" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-158" value="&amp;nbsp;" style="text;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="99.13" y="1960" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-159" value="&lt;div style=&quot;font-size: 16px;&quot; align=&quot;left&quot;&gt;&lt;font style=&quot;font-size: 16px;&quot;&gt;&lt;b&gt;&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;Single goal (not ⊆ of current state)&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 16px;&quot; align=&quot;left&quot;&gt;&lt;font style=&quot;font-size: 16px;&quot; face=&quot;Times New Roman&quot;&gt;Pop and push suitable action&lt;br&gt;&lt;/font&gt;&lt;/div&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="311.64" y="1995" width="258.68" height="40" as="geometry" />
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-160" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="211.34" y="2070" as="sourcePoint" />
<mxPoint x="211.34" y="2040" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-161" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;" edge="1" parent="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="616.75" y="1920" as="sourcePoint" />
<mxPoint x="616.75" y="1890" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xEpXjmtw2FbbvQ37l8T_-162" value="&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 18px;&quot;&gt;Continue until stack empty&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" vertex="1" parent="1">
<mxGeometry x="110" y="2070" width="200" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

View File

@ -0,0 +1,65 @@
<mxfile host="app.diagrams.net" modified="2023-11-16T18:56:42.492Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0" etag="Uou_jVs9DVnfVFeEqA6I" version="22.1.2" type="device">
<diagram name="Pagina-1" id="GgXEJ81RuVTFlW8kEIqq">
<mxGraphModel dx="819" dy="426" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="02vexZp_IqWnZ5WZXqgF-1" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="240" y="360" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="02vexZp_IqWnZ5WZXqgF-2" value="S&lt;sub style=&quot;font-size: 20px;&quot;&gt;i&lt;/sub&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=20;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="320" y="320" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="02vexZp_IqWnZ5WZXqgF-3" value="S&lt;sub style=&quot;font-size: 20px;&quot;&gt;k&lt;/sub&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=20;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="360" y="400" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="02vexZp_IqWnZ5WZXqgF-4" value="S&lt;sub style=&quot;font-size: 20px;&quot;&gt;j&lt;/sub&gt;" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=20;fontFamily=Times New Roman;" vertex="1" parent="1">
<mxGeometry x="400" y="320" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="02vexZp_IqWnZ5WZXqgF-5" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;" vertex="1" parent="1">
<mxGeometry x="480" y="360" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="02vexZp_IqWnZ5WZXqgF-6" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="02vexZp_IqWnZ5WZXqgF-1" target="02vexZp_IqWnZ5WZXqgF-2">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="315" y="420" as="sourcePoint" />
<mxPoint x="365" y="370" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="02vexZp_IqWnZ5WZXqgF-7" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="02vexZp_IqWnZ5WZXqgF-1" target="02vexZp_IqWnZ5WZXqgF-3">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="284" y="376" as="sourcePoint" />
<mxPoint x="330" y="350" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="02vexZp_IqWnZ5WZXqgF-8" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=1;entryDx=0;entryDy=0;strokeWidth=1;" edge="1" parent="1" source="02vexZp_IqWnZ5WZXqgF-3" target="02vexZp_IqWnZ5WZXqgF-5">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="284" y="404" as="sourcePoint" />
<mxPoint x="370" y="430" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="02vexZp_IqWnZ5WZXqgF-12" value="&lt;font face=&quot;Verdana&quot; style=&quot;font-size: 20px;&quot;&gt;¬&lt;/font&gt;&lt;font face=&quot;Times New Roman&quot; style=&quot;font-size: 20px;&quot;&gt;c&lt;/font&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="02vexZp_IqWnZ5WZXqgF-8">
<mxGeometry x="-0.0557" y="-2" relative="1" as="geometry">
<mxPoint x="-8" y="-17" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="02vexZp_IqWnZ5WZXqgF-9" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="02vexZp_IqWnZ5WZXqgF-4" target="02vexZp_IqWnZ5WZXqgF-5">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="410" y="430" as="sourcePoint" />
<mxPoint x="496" y="404" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="02vexZp_IqWnZ5WZXqgF-10" value="" style="endArrow=classic;html=1;rounded=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;" edge="1" parent="1" source="02vexZp_IqWnZ5WZXqgF-2" target="02vexZp_IqWnZ5WZXqgF-4">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="450" y="350" as="sourcePoint" />
<mxPoint x="496" y="376" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="02vexZp_IqWnZ5WZXqgF-11" value="&lt;font style=&quot;font-size: 20px;&quot; face=&quot;Times New Roman&quot;&gt;c&lt;/font&gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="02vexZp_IqWnZ5WZXqgF-10">
<mxGeometry x="0.1833" relative="1" as="geometry">
<mxPoint x="-10" y="-16" as="offset" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

View File

@ -0,0 +1,256 @@
\chapter{Constraints satisfaction}
\begin{description}
\item[Constraints satisfaction problem (CSP)] \marginnote{Constraints satisfaction problem (CSP)}
Problem defined on a finite set of variables\\$(X_1, \dots, X_n)$,
each belonging to a domain $(D_1, \dots, D_n)$
(notation: $X_i :: [d_{i,1}, \dots, d_{i,m}]$ or $X_i \in [d_{i,1}, \dots, d_{i,m}]$).
A constraint is a relationship between variables (e.g. $X < Y$).
Formally, a constraint $c(X_{k_1}, \dots, X_{k_m})$ is a subset of the cartesian product
$D_{k_1} \times \dots \times D_{k_m}$ of the admissible values of the variables.
A solution to a CSP is an admissible assignment of all the variables.
CSP can be solved as a search problem.
\begin{descriptionlist}
\item[A posteriori algorithms] \marginnote{A posteriori algorithms}
Constraints are checked after the construction of the search tree.
\item[Propagation algorithms] \marginnote{Propagation algorithms}
Once a variable has been assigned,
constraints are propagated to the unassigned variables to prune part of the search space.
\item[Consistency techniques] \marginnote{Consistency techniques}
Constraints are propagated to derive a simpler problem.
\end{descriptionlist}
\end{description}
\section{A posteriori algorithms}
\subsection{Generate and test}
\marginnote{Generate and test}
The search tree is constructed depth-first.
At level $i$, a value is assigned to the variable $X_i$.
Constraints are only checked when a leaf has been reached.
In other words, it computes all the permutations of the values of the variables.
\subsection{Standard backtracking}
\marginnote{Standard backtracking}
The search tree is constructed depth-first.
At level $i$, a value is assigned to the variable $X_i$ and
constraints involving $X_1, \dots, X_i$ are checked.
In case of failure, the path is not further explored.
A problem with this approach is that it requires to backtrack in case of failure
and reassign all the variables in the worst case.
\section{Propagation algorithms}
\subsection{Forward checking}
\marginnote{Forward checking}
The search tree is constructed depth-first.
At level $i$, a value is assigned to the variable $X_i$ and
constraints involving $X_i$ are propagated
to restrict the domain of the remaining unassigned variables.
If the domain of a variable becomes empty, the path is considered a failure and the algorithm backtracks.
\begin{example}
Consider the variables:
\[ X_1 :: [1, 2, 3] \hspace{1cm} X_2 :: [1, 2, 3] \hspace{1cm} X_3 :: [1, 2, 3] \]
and the constraints $X_1 < X_2 < X_3$.
We assign the variables in lexicographic order, at each step we have that:
\begin{enumerate}
\item $X_1 = 1 \hspace{1cm} X_2 :: [\cancel{1}, 2, 3] \hspace{1cm} X_3 :: [\cancel{1}, 2, 3]$
\item $X_1 = 1 \hspace{1cm} X_2 = 2 \hspace{1cm} X_3 :: [\cancel{1}, \cancel{2}, 3]$
\item $X_1 = 1 \hspace{1cm} X_2 = 2 \hspace{1cm} X_3 = 3$
\end{enumerate}
In another scenario, assume that we choose $X_1 = 2$ as first step:
\begin{enumerate}
\item $X_1 = 2 \hspace{1cm} X_2 :: [\cancel{1}, \cancel{2}, 3] \hspace{1cm} X_3 :: [\cancel{1}, \cancel{2}, 3]$
\item $X_1 = 2 \hspace{1cm} X_2 = 3 \hspace{1cm} X_3 :: [\cancel{1}, \cancel{2}, \cancel{3}]$
\end{enumerate}
As the domain of $X_3$ is empty, a search on this branch fails and backtracking is required.
\end{example}
\subsection{Look ahead}
\begin{description}
\item[Partial look ahead (PLA)] \marginnote{Partial look ahead (PLA)}
When a variable $X_i$ has been assigned, it is propagated to unassigned variables (as in forward checking).
Then, for each unassigned variable $X_h$, we check its values against the ones of the variables $X_{h+1}, \dots, X_{n}$ in front of it
(note that the check is not done in both directions).
When checking the values of an unassigned variable $X_p :: D_p$ against $X_q :: D_q$,
we maintain a value $x \in D_p$ only if there is at least a corresponding value $y \in D_q$ such that
an assignment $X_p=x$ and $X_q=y$ does not violate the constraints.
$y$ is called support \marginnote{Support} of $x$.
\begin{example}
Consider the variables and constraints:
\[ X_1 :: [1, 2, 3] \hspace{0.5cm} X_2 :: [1, 2, 3] \hspace{0.5cm} X_3 :: [1, 2, 3] \hspace{1cm} X_1 < X_2 < X_3 \]
We assign the variables in lexicographic order. At each step, we have that:
\begin{enumerate}
\item $X_1 = 1 \hspace{1cm} X_2 :: [\cancel{1}, 2, \cancel{3}] \hspace{1cm} X_3 :: [\cancel{1}, 2, 3]$ \\
Here, we assign $X_1=1$ and propagate to unassigned constraints.
Then, we check the constraints of $(X_2, X_3)$: $X_2 = 3$ is not possible as it does not have a support in $X_3$.
\item $X_1 = 1 \hspace{1cm} X_2 = 2 \hspace{1cm} X_3 :: [\cancel{1}, \cancel{2}, 3]$
\item $X_1 = 1 \hspace{1cm} X_2 = 2 \hspace{1cm} X_3 = 3$
\end{enumerate}
\end{example}
\item[Full look ahead (FLA)] \marginnote{Full look ahead (FLA)}
Same as partial look ahead, but the checks on unassigned variables are bidirectional.
\begin{example}
Consider the variables and constraints:
\[ X_1 :: [1, 2, 3] \hspace{0.5cm} X_2 :: [1, 2, 3] \hspace{0.5cm} X_3 :: [1, 2, 3] \hspace{1cm} X_1 < X_2 < X_3 \]
We assign the variables in lexicographic order. At each step, we have that:
\begin{enumerate}
\item $X_1 = 1 \hspace{1cm} X_2 :: [\cancel{1}, 2, \cancel{3}] \hspace{1cm} X_3 :: [\cancel{1}, \cancel{2}, 3]$ \\
Here, we assign $X_1=1$ and propagate to unassigned constraints.
Then, we check the constraints of:
\begin{itemize}
\item $(X_2, X_3)$: $X_2 = 3$ is not possible as it does not have a support in $X_3$.
\item $(X_3, X_2)$: $X_3 = 2$ is not possible as it does not have a support in $X_2$.
\end{itemize}
Note that checking in a different order might result in different (but correct) domains.
\item $X_1 = 1 \hspace{1cm} X_2 = 2 \hspace{1cm} X_3 = 3$
\end{enumerate}
\end{example}
\end{description}
\section{Search heuristics}
When searching, we have two degrees of freedom:
\begin{enumerate}
\item Selection of the variable to assign.
\item Selection of the value to assign.
\item Strategy for propagation.
\end{enumerate}
Heuristics can be used to make better selections (for the points 1. and 2.):
\begin{descriptionlist}
\item[Variable selection] \marginnote{Variable selection heuristics}
\phantom{}
\begin{description}
\item[First-fail (minimum remaining values)] \marginnote{First-fail}
Choose the variable with the smallest domain.
\item[Most-constrained principle] \marginnote{Most-constrained principle}
Choose the variable that appears the most in the constraints.
In this way, harder variables are ideally assigned first.
\end{description}
\item[Value selection] \marginnote{Value selection heuristics}
The choice of the value to assign to a variable does not have general rules.
\end{descriptionlist}
Moreover, heuristics can be:
\begin{descriptionlist}
\item[Static] \marginnote{Static heuristics}
Computed before the search.
\item[Dynamic] \marginnote{Dynamic heuristics}
Can be computed at each assignment.
\end{descriptionlist}
\section{Consistency techniques}
Consistency techniques reduce the original problem by removing domain values that are surely impossible.
This class of methods can be applied statically before the search or after each assignment.
\begin{description}
\item[Constraint graph] \marginnote{Constraint graph}
Graph where nodes are variables and arcs are constraints.
\begin{itemize}
\item There is a directed arc from $X_i$ to $X_j$ if there is a binary constraint $X_i \circ X_j$.
\item There is a self-loop to $X_i$ if there is a unary constraint on $X_i$.
\end{itemize}
\item[Node consistency (level 1 consistency)] \marginnote{Node consistency}
A node $X_i$ is consistent if all of its values in the domain satisfy the constraints.
A graph is node consistent if all its nodes are consistent.
\item[Arc consistency (level 2 consistency)] \marginnote{Arc consistency}
An arc from $X_i :: D_i$ to $X_j :: D_j$ is consistent if each value of $D_i$ has a support in $D_j$ (as in look ahead).
A graph is arc consistent if all its arcs are consistent.
\begin{description}
\item[AC-3 algorithm] \marginnote{AC-3 algorithm}
A possible algorithm to achieve arc consistency.
Uses a queue to store arcs to explore:
\begin{enumerate}
\item At the beginning, all arcs are in the queue.
\item When evaluating an arc $(X_i, X_j)$,
values in the domain of $X_i$ are removed if they don't have a support in the domain of $X_j$.
\item If the domain of $X_i$ has been modified,
for all the neighbors $X_k$ of $X_i$, the arc $(X_k, X_i)$ is added to the queue.
\item Repeat until empty queue (quiescence).
\end{enumerate}
\end{description}
\begin{example}
Note: when doing the exercises, it is sufficient to iterate until none of the nodes change, without using a queue.
Consider the variables and constraints:
\[ X_1 :: [1, 2, 3] \hspace{0.5cm} X_2 :: [1, 2, 3] \hspace{0.5cm} X_3 :: [1, 2, 3] \hspace{1cm} X_1 < X_2 < X_3 \]
The constraint graph and the iterations to achieve arc consistency are the following:
\begin{minipage}{0.7\textwidth}
\begin{enumerate}
\item We check the following pairs:
\begin{itemize}
\item $(X_1, X_2)$. Here, $X_1 :: [1, 2, \cancel{3}]$.
\item $(X_2, X_1)$. Here, $X_2 :: [\cancel{1}, 2, 3]$.
\item $(X_2, X_3)$. Here, $X_2 :: [\cancel{1}, 2, \cancel{3}]$.
\item $(X_3, X_2)$. Here, $X_3 :: [\cancel{1}, \cancel{2}, 3]$.
\item $(X_1, X_3)$. Here, $X_1 :: [1, 2, \cancel{3}]$ (no changes).
\item $(X_3, X_1)$. Here, $X_3 :: [\cancel{1}, \cancel{2}, 3]$ (no changes).
\end{itemize}
The resulting domains are:
\[ X_1 :: [1, 2, \cancel{3}] \hspace{0.5cm} X_2 :: [\cancel{1}, 2, \cancel{3}] \hspace{0.5cm} X_3 :: [\cancel{1}, \cancel{2}, 3] \]
\item We check the following pairs:
\begin{itemize}
\item $(X_1, X_2)$. Here, $X_1 :: [1, \cancel{2}, \cancel{3}]$.
\item Other pairs do nothing.
\end{itemize}
The resulting domains are:
\[ X_1 :: [1, \cancel{2}, \cancel{3}] \hspace{0.5cm} X_2 :: [\cancel{1}, 2, \cancel{3}] \hspace{0.5cm} X_3 :: [\cancel{1}, \cancel{2}, 3] \]
\end{enumerate}
\end{minipage}
\begin{minipage}{0.20\textwidth}
\includegraphics[width=\linewidth]{img/_constraint_graph.pdf}
\end{minipage}
\end{example}
\item[Path consistency (level 3 consistency)] \marginnote{Path consistency}
A path $(X_i, X_j, X_k)$ is path consistent if $X_i$ and $X_j$ are node consistent, $(X_i, X_j)$ is arc consistent and
for every pair of values in the domains of $X_i$ and $X_j$, there is a support in the domain of $X_k$.
\item[K-consistency] \marginnote{K-consistency}
Generalization of arc/path consistency.
If a problem with $n$ variables is $n$-consistent, the solution can be found without search.
Usually, it is not applicable as it has exponential complexity.
\end{description}

View File

@ -0,0 +1,146 @@
\chapter{Games}
In this course, we are interested in two-player games with
perfect knowledge (both players have the same information on the state of the game).
\section{Minimax algorithm}
\marginnote{Minimax algorithm}
The minimax (min-max) algorithm allows to determine the optimal strategy for a player by
building and propagating utility scores in a tree where each node represents a state of the game.
It considers the player as the entity that maximizes (\textsc{Max}) its utility and
the opponent as the entity that (optimally) minimizes (\textsc{Min}) the utility of the player.
\begin{figure}[h]
\centering
\includegraphics[width=0.5\textwidth]{img/_minmax.pdf}
\caption{Example of game tree with propagated scores}
\end{figure}
In a game tree, each level represents the actions that a single player can do.
In minimax, the levels where the player plays are the \textsc{Max} levels,
while the levels of the opponent are the \textsc{Min} levels.
Given a node $n$ of a game tree,
an iteration of the minimax algorithm can be described as follows:
\begin{descriptionlist}
\item[Expansion]
Expansion of the sub-tree having $n$ as root by considering the possible moves starting from the state of $n$.
The expansion in height stops when a final state is reached or when some predetermined conditions are met
(note that different branches may be expanded with different heights).
The expansion in width stops when all the possible moves have been considered or when some predetermined conditions are met.
\item[Evaluation]
Each leaf is labeled with a score.
For terminal states, a possible score assignment is:
\[ \texttt{utility}(\texttt{state}) = \begin{cases}
+1 & \text{Win} \\
-1 & \text{Loss} \\
0 & \text{Draw}
\end{cases} \]
For non-terminal states, heuristics are required.
\item[Propagation]
Starting from the parents of the leaves, the scores are propagated upwards
by labeling the parents based on the children's scores.
Given an unlabeled node $m$, if $m$ is at a \textsc{Max} level, its label is the maximum of its children's score.
Otherwise (\textsc{Min} level), the label is the minimum of its children's score.
\end{descriptionlist}
\begin{center}
\def\arraystretch{1.2}
\begin{tabular}{c | m{10cm}}
\hline
\textbf{Completeness} & Yes, if the game tree is finite \\
\hline
\textbf{Optimality} & Yes, assuming an optimal opponent (otherwise, it may need more moves) \\
\hline
\textbf{Time complexity}
& $O(b^m)$, with breadth $m$ and branching factor $b$ \\
\hline
\textbf{Space complexity}
& $O(b \cdot m)$, with breadth $m$ and branching factor $b$ \\
\hline
\end{tabular}
\end{center}
\begin{algorithm}
\caption{Minimax}
\begin{lstlisting}[mathescape=true]
def minimax(node, max_depth, who_is_next):
if node.isLeaf() or max_depth == 0:
eval = evaluate(node)
elif who_is_next == ME:
eval = -$\infty$
for c in node.children:
eval = max(eval, minimax(c, max_depth-1, OPPONENT))
elif who_is_next == OPPONENT:
eval = +$\infty$
for c in node.children:
eval = min(eval, minimax(c, max_depth-1, ME))
return eval
\end{lstlisting}
\end{algorithm}
\section{Alpha-beta cuts}
\marginnote{Alpha-beta cuts}
Alpha-beta pruning (cuts) allows to prune subtrees whose state will never be selected (when playing optimally).
$\alpha$ represents the best choice found for \textsc{Max}.
$\beta$ represents the best choice found for \textsc{Min}.
The best case for alpha-beta cuts is when the best nodes are evaluated first.
In this scenario, the theoretical number of nodes to explore is decreased to $O(b^{d/2})$.
In practice, the reduction is of order $O(\sqrt{b^d})$.
In the average case of a random distribution, the reduction is of order $O(b^{3d/4})$.
\begin{algorithm}
\caption{Minimax with alpha-beta cuts}
\begin{lstlisting}[mathescape=true]
def alphabeta(node, max_depth, who_is_next, $\alpha$=-$\infty$, $\beta$=+$\infty$):
if node.isLeaf() or max_depth == 0:
eval = evaluate(node)
elif who_is_next == ME:
eval = -$\infty$
for c in node.children:
eval = max(eval, alphabeta(c, max_depth-1, OPPONENT, $\alpha$, $\beta$))
$\alpha$ = max(eval, $\alpha$)
if eval >= $\beta$: break # cutoff
elif who_is_next == OPPONENT:
eval = +$\infty$
for c in node.children:
eval = min(eval, alphabeta(c, max_depth-1, ME, $\alpha$, $\beta$))
$\beta$ = min(eval, $\beta$)
if eval <= $\alpha$: break # cutoff
return eval
\end{lstlisting}
\end{algorithm}
\begin{figure}[h]
\begin{subfigure}{.3\textwidth}
\centering
\includegraphics[width=\linewidth]{img/alphabeta_algo_example1.png}
\end{subfigure}
\begin{subfigure}{.3\textwidth}
\centering
\includegraphics[width=\linewidth]{img/alphabeta_algo_example2.png}
\end{subfigure}
\begin{subfigure}{.4\textwidth}
\centering
\includegraphics[width=\linewidth]{img/alphabeta_algo_example3.png}
\end{subfigure}
\begin{subfigure}{.4\textwidth}
\centering
\includegraphics[width=\linewidth]{img/alphabeta_algo_example4.png}
\end{subfigure}
\begin{subfigure}{.4\textwidth}
\centering
\includegraphics[width=\linewidth]{img/alphabeta_algo_example5.png}
\end{subfigure}
\caption{Algorithmic (left values) and intuitive (right value) application of alpha-beta}
\end{figure}

View File

@ -0,0 +1,215 @@
\lohead{\color{gray} Not required for the exam}
\lehead{\color{gray} Not required for the exam}
\chapter{Introduction}
\section{AI systems classification}
\subsection{Intelligence classification}
Intelligence is defined as the ability to perceive or infer information and to retain the knowledge for future use.
\begin{description}
\item[Weak AI] \marginnote{Weak AI}
aims to build a system that acts as an intelligent system.
\item[Strong AI] \marginnote{Strong AI}
aims to build a system that is actually intelligent.
\end{description}
\subsection{Capability classification}
\begin{description}
\item[General AI] \marginnote{General AI}
systems able to solve any generalized task.
\item[Narrow AI] \marginnote{Narrow AI}
systems able to solve a particular task.
\end{description}
\subsection{AI approaches}
\begin{description}
\item[Symbolic AI (top-down)] \marginnote{Symbolic AI}
Symbolic representation of knowledge, understandable by humans.
\item[Connectionist approach (bottom-up)] \marginnote{Connectionist approach}
Neural networks. Knowledge is encoded and not understandable by humans.
\end{description}
\section{Symbolic AI}
\begin{description}
\item[Deductive reasoning] \marginnote{Deductive reasoning}
Conclude something given some premises (general to specific).
It is unable to produce new knowledge.
\begin{example}
"All men are mortal" and "Socrates is a man" $\rightarrow$ "Socrates is mortal"
\end{example}
\item[Inductive reasoning] \marginnote{Inductive reasoning}
A conclusion is derived from an observation (specific to general).
Produces new knowledge, but correctness is not guaranteed.
\begin{example}
"Several birds fly" $\rightarrow$ "All birds fly"
\end{example}
\item[Abduction reasoning] \marginnote{Abduction reasoning}
An explanation of the conclusion is found from known premises.
Differently from inductive reasoning, it does not search for a general rule.
Produces new knowledge, but correctness is not guaranteed.
\begin{example}
"Socrates is dead" (conclusion) and "All men are mortal" (knowledge) $\rightarrow$ "Socrates is a man"
\end{example}
\item[Reasoning by analogy] \marginnote{Reasoning by analogy}
Principle of similarity (e.g. k-nearest-neighbor algorithm).
\begin{example}
"Socrates loves philosophy" and Socrates resembles John $\rightarrow$ "John loves philosophy"
\end{example}
\item[Constraint reasoning and optimization] \marginnote{Constraint reasoning}
Constraints, probability, statistics.
\end{description}
\section{Machine learning}
\subsection{Training approach}
\begin{description}
\item[Supervised learning] \marginnote{Supervised learning}
Trained on labeled data (ground truth is known).\\
Suitable for classification and regression tasks.
\item[Unsupervised learning] \marginnote{Unsupervised learning}
Trained on unlabeled data (the system makes its own discoveries).\\
Suitable for clustering and data mining.
\item[Semi-supervised learning] \marginnote{Semi-supervised learning}
The system is first trained to synthesize data in an unsupervised manner,
followed by a supervised phase.
\item[Reinforcement learning] \marginnote{Reinforcement learning}
An agent learns by simulating actions in an environment with rewards and punishments depending on its choices.
\end{description}
\subsection{Tasks}
\begin{description}
\item[Classification] \marginnote{Classification}
Supervised task that, given the input variables $X$ and the output (discrete) categories $Y$,
aims to approximate a mapping function $f: X \rightarrow Y$.
\item[Regression] \marginnote{Regression}
Supervised task that, given the input variables $X$ and the output (continuous) variables $Y$,
aims to approximate a mapping function $f: X \rightarrow Y$.
\item[Clustering] \marginnote{Clustering}
Unsupervised task that aims to organize objects into groups.
\end{description}
\subsection{Neural networks}
\marginnote{Perceptron}
A neuron (\textbf{perceptron}) computes a weighted sum of its inputs and
passes the result to an activation function to produce the output.
\begin{figure}[h]
\centering
\includegraphics[width=0.40\textwidth]{img/neuron.png}
\caption{Representation of an artificial neuron}
\end{figure}
\marginnote{Feed-forward neural network}
A \textbf{feed-forward neural network} is composed of multiple layers of neurons, each connected to the next one.
The first layer is the input layer, while the last is the output layer.
Intermediate layers are hidden layers.
The expressivity of a neural network increases when more neurons are used:
\begin{descriptionlist}
\item[Single perceptron]
Able to compute a linear separation.
\begin{figure}[h]
\centering
\includegraphics[width=0.25\textwidth]{img/1perceptron.png}
\caption{Separation performed by one perceptron}
\end{figure}
\item[Three-layer network]
Able to separate a convex region ($n_\text{edges} \leq n_\text{hidden neurons}$)
\begin{figure}[h]
\centering
\includegraphics[width=0.90\textwidth]{img/3layer.png}
\caption{Separation performed by a three-layer network}
\end{figure}
\item[Four-layer network]
Able to separate regions of arbitrary shape.
\begin{figure}[h]
\centering
\includegraphics[width=0.40\textwidth]{img/4layer.png}
\caption{Separation performed by a four-layer network}
\end{figure}
\end{descriptionlist}
\begin{theorem}[Universal approximation theorem] \marginnote{Universal approximation theorem}
A feed-forward network with one hidden layer and a finite number of neurons is
able to approximate any continuous function with desired accuracy.
\end{theorem}
\begin{description}
\item[Deep learning] \marginnote{Deep learning}
Neural network with a large number of layers and neurons.
The learning process is hierarchical: the network exploits simple features in the first layers and
synthesizes more complex concepts while advancing through the layers.
\end{description}
\section{Automated planning}
Given an initial state, a set of actions and a goal,
\textbf{automated planning} aims to find a partially or totally ordered sequence of actions to achieve a goal. \marginnote{Automated planning}
An \textbf{automated planner} is an agent that operates in a given domain described by:
\begin{itemize}
\item Representation of the initial state
\item Representation of a goal
\item Formal description of the possible actions (preconditions and effects)
\end{itemize}
\section{Swarm intelligence}
\marginnote{Swarm intelligence}
Decentralized and self-organized systems that result in emergent behaviors.
\section{Decision support systems}
\begin{description}
\item[Knowledge based system] \marginnote{Knowledge based system}
Use knowledge (and data) to support human decisions.
Bottlenecked by knowledge acquisition.
\end{description}
Different levels of decision support exist:
\begin{descriptionlist}
\item[Descriptive analytics] \marginnote{Descriptive analytics}
Data are used to describe the system (e.g. dashboards, reports, \dots).
Human intervention is required.
\item[Diagnostic analytics] \marginnote{Diagnostic analytics}
Data are used to understand causes (e.g. fault diagnosis)
Decisions are made by humans.
\item[Predictive analytics] \marginnote{Predictive analytics}
Data are used to predict future evolutions of the system.
Uses machine learning models or simulators (digital twins)
\item[Prescriptive analytics] \marginnote{Prescriptive analytics}
Make decisions by finding the preferred scenario.
Uses optimization systems, combinatorial solvers or logical solvers.
\end{descriptionlist}
\newpage
\lohead{}
\lehead{}

View File

@ -0,0 +1,295 @@
\chapter{Local search}
\begin{description}
\item[Local search] \marginnote{Local search}
Starting from an initial state, iteratively improves it by making local moves in a neighborhood.
Useful when the path to reach the solution is not important (i.e. no optimality).
\item[Neighborhood] \marginnote{Neighborhood}
Given a set of states $\mathcal{S}$, a neighborhood is a function:
\[ \mathcal{N}: S \rightarrow 2^\mathcal{S} \]
In other words, for each $s \in \mathcal{S}$, $\mathcal{N}(s) \subseteq \mathcal{S}$.
\begin{example}[Travelling salesman problem]
Problem: find a Hamiltonian tour of minimum cost in an undirected graph.
A possible neighborhood of a state applies the $k$-exchange that guarantees to maintain a Hamiltonian tour.
\begin{figure}[ht]
\begin{subfigure}{.5\textwidth}
\centering
\includegraphics[width=.70\linewidth]{img/tsp_2-exchange.png}
\caption{2-exchange}
\end{subfigure}%
\begin{subfigure}{.5\textwidth}
\centering
\includegraphics[width=.70\linewidth]{img/tsp_3-exchange.png}
\caption{3-exchange}
\end{subfigure}
\end{figure}
\end{example}
\item[Local optima]
Given an evaluation function $f$,
a local optima (maximization case) is a state $s$ such that:
\[ \forall s' \in \mathcal{N}(s): f(s) \geq f(s') \]
\item[Global optima]
Given an evaluation function $f$,
a global optimum (maximization case) is a state $s_\text{opt}$ such that:
\[ \forall s \in \mathcal{S}: f(s_\text{opt}) \geq f(s) \]
Note: a larger neighborhood usually allows to obtain better solutions.
\item[Plateau]
Flat area of the evaluation function.
\item[Ridges]
Higher area of the evaluation function that is not directly reachable.
\end{description}
\section{Iterative improvement (hill climbing)}
\marginnote{Iterative improvement (hill climbing)}
Algorithm that only performs moves that improve the current solution.
It does not keep track of the explored states (i.e. may return to a previously visited state) and
stops after reaching a local optima.
\begin{algorithm}
\caption{Iterative improvement}
\begin{lstlisting}
def iterativeImprovement(problem):
s = problem.initial_state
while noImprovement():
s = bestOf(problem.neighborhood(s))
\end{lstlisting}
\end{algorithm}
\section{Meta heuristics}
\marginnote{Meta heuristics}
Methods that aim to improve the final solution.
Can be seen as a search process over graphs:
\begin{descriptionlist}
\item[Neighborhood graph] The search space topology.
\item[Search graph] The explored space.
\end{descriptionlist}
\begin{figure}[ht]
\begin{subfigure}{.5\textwidth}
\centering
\includegraphics[width=.55\linewidth]{img/_local_search_neigh_graph.pdf}
\caption{Neighborhood graph}
\end{subfigure}%
\begin{subfigure}{.5\textwidth}
\centering
\includegraphics[width=.60\linewidth]{img/_local_search_search_graph.pdf}
\caption{Search graph. Edges are probabilities}
\end{subfigure}
\end{figure}
Meta heuristics aim to find a balance between:
\begin{descriptionlist}
\item[Intensification] \marginnote{Intensification}
Look for moves near the neighborhood.
\item[Diversification] \marginnote{Diversification}
Look for moves somewhere else.
\end{descriptionlist}
Different termination criteria can be used with meta heuristics:
\begin{itemize}
\item Time constraints.
\item Iterations limit.
\item Absence of improving moves (stagnation).
\end{itemize}
\subsection{Simulated annealing}
\marginnote{Simulated annealing}
Occasionally allow moves that worsen the current solution.
The probability of this to happen is:
\[
\frac{e^{f(s) - f(s')}}{T}
\]
where $s$ is the current state, $s'$ is the next move and $T$ is the temperature.
The temperature is updated at each iteration and can be:
\begin{descriptionlist}
\item[Logarithmic] $T_{k+1} = \Gamma / \log(k + k_0) $
\item[Geometric] $T_{k+1} = \alpha T_k$, where $\alpha \in\, ]0, 1[$
\item[Non-monotonic] $T$ is alternatively decreased (intensification) and increased (diversification).
\end{descriptionlist}
\begin{algorithm}
\caption{Meta heuristics -- Simulated annealing}
\begin{lstlisting}[mathescape=true]
def simulatedAnnealing(problem, T0):
s = problem.initial_state
T, k = T0, 0
while not terminationConditions():
s_next = randomOf(problem.neighborhood(s))
if (problem.f(s_next) > problem.f(s) or
downHillWithProbability($e^{\texttt{problem.f(\texttt{s}) - problem.f(s\_next)}} \texttt{/ T}$)):
s = s_next
k += 1
update(T, k)
\end{lstlisting}
\end{algorithm}
\subsection{Tabu search}
\marginnote{Tabu search}
Keep track of the last $n$ explored solutions in a tabu list and forbid them.
Allows to escape from local optima and cycles.
Since keeping track of the visited solutions is inefficient,
moves can be stored instead but, with this approach, some still not visited solutions may be cut off.
\textbf{Aspiration criteria} can be used to allow forbidden moves in the tabu list to be evaluated.
\begin{algorithm}
\caption{Meta heuristics -- Tabu search}
\begin{lstlisting}[mathescape=true]
def tabuSearch(problem, T0):
s = problem.initial_state
tabu_list = [] # limited to n elements
T, k = T0, 0
while not terminationConditions():
allowed_s = $\{ s' \in \mathcal{N}(s): s' \notin \texttt{tabu\_list} \texttt{ or } \texttt{aspiration condition satisfied} \}$
s = bestOf(allowed_s)
updateTabuListAndAspirationConditions()
k += 1
update(T, k)
\end{lstlisting}
\end{algorithm}
\subsection{Iterated local search}
\marginnote{Iterated local search}
Based on two steps:
\begin{descriptionlist}
\item[Subsidiary local search steps] Efficiently reach a local optimum (intensification).
\item[Perturbation steps] Escape from a local optima (diversification).
\end{descriptionlist}
In addition, an acceptance criterion controls the two steps.
\begin{algorithm}
\caption{Meta heuristics -- Iterated local search}
\begin{lstlisting}[mathescape=true]
def tabuSearch(problem):
s = localSearch(problem.initial_state)
while not terminationConditions():
s_perturbation = perturbation(s, history)
s_local = localSearch(s_perturbation)
s = acceptanceCriterion(s, s_local, history)
\end{lstlisting}
\end{algorithm}
\subsection{Population based (genetic algorithm)}
\marginnote{Population based (genetic algorithm)}
Population based meta heuristics are built on the following concepts:
\begin{descriptionlist}
\item[Adaptation] Organisms are suited to their environment.
\item[Inheritance] Offspring resemble their parents.
\item[Natural selection] Fit organisms have many offspring while others become extinct.
\end{descriptionlist}
\begin{table}[ht]
\centering
\begin{tabular}{c | c}
\textbf{Biology} & \textbf{Artificial intelligence} \\
\hline
Individuals & Possible solution \\
Fitness & Quality \\
Environment & Problem \\
\end{tabular}
\caption{Biological evolution metaphors}
\end{table}
% The evolutionary cycle of a genetic algorithm has the following steps:
% \begin{descriptionlist}
% \item[Recombination] Combine the genetic material of the parents.
% \item[Mutation] Introduce variability.
% \item[Selection] Selection of the parents.
% \item[Replacement/Insertion] Define the new population.
% \end{descriptionlist}
The following terminology will be used:
\begin{descriptionlist}
\item[Population] Set of individuals (solutions).
\item[Genotypes] Individuals of a population.
\item[Genes] Units of chromosomes.
\item[Alleles] Domain of values of a gene.
\end{descriptionlist}
\begin{figure}[ht]
\centering
\includegraphics[width=0.5\textwidth]{img/_genetic_terminology.pdf}
\caption{}
\end{figure}
Genetic operators are:
\begin{descriptionlist}
\item[Recombination/Crossover]
Cross-combination of two chromosomes.
\begin{center}
\includegraphics[width=0.5\textwidth]{img/_genetic_crossover.pdf}
\end{center}
\item[Mutation]
Random modification of genes.
\begin{center}
\includegraphics[width=0.2\textwidth]{img/_genetic_mutation.pdf}
\end{center}
\item[Proportional selection]
Probability of an individual to be chosen as parent of the next offspring.
Depends on the fitness.
\item[Generational replacement]
Create the new generation. Possible approaches are:
\begin{itemize}
\item Completely replace the old generation with the new one.
\item Keep the best $n$ individual from the new and old population.
\end{itemize}
\end{descriptionlist}
\begin{example}[Real-valued genetic operators]
Solution $x \in [a, b]$ with $a, b \in \mathbb{R}$.
\begin{descriptionlist}
\item[Mutation] Random perturbation: $x \rightarrow x \pm \delta$, as long as $x \pm \delta \in [a, b]$.
\item[Crossover] Linear combination: $x = \lambda_1 y_1 + \lambda_2 y_2$, as long as $x \in [a, b]$.
\end{descriptionlist}
\end{example}
\begin{example}[Permutation genetic operators]
Solution $x = (x_1, \dots, x_n)$ is a permutation of $(1, \dots, n)$.
\begin{descriptionlist}
\item[Mutation] Random exchange of two elements at index $i$ and $j$, with $i \neq j$.
\item[Crossover] Crossover avoiding repetitions.
\end{descriptionlist}
\end{example}
\begin{figure}[ht]
\centering
\includegraphics[width=0.4\textwidth]{img/_genetic_cycle.pdf}
\caption{Evolutionary cycle}
\end{figure}
\begin{algorithm}
\caption{Meta heuristics -- Genetic algorithm}
\begin{lstlisting}[mathescape=true]
def geneticAlgorithm(problem):
population = problem.initPopulation()
evaluate(population)
while not terminationConditions():
offspring = []
while not offspringComplete(offspring):
p1, p2 = selectParents(population)
new_individual = crossover(p1, p2)
new_individual = mutation(new_individual)
offspring.append(new_individual)
population = offspring
evaluate(population)
\end{lstlisting}
\end{algorithm}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,409 @@
\chapter{Search problems}
\section{Search strategies}
\begin{description}
\item[Solution space] \marginnote{Solution space}
Set of all the possible sequences of actions an agent may apply.
Some of these lead to a solution.
\item[Search algorithm] \marginnote{Search algorithm}
Takes a problem as input and returns a sequence of actions that solves the problem (if exists).
\end{description}
\subsection{Search tree}
\begin{description}
\item[Expansion] \marginnote{Expansion}
Starting from a state, apply a successor function and generate a new state.
\item[Search strategy] \marginnote{Search strategy}
Choose which state to expand.
Usually is implemented using a fringe that decides which is the next node to expand.
\item[Search tree] \marginnote{Search tree}
Tree structure to represent the expansion of all states starting from a root
(i.e. the representation of the solution space).
Nodes are states and branches are actions.
A leaf can be a state to expand, a solution or a dead-end.
\Cref{alg:search_tree_search} describes a generic tree search algorithm.
\begin{figure}[h]
\centering
\includegraphics[width=0.25\textwidth]{img/_search_tree.pdf}
\caption{Search tree}
\end{figure}
Each node contains:
\begin{itemize}
\item The state
\item The parent node
\item The action that led to this node
\item The depth of the node
\item The cost of the path from the root to this node
\end{itemize}
\end{description}
\begin{algorithm}
\caption{Tree search} \label{alg:search_tree_search}
\begin{lstlisting}
def treeSearch(problem, fringe):
fringe.push(problem.initial_state)
# Get a node in the fringe and expand it if it is not a solution
while fringe.notEmpty():
node = fringe.pop()
if problem.isGoal(node.state):
return node.solution
fringe.pushAll(expand(node, problem))
return FAILURE
def expand(node, problem):
successors = set()
# List all neighboring nodes
for action, result in problem.successor(node.state):
s = new Node(
parent=node, action=action, state=result, depth=node.dept+1,
cost=node.cost + problem.pathCost(node, s, action)
)
successors.add(s)
return successors
\end{lstlisting}
\end{algorithm}
\subsection{Strategies}
\begin{description}
\item[Non-informed strategy] \marginnote{Non-informed strategy}
Domain knowledge is not available. Usually does an exhaustive search.
\item[Informed strategy] \marginnote{Informed strategy}
Use domain knowledge by using heuristics.
\end{description}
\subsection{Evaluation}
\begin{description}
\item[Completeness] \marginnote{Completeness}
if the strategy is guaranteed to find a solution (when exists).
\item[Time complexity] \marginnote{Time complexity}
time needed to complete the search.
\item[Space complexity] \marginnote{Space complexity}
memory needed to complete the search.
\item[Optimality] \marginnote{Optimality}
if the strategy finds the best solution (when more solutions are possible).
\end{description}
\section{Non-informed search}
\subsection{Breadth-first search (BFS)}
\marginnote{Breadth-first search}
Always expands the least deep node. The fringe is implemented as a queue (FIFO).
\begin{center}
\def\arraystretch{1.2}
\begin{tabular}{c | m{10cm}}
\hline
\textbf{Completeness} & Yes \\
\hline
\textbf{Optimality} & Only with uniform cost (i.e. all edges have the same cost) \\
\hline
\textbf{\makecell{Time and space\\complexity}}
& $O(b^d)$, where the solution depth is $d$ and the branching factor is $b$ (i.e. each non-leaf node has $b$ children) \\
\hline
\end{tabular}
\end{center}
The exponential space complexity makes BFS impractical for large problems.
\begin{figure}[h]
\centering
\includegraphics[width=0.30\textwidth]{img/_bfs.pdf}
\caption{BFS visit order}
\end{figure}
\subsection{Uniform-cost search}
\marginnote{Uniform-cost search}
Same as BFS, but always expands the node with the lowest cumulative cost.
\begin{center}
\def\arraystretch{1.2}
\begin{tabular}{c | m{10cm}}
\hline
\textbf{Completeness} & Yes \\
\hline
\textbf{Optimality} & Yes \\
\hline
\textbf{\makecell{Time and space\\complexity}}
& $O(b^d)$, with solution depth $d$ and branching factor $b$ \\
\hline
\end{tabular}
\end{center}
\begin{figure}[h]
\centering
\includegraphics[width=0.50\textwidth]{img/_ucs.pdf}
\caption{Uniform-cost search visit order. $(n)$ is the cumulative cost}
\end{figure}
\subsection{Depth-first search (DFS)}
\marginnote{Depth-first search}
Always expands the deepest node. The fringe is implemented as a stack (LIFO).
\begin{center}
\def\arraystretch{1.2}
\begin{tabular}{c | m{10cm}}
\hline
\textbf{Completeness} & No (loops) \\
\hline
\textbf{Optimality} & No \\
\hline
\textbf{Time complexity}
& $O(b^m)$, with maximum depth $m$ and branching factor $b$ \\
\hline
\textbf{Space complexity}
& $O(b \cdot m)$, with maximum depth $m$ and branching factor $b$ \\
\hline
\end{tabular}
\end{center}
\begin{figure}[h]
\centering
\includegraphics[width=0.30\textwidth]{img/_dfs.pdf}
\caption{DFS visit order}
\end{figure}
\subsection{Depth-limited search}
\marginnote{Depth-limited search}
Same as DFS, but introduces a maximum depth.
A node at the maximum depth will not be explored further.
This allows to avoid infinite branches (i.e. loops).
\subsection{Iterative deepening}
\marginnote{Iterative deepening}
Runs a depth-limited search by trying all possible depth limits.
It is important to note that each iteration is executed from scratch (i.e. a new execution of depth-limited search).
\begin{algorithm}
\caption{Iterative deepening}
\begin{lstlisting}
def iterativeDeepening(G):
for c in range(G.max_depth):
sol = depthLimitedSearch(G, c)
if sol is not FAILURE:
return sol
return FAILURE
\end{lstlisting}
\end{algorithm}
Both advantages of DFS and BFS are combined.
\begin{center}
\def\arraystretch{1.2}
\begin{tabular}{c | m{10cm}}
\hline
\textbf{Completeness} & Yes \\
\hline
\textbf{Optimality} & Only with uniform cost \\
\hline
\textbf{Time complexity}
& $O(b^d)$, with solution depth $d$ and branching factor $b$ \\
\hline
\textbf{Space complexity}
& $O(b \cdot d)$, with solution depth $d$ and branching factor $b$ \\
\hline
\end{tabular}
\end{center}
\section{Informed search}
\marginnote{Informed search}
Informed search uses evaluation functions (heuristics) to reduce the search space and
estimate the effort needed to reach the final goal.
\subsection{Best-first search}
\marginnote{Best-first seacrh}
Uses heuristics to compute the desirability of the nodes (i.e. how close they are to the goal).
The fringe is ordered according to the estimated scores.
\begin{description}
\item[Greedy search / Hill climbing]
\marginnote{Greedy search / Hill climbing}
The heuristic only evaluates nodes individually and does not consider the path to the root
(i.e. expands the node that currently seems closer to the goal).
\begin{center}
\def\arraystretch{1.2}
\begin{tabular}{c | m{9cm}}
\hline
\textbf{Completeness} & No (loops) \\
\hline
\textbf{Optimality} & No \\
\hline
\textbf{\makecell{Time and space\\complexity}}
& $O(b^d)$, with solution depth $d$ and branching factor $b$ \\
\hline
\end{tabular}
\end{center}
% The complexity can be reduced depending on the heuristic.
\begin{figure}[ht]
\centering
\includegraphics[width=0.65\textwidth]{img/_greedy_best_first_example.pdf}
\caption{Hill climbing visit order}
\end{figure}
\item[A$^\textbf{*}$]
\marginnote{A$^*$}
The heuristic also considers the cumulative cost needed to reach a node from the root.
The score associated to a node $n$ is:
\[ f(n) = g(n) + h'(n) \]
where $g$ is the depth of the node and $h'$ is the heuristic that computes the distance to the goal.
\begin{description}
\item[Optimistic/Feasible heuristic]
\marginnote{Optimistic/Feasible heuristic}
Given $t(n)$ that computes the true distance of a node $n$ to the goal.
An heuristic $h'(n)$ is optimistic (i.e. feasible) if:
\[ h'(n) \leq t(n) \]
In other words, $h'$ is optimistic if it always underestimates the distance to the goal.
\end{description}
\begin{theorem}
If the heuristic used by A${^*}$ is optimistic $\Rightarrow$ A${^*}$ is optimal
\end{theorem}
\begin{proof}
Consider a scenario where the queue contains:
\begin{itemize}
\item A node $n$ whose child is the optimal solution
\item A sub-optimal solution $G_2$
\end{itemize}
\begin{center}
\includegraphics[width=0.5\textwidth]{img/_a_start_optimality.pdf}
\end{center}
We want to prove that A$^*$ will always expand $n$.
Given an optimistic heuristic $f(n) = g(n) + h'(n)$ and
the true distance of a node $n$ to the goal $t(n)$,
we have that:
\[
\begin{split}
f(G_2) &= g(G_2) + h'(G_2) = g(G_2) \text{, as } G_2 \text{ is a solution: } h'(G_2)=0 \\
f(G) &= g(G) + h'(G) = g(G) \text{, as } G \text{ is a solution: } h'(G)=0
\end{split}
\]
Moreover, $g(G_2) > g(G)$ as $G_2$ is suboptimal.
Therefore, $\bm{f(G_2) > f(G)}$.
Furthermore, as $h'$ is feasible, we have that:
\[
\begin{split}
h'(n) \leq t(n) &\iff g(n) + h'(n) \leq g(n) + t(n) = g(G)=f(G) \\
&\iff \bm{f(n) \leq f(G)}
\end{split}
\]
In the end, we have that $f(G_2) > f(G) \geq f(n)$.
So we can conclude that A$^*$ will never expand $G_2$ as:
\[ f(G_2) > f(n) \]
\end{proof}
\begin{center}
\def\arraystretch{1.2}
\begin{tabular}{c | m{9cm}}
\hline
\textbf{Completeness} & Yes \\
\hline
\textbf{Optimality} & Only if the heuristic is optimistic \\
\hline
\textbf{\makecell{Time and space\\complexity}}
& $O(b^d)$, with solution depth $d$ and branching factor $b$ \\
\hline
\end{tabular}
\end{center}
In general, it is better to use heuristics with large values (i.e. heuristics that don't underestimate too much).
\begin{figure}[ht]
\centering
\includegraphics[width=0.65\textwidth]{img/_a_start_example.pdf}
\caption{A$^*$ visit order}
\end{figure}
\end{description}
\section{Graph search}
\marginnote{Graph search}
Differently from a tree search, searching in a graph requires to keep track of the explored nodes.
\begin{algorithm}
\caption{Graph search} \label{alg:search_graph_search}
\begin{lstlisting}
def graphSearch(problem, fringe):
closed = set()
fringe.push(problem.initial_state)
# Get a node in the fringe and
# expand it if it is not a solution and is not closed
while fringe.notEmpty():
node = fringe.pop()
if problem.isGoal(node.state):
return node.solution
if node.state not in closed:
closed.add(node.state)
fringe.pushAll(expand(node, problem))
return FAILURE
\end{lstlisting}
\end{algorithm}
\subsection{A$^\textbf{*}$ with graphs}
\marginnote{A$^*$ with graphs}
The algorithm keeps track of closed and open nodes.
The heuristic $g(n)$ evaluates the minimum distance from the root to the node $n$.
\begin{description}
\item[Consistent heuristic (monotone)] \marginnote{Consistent heuristic (monotone)}
An heuristic is consistent if for each $n$, for any successor $n'$ of $n$ (i.e. nodes reachable from $n$ by making an action)
holds that:
\[
\begin{cases}
h(n) = 0 & \text{if the corresponding status is the goal} \\
h(n) \leq c(n, a, n') + h(n') & \text{otherwise}
\end{cases}
\]
where $c(n, a, n')$ is the cost to reach $n'$ from $n$ by taking the action $a$.
In other words, $f$ never decreases along a path.
In fact:\\
\begin{minipage}{.48\linewidth}
\[
\begin{split}
f(n') &= g(n') + h(n') \\
&= g(n) + c(n, a, n') + h(n') \\
&\geq g(n) + h(n) \\
&= f(n)
\end{split}
\]
\end{minipage}
\begin{minipage}{.48\linewidth}
\centering
\includegraphics[width=0.3\textwidth]{img/monotone_heuristic.png}
\end{minipage}
\begin{theorem}
If $h$ is a consistent heuristic, A$^*$ on graphs is optimal.
\end{theorem}
\end{description}

View File

@ -0,0 +1,255 @@
\chapter{Swarm intelligence}
\begin{description}
\item[Swarm intelligence] \marginnote{Swarm intelligence}
Group of locally interacting agents that
shows an emergent behavior without a centralized control system.
A swarm intelligent system has the following features:
\begin{itemize}
\item Individuals are simple and have limited capabilities.
\item Individuals are not aware of the global view.
\item Individuals have local direct or indirect communication patterns.
\item The computation is distributed and not centralized.
\item The system works even if some individuals "break" (robustness).
\item The system adapts to changes.
\end{itemize}
Agents interact with each other and obtain positive and negative feedbacks.
\item[Stigmergy] \marginnote{Stigmergy}
Form of indirect communication where an agent modifies the environment and the others react to it.
\end{description}
\section{Ant colony optimization (ACO)}
Ants release pheromones while walking from the nest to the food.
They also tend to prefer paths marked with the highest pheromone concentration.
\begin{description}
\item[Ant colony optimization] \marginnote{Ant colony optimization (ACO)}
Probabilistic parametrized model that builds the solution incrementally.
A problem is solved by making stochastic steps in a fully connected graph (construction graph) $G=(C, L)$ where:
\begin{itemize}
\item The vertexes $C$ are the solution components.
\item The edges $L$ are connections.
\item The paths on $G$ are states.
\end{itemize}
Additional constraints may be added if needed.
\begin{example}[Travelling salesman]
The construction graph can be defined as:
\begin{itemize}
\item Nodes are cities.
\item Edges are connections between cities.
\item A solution is a Hamiltonian path in the graph.
\item Constraints to avoid sub-cycles (i.e. avoid visiting a city multiple times).
\end{itemize}
\end{example}
\item[Pheromone] \marginnote{Pheromone}
Value associated to each node and each edge to estimate the quality of the solution.
\item[Heuristic values] \marginnote{Heuristic values}
Value associated to each node and each edge to represent the prior background knowledge.
\end{description}
\subsection{ACO system}
\begin{description}
\item[Transition rule] \marginnote{ACO system}
Ants build a path on the construction graph based on a transition rule that uses pheromones and heuristics.
The probability of choosing the node $j$ starting from $i$
is parametrized on $\alpha$ (pheromones) and $\beta$ (heuristics), and is defined as:
\[ p_{\alpha, \beta}(i, j) = \begin{cases}
\frac{(\tau_{ij})^\alpha \cdot (\eta_{ij})^\beta}{\sum_{k \in \texttt{feasible\_nodes}} (\tau_{ik})^\alpha \cdot (\eta_{ik})^\beta} & \text{if } $j$ \text{ consistent} \\
0 & \text{otherwise}
\end{cases} \]
where $\tau_{ij}$ is the pheromone trail from $i$ to $j$ and $\eta_{ij} = \frac{1}{d_{ij}}$ is the heuristic ($d_{ij}$ is the distance).
\item[Pheromone update]
After each step, the pheromone trail is updated depending on an evaporation factor $\rho \in [0, 1]$:
\[ \tau_{ij} = (1 - \rho) \tau_{ij} + \sum_{k=1}^{n_\text{ants}} \Delta \tau_{ij}^{(k)} \]
$\Delta \tau_{ij}^{(k)}$ of the $k$-th ant is defined as:
\[ \Delta \tau_{ij}^{(k)} = \begin{cases}
\frac{1}{L_k} & \text{if ant } k \text{ used the arch } (i, j) \\
0 & \text{otherwise}
\end{cases} \]
where $L_k$ is the length of the path followed by the $k$-th ant.
For the best ant, the update also affects all the components on the path crossed by the ant.
\item[Daemon actions]
Centralized actions performed on each solution built by the ants.
These actions cannot be performed by single ants and are useful to improve the solution using global information.
In practice, a local search can be applied to push the result towards a better solution.
\end{description}
\begin{algorithm}
\caption{ACO system}
\begin{lstlisting}[mathescape=true]
def acoSystem(problem, $\alpha$, $\beta$):
initPheromones()
while not terminationConditions():
antBasedSolutionConstruction($\alpha$, $\beta$)
pheromonesUpdate()
daemonActions() # Optional
\end{lstlisting}
\end{algorithm}
\section{Artificial bee colony algorithm (ABC)}
\marginnote{Artificial bee colony algorithm (ABC)}
System where the position of nectar sources represents the solutions and
the quantity of nectar sources represents the fitness of the solution.
Artificial bees can be:
\begin{descriptionlist}
\item[Employed]
Bee associated to a specific nectar source (intensification) (i.e. it represents a solution).
\item[Onlooker]
Bee that is observing the employed bees and is choosing its nectar source.
\item[Scout]
Bee that discovers new food sources (diversification).
\end{descriptionlist}
The algorithm has the following phases:
\begin{descriptionlist}
\item[Initialization]
The initial nectar source of each bee is determined randomly.
Each solution (nectar source) is a vector $\vec{x}_m \in \mathbb{R}^n$ and
each of its components is initialized constrained to a lower ($l_i$) and upper ($u_i$) bound:
\[ \vec{x}_m\texttt{[}i\texttt{]} = l_i + \texttt{rand}(0, 1) \cdot (u_i - l_i) \]
\item[Employed bees]
Starting from their assigned nectar source, employed bees look in their neighborhood for a new food source with more fitness (more nectar).
The fitness (for minimization problems) of a food source $\vec{x}_m$ is determined as:
\[ \texttt{fit}(\vec{x}_m) = \begin{cases}
\frac{1}{1 + \texttt{obj}(\vec{x}_m)} & \text{if } \vec{x}_m \geq 0 \\
1 + \vert \texttt{obj}(\vec{x}_m) \vert & \text{if } \vec{x}_m < 0 \\
\end{cases} \]
where \texttt{obj} is the objective function.
\item[Onlooker bees]
Onlooker bees stochastically choose their food source.
Each food source $\vec{x}_m$ has a probability associated to it defined as:
\[ p_m = \frac{\texttt{fit}(\vec{x}_m)}{\sum_{i=1}^{n_\text{bees}} \texttt{fit}(\vec{x}_i)} \]
This provides a positive feedback as more promising solutions have a higher probability of being chosen.
\item[Scout bees]
Scout bees choose a nectar source randomly.
An employed bee that cannot improve its solution after a given number of attempts {\tiny(gets fired and)} becomes a scout (negative feedback).
\end{descriptionlist}
\begin{algorithm}
\caption{ABC}
\begin{lstlisting}[mathescape=true]
def abcAlgorithm(problem):
initPhase()
sol = None
while not terminationConditions():
employedBeesPhase()
onlookerBeesPhase()
scoutBeesPhase()
sol = getCurrentBest()
\end{lstlisting}
\end{algorithm}
\section{Particle swarm optimization (PSO)}
\marginnote{Particle swarm optimization (PSO)}
In a bird flock, the movement of the individuals tends to:
\begin{itemize}
\item Follow the neighbors.
\item Stay in the flock.
\item Avoid collisions.
\end{itemize}
However, a model based on these rules does not have a common objective.
PSO introduces as a common objective the search for food.
Each individual who finds food can:
\begin{itemize}
\item Move away from the flock and reach the food.
\item Stay in the flock.
\end{itemize}
Following the movement rules, the entire flock will gradually move towards promising areas.
Applied to optimization problems, the bird flock metaphor can be interpreted as:
\begin{descriptionlist}
\item[Bird]
Agent that represents a possible solution that is progressively improved (exploration).
\item[Social interaction]
Exploiting the knowledge of other agents to move towards a global solution (exploitation).
\item[Neighborhood]
Individuals are affected by the actions of others close to them and are part of one or more sub-groups.
Note that sub-groups are not necessarily defined by physical proximity.
\end{descriptionlist}
Given a cost function $f: \mathbb{R}^n \rightarrow \mathbb{R}$ to minimize (gradient is not known),
PSO initializes a swarm of particles (agents) whose movement is guided by the best-known position.
Each particle is described by:
\begin{itemize}
\item Its position $\vec{x}_i \in \mathbb{R}^n$ in the search space.
\item A velocity $\vec{v}_i \in \mathbb{R}^n$ that controls the movement of the particle.
\item The best solution $\vec{p}_i$ it has found so far.
\end{itemize}
\begin{algorithm}
\caption{PSO}
\begin{lstlisting}[mathescape=true]
def pso(f, n_particles, $\vec{l}$, $\vec{u}$, $\omega$, $\varphi_p$, $\varphi_g$):
particles = [Particle()] * n_particles
gb = None # Global best
for particle in particles:
particle.value = randomUniform($\vec{l}$, $\vec{u}$) # Search space bounds
particle.vel = randomUniform($-\vert \vec{u}-\vec{l} \vert$, $\vert \vec{u}-\vec{l} \vert$)
particle.best = particle.value
if f(particles.best) < f(gb): gb = particles.best
while not terminationConditions():
for particle in particles:
$r_p$, $r_g$ = randomUniform(0, 1), randomUniform(0, 1)
$\vec{x}_i$, $\vec{p}_i$, $\vec{v}_i$ = particle.value, particle.best, particle.vel
particle.vel = $\omega$*$\vec{v}_i$ + $\varphi_p$*$r_p$*($\vec{p}_i$-$\vec{x}_i$) + $\varphi_g$*$r_g$*(gb-$\vec{x}_i$)
particle.value = particle.value + particle.vel
if f(particle.value) < f(particle.best):
particle.best = particle.value
if f(particle.best) < f(gb): gb = particle.best
\end{lstlisting}
\end{algorithm}
% \begin{algorithm}
% \caption{PSO algorithm}
% \begin{lstlisting}[mathescape=true]
% def pco(f, $\omega$, $\varphi_p$, $\varphi_g$):
% particles = initParticles($\vec{l}$, $\vec{u}$)
% particles_best = [None] * len(particles)
% velocities = [None] * len(particles)
% global_best = None
% for i in range(len(particles)):
% velocities[i] = randomUniform($-\vert \vec{u}-\vec{l} \vert$, $\vert \vec{u}-\vec{l} \vert$)
% particles_best[i] = particles[i]
% if f(particles_best[i]) < f(g): g = particles_best[i]
% while not terminationConditions():
% for i in range(len(particles)):
% $r_p$, $r_g$ = randomUniform(0, 1), randomUniform(0, 1)
% $\vec{x}_i$, $\vec{p}_i$, $\vec{v}_i$ = particles[i], particles_best[i], velocities[i]
% $\vec{g}$ = global_best
% velocities[i] = $\omega$*$\vec{v}_i$ + $\varphi_p$*$r_p$*($\vec{p}_i$-$\vec{x}_i$) + $\varphi_g$*$r_g$*($\vec{g}$-$\vec{x}_i$)
% particles[i] = particles[i] + velocities[i]
% if f(particles[i]) < f(particles_best[i]):
% particles_best[i] = particles[i]
% if f(particles_best[i]) < f(g): g = particles_best[i]
% \end{lstlisting}
% \end{algorithm}