mirror of
https://github.com/NotXia/unibo-ai-notes.git
synced 2026-06-21 23:42:24 +00:00
Add FAIKR1 non-linear planning
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -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="<font style="font-size: 20px;" face="Times New Roman">Start</font>" 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="<font style="font-size: 20px;" face="Times New Roman">End</font>" 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="<font style="font-size: 18px;" face="Times New Roman">Add action<br style="font-size: 18px;"></font>" 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="<font style="font-size: 18px;" face="Times New Roman">Add ordering<br style="font-size: 18px;"></font>" 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="<font style="font-size: 18px;" face="Times New Roman">Add causal link<br style="font-size: 18px;"></font>" 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="<font style="font-size: 20px;" face="Times New Roman">Start</font>" 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="<font style="font-size: 20px;" face="Times New Roman">End</font>" 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>
|
||||||
@@ -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="<font style="font-size: 20px;" face="Times New Roman">Start</font>" 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="<font style="font-size: 18px;" face="Times New Roman">PRE: at(home), have(drill), have(milk), have(banana)</font>" 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="<font style="font-size: 20px;" face="Times New Roman">Stop</font>" 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="<font style="font-size: 18px;" face="Times New Roman">EFF: at(home), sells(hws, drill), sells(sm, milk), sells(sm, banana)</font>" 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="<font style="font-size: 20px;" face="Times New Roman">Start</font>" 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="<font style="font-size: 18px;" face="Times New Roman">PRE: at(home), have(drill), have(milk), have(banana)</font>" 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="<font style="font-size: 20px;" face="Times New Roman">Stop</font>" 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="<font style="font-size: 18px;" face="Times New Roman">EFF: at(home), sells(hws, drill), sells(sm, milk), sells(sm, banana)</font>" 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="<font face="Times New Roman" style="font-size: 18px;">BUY(X, drill)<br style="font-size: 18px;"></font>" 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="<font style="font-size: 16px;" face="Times New Roman">PRE: at(X), sells(X, drill)</font>" 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="<font face="Times New Roman" style="font-size: 18px;">BUY(X, milk)<br style="font-size: 18px;"></font>" 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="<font face="Times New Roman" style="font-size: 18px;">BUY(X, banana)<br style="font-size: 18px;"></font>" 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="<font style="font-size: 16px;" face="Times New Roman">PRE: at(X), sells(X, milk)</font>" 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="<font style="font-size: 16px;" face="Times New Roman">PRE: at(X), sells(X, banana)</font>" 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="<font style="font-size: 20px;" face="Times New Roman">Start</font>" 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="<font style="font-size: 18px;" face="Times New Roman">PRE: at(home), have(drill), have(milk), have(banana)</font>" 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="<font style="font-size: 20px;" face="Times New Roman">Stop</font>" 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="<font style="font-size: 18px;" face="Times New Roman">EFF: at(home), sells(hws, drill), sells(sm, milk), sells(sm, banana)</font>" 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="<font face="Times New Roman" style="font-size: 18px;">BUY(hws, drill)<br style="font-size: 18px;"></font>" 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="<font style="font-size: 16px;" face="Times New Roman">PRE: at(hws), sells(hws, drill)</font>" 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="<font face="Times New Roman" style="font-size: 18px;">BUY(sm, milk)<br style="font-size: 18px;"></font>" 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="<font face="Times New Roman" style="font-size: 18px;">BUY(sm, banana)<br style="font-size: 18px;"></font>" 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="<font style="font-size: 16px;" face="Times New Roman">PRE: at(sm), sells(sm, milk)</font>" 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="<font style="font-size: 16px;" face="Times New Roman">PRE: at(sm), sells(sm, banana)</font>" 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="<font style="font-size: 20px;" face="Times New Roman">Start</font>" 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="<font style="font-size: 18px;" face="Times New Roman">PRE: at(home), have(drill), have(milk), have(banana)</font>" 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="<font style="font-size: 20px;" face="Times New Roman">Stop</font>" 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="<font style="font-size: 18px;" face="Times New Roman">EFF: at(home), sells(hws, drill), sells(sm, milk), sells(sm, banana)</font>" 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="<font face="Times New Roman" style="font-size: 18px;">BUY(hws, drill)<br style="font-size: 18px;"></font>" 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="<font style="font-size: 16px;" face="Times New Roman">PRE: at(hws), sells(hws, drill)</font>" 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="<font face="Times New Roman" style="font-size: 18px;">BUY(sm, milk)<br style="font-size: 18px;"></font>" 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="<font face="Times New Roman" style="font-size: 18px;">BUY(sm, banana)<br style="font-size: 18px;"></font>" 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="<font style="font-size: 16px;" face="Times New Roman">PRE: sells(sm, milk), </font><font style="font-size: 16px;" face="Times New Roman">at(sm)</font>" 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="<font style="font-size: 16px;" face="Times New Roman">PRE: at(sm), sells(sm, banana)</font>" 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="<font face="Times New Roman" style="font-size: 18px;">GO(home, hws)<br style="font-size: 18px;"></font>" 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="<font style="font-size: 16px;" face="Times New Roman">PRE: at(home)</font>" 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="<font style="font-size: 16px;" face="Times New Roman">EFF: at(hws), ¬at(home)<br></font>" 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="<font face="Times New Roman" style="font-size: 18px;">GO(home, sm)<br style="font-size: 18px;"></font>" 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="<font style="font-size: 16px;" face="Times New Roman">PRE: at(home)</font>" 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="<font style="font-size: 16px;" face="Times New Roman">EFF: at(sm), ¬at(home)<br></font>" 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="<font style="font-size: 20px;" face="Times New Roman">Start</font>" 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="<font style="font-size: 18px;" face="Times New Roman">PRE: at(home), have(drill), have(milk), have(banana)</font>" 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="<font style="font-size: 20px;" face="Times New Roman">Stop</font>" 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="<font style="font-size: 18px;" face="Times New Roman">EFF: at(home), sells(hws, drill), sells(sm, milk), sells(sm, banana)</font>" 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="<font face="Times New Roman" style="font-size: 18px;">BUY(hws, drill)<br style="font-size: 18px;"></font>" 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="<font style="font-size: 16px;" face="Times New Roman">PRE: </font><font style="font-size: 16px;" face="Times New Roman">sells(hws, drill)</font><font style="font-size: 16px;" face="Times New Roman">, at(hws)<br></font>" 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="<font face="Times New Roman" style="font-size: 18px;">BUY(sm, milk)<br style="font-size: 18px;"></font>" 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="<font face="Times New Roman" style="font-size: 18px;">BUY(sm, banana)<br style="font-size: 18px;"></font>" 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="<font style="font-size: 16px;" face="Times New Roman">PRE: sells(sm, milk), </font><font style="font-size: 16px;" face="Times New Roman">at(sm)</font>" 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="<font style="font-size: 16px;" face="Times New Roman">PRE: at(sm), sells(sm, banana)</font>" 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="<font face="Times New Roman" style="font-size: 18px;">GO(home, hws)<br style="font-size: 18px;"></font>" 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="<font style="font-size: 16px;" face="Times New Roman">PRE: at(home)</font>" 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="<font style="font-size: 16px;" face="Times New Roman">EFF: at(hws), ¬at(home)<br></font>" 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="<font face="Times New Roman" style="font-size: 18px;">GO(hws, sm)<br style="font-size: 18px;"></font>" 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="<font style="font-size: 16px;" face="Times New Roman">PRE: at(hws)</font>" 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="<font style="font-size: 16px;" face="Times New Roman">EFF: at(sm), ¬at(hws)<br></font>" 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="<font style="font-size: 20px;" face="Times New Roman">Start</font>" 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="<font style="font-size: 18px;" face="Times New Roman">PRE: at(home), have(drill), have(milk), have(banana)</font>" 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="<font style="font-size: 20px;" face="Times New Roman">Stop</font>" 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="<font style="font-size: 18px;" face="Times New Roman">EFF: at(home), sells(hws, drill), sells(sm, milk), sells(sm, banana)</font>" 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="<font face="Times New Roman" style="font-size: 18px;">BUY(hws, drill)<br style="font-size: 18px;"></font>" 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="<font style="font-size: 16px;" face="Times New Roman">PRE: </font><font style="font-size: 16px;" face="Times New Roman">sells(hws, drill)</font><font style="font-size: 16px;" face="Times New Roman">, at(hws)<br></font>" 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="<font face="Times New Roman" style="font-size: 18px;">BUY(sm, milk)<br style="font-size: 18px;"></font>" 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="<font face="Times New Roman" style="font-size: 18px;">BUY(sm, banana)<br style="font-size: 18px;"></font>" 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="<font style="font-size: 16px;" face="Times New Roman">PRE: sells(sm, milk), </font><font style="font-size: 16px;" face="Times New Roman">at(sm)</font>" 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="<font style="font-size: 16px;" face="Times New Roman">PRE: at(sm), sells(sm, banana)</font>" 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="<font face="Times New Roman" style="font-size: 18px;">GO(home, hws)<br style="font-size: 18px;"></font>" 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="<font style="font-size: 16px;" face="Times New Roman">PRE: at(home)</font>" 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="<font face="Times New Roman" style="font-size: 18px;">GO(hws, sm)<br style="font-size: 18px;"></font>" 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="<font style="font-size: 16px;" face="Times New Roman">PRE: at(hws)</font>" 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="<font face="Times New Roman" style="font-size: 18px;">GO(sm, home)<br style="font-size: 18px;"></font>" 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="<font style="font-size: 16px;" face="Times New Roman">PRE: at(sm)</font>" 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>
|
||||||
@@ -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<sub style="font-size: 20px;">i</sub>" 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<sub style="font-size: 20px;">k</sub>" 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<sub style="font-size: 20px;">j</sub>" 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="<font face="Verdana" style="font-size: 20px;">¬</font><font face="Times New Roman" style="font-size: 20px;">c</font>" 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="<font style="font-size: 20px;" face="Times New Roman">c</font>" 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>
|
||||||
@@ -18,6 +18,7 @@
|
|||||||
\end{description}
|
\end{description}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\section{Linear planning}
|
\section{Linear planning}
|
||||||
\marginnote{Linear planning}
|
\marginnote{Linear planning}
|
||||||
Formulates the planning problem as a search problem where:
|
Formulates the planning problem as a search problem where:
|
||||||
@@ -326,3 +327,240 @@ Conjunction of goals are solved separately, but this could lead to the \marginno
|
|||||||
where a sub-goal destroys what another sub-goal has done.
|
where a sub-goal destroys what another sub-goal has done.
|
||||||
For this reason, when a conjunction is encountered, it is not immediately popped from the goal stack
|
For this reason, when a conjunction is encountered, it is not immediately popped from the goal stack
|
||||||
and is left as a final check.
|
and is left as a final check.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\section{Non-linear planning}
|
||||||
|
\marginnote{Non-linear planning}
|
||||||
|
Non-linear planning finds a plan as a search problem in the space of plans (instead of states as in linear planning).
|
||||||
|
Each node of the search tree is a partial plan. Edges represent plan refinement operations.
|
||||||
|
|
||||||
|
A non-linear plan is represented by:
|
||||||
|
\begin{descriptionlist}
|
||||||
|
\item[Actions{\normalfont.}] \marginnote{Actions set}
|
||||||
|
\item[Orderings] \marginnote{Orderings set}
|
||||||
|
between actions.
|
||||||
|
\item[Causal links] \marginnote{Causal links}
|
||||||
|
triplet $\langle S_i, S_j, c \rangle$ where $S_i$ and $S_j$ are actions and $c$ is a sub-goal.
|
||||||
|
$c$ should be the effect of $S_i$ and precondition of $S_j$.
|
||||||
|
|
||||||
|
Causal links represent causal relations between actions (i.e. interaction between sub-goals):
|
||||||
|
to execute $S_j$, the effect $c$ of $S_i$ is required first.
|
||||||
|
\end{descriptionlist}
|
||||||
|
|
||||||
|
The initial plan is an empty plan with two fake actions \texttt{start} and \texttt{stop}
|
||||||
|
with ordering $\texttt{start} < \texttt{stop}$:
|
||||||
|
\begin{descriptionlist}
|
||||||
|
\item[\texttt{start}] has no preconditions and the effects match the initial state.
|
||||||
|
\item[\texttt{stop}] has no effects and the preconditions match the goal.
|
||||||
|
\end{descriptionlist}
|
||||||
|
At each step, one of the following refinement operations can be applied until the goal is reached:
|
||||||
|
\begin{itemize}
|
||||||
|
\item Add an action to the set of actions.
|
||||||
|
\item Add an ordering to the set of orderings.
|
||||||
|
\item Add a causal link to the set of causal links.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\begin{figure}[h]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.4\textwidth]{img/_nonlinear_plan_example.pdf}
|
||||||
|
\caption{Example of search tree in non-linear planning}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{description}
|
||||||
|
\item[Least commitment planning] \marginnote{Least commitment planning}
|
||||||
|
Only strictly necessary restrictions (e.g. ordering) are imposed.
|
||||||
|
Non-linear planning is a least commitment planning.
|
||||||
|
|
||||||
|
\item[Linearization] \marginnote{Linearization}
|
||||||
|
At the end, the partially ordered actions should be linearized,
|
||||||
|
respecting the ordering constraints, to obtain the final plan.
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
|
||||||
|
\begin{description}
|
||||||
|
\item[Threat] \marginnote{Threat}
|
||||||
|
An action $S_k$ is a threat to a causal link $\langle S_i, S_j, c \rangle$
|
||||||
|
if its effects cancel $c$.
|
||||||
|
$S_k$ should not be executed in between $S_i$ and $S_j$.
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=0.3\textwidth]{img/_threat_example.pdf}
|
||||||
|
\caption{Example of threat. Causal links are represented using thick arrows.}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
Possible solutions to a threat $S_k$ to $\langle S_i, S_j, c \rangle$ are:
|
||||||
|
\begin{descriptionlist}
|
||||||
|
\item[Demotion] \marginnote{Demotion}
|
||||||
|
Add the ordering constraint $S_k < S_i$ (i.e. threat executed before).
|
||||||
|
\item[Promotion] \marginnote{Promotion}
|
||||||
|
Add the ordering constraint $S_k > S_i$ (i.e. threat executed after).
|
||||||
|
\end{descriptionlist}
|
||||||
|
\end{description}
|
||||||
|
|
||||||
|
\begin{algorithm}
|
||||||
|
\caption{Partial order planning (POP)}
|
||||||
|
\begin{lstlisting}[mathescape=true]
|
||||||
|
def pop(initial_state, goal, actions):
|
||||||
|
plan = init_empty_plan(initial_state, goal)
|
||||||
|
while not plan.isSolution():
|
||||||
|
try:
|
||||||
|
sn, c = selectSubgoal(plan)
|
||||||
|
chooseOperator(plan, actions, sn, c)
|
||||||
|
resolveThreats(plan)
|
||||||
|
except PlanFailError:
|
||||||
|
plan.backtrack()
|
||||||
|
return plan
|
||||||
|
|
||||||
|
def selectSubgoal(plan):
|
||||||
|
sn, c = random([sn, c in plan.steps if c in sn.unsolved_preconditions])
|
||||||
|
return sn, c
|
||||||
|
|
||||||
|
def chooseOperator(plan, actions, sn, c):
|
||||||
|
s = random([s in (actions + plan.steps) if c in s.effects])
|
||||||
|
if s is None: raise(PlanFailError)
|
||||||
|
plan.addCausalLink($\langle$s, sn, c$\rangle$)
|
||||||
|
plan.addOrdering(s < sn)
|
||||||
|
if s not in plan.steps:
|
||||||
|
plan.addAction(s)
|
||||||
|
plan.addOrdering(start < s < stop)
|
||||||
|
|
||||||
|
def resolveThreats(plan):
|
||||||
|
for s_k, s_i, s_j in plan.threats():
|
||||||
|
resolution = random([ DEMOTION, PROMOTION ])
|
||||||
|
if resolution == DEMOTION:
|
||||||
|
plan.addOrdering(s_k < s_i)
|
||||||
|
elif resolution == PROMOTION:
|
||||||
|
plan.addOrdering(s_k > s_j)
|
||||||
|
if plan.isNotConsistent(): raise(PlanFailError)
|
||||||
|
\end{lstlisting}
|
||||||
|
\end{algorithm}
|
||||||
|
|
||||||
|
\begin{example}[Purchasing schedule]
|
||||||
|
The initial state is:
|
||||||
|
\[ \texttt{at(home)}, \texttt{sells(hws, drill)}, \texttt{sells(sm, milk)}, \texttt{sells(sm, banana)} \]
|
||||||
|
where $\texttt{hws}$ means "hardware store" and $\texttt{sm}$ means "supermarket".
|
||||||
|
|
||||||
|
The goal is:
|
||||||
|
\[ \texttt{at(home)}, \texttt{have(drill)}, \texttt{have(milk)}, \texttt{have(banana)} \]
|
||||||
|
|
||||||
|
The possible actions are:\\[0.5em]
|
||||||
|
\begin{minipage}{.5\linewidth}
|
||||||
|
\begin{descriptionlist}
|
||||||
|
\item[\texttt{GO(X, Y)}] \phantom{}
|
||||||
|
\begin{description}
|
||||||
|
\item[Preconditions] $\texttt{at(X)}$
|
||||||
|
\item[Effects] $\texttt{at(Y)}$, $\lnot \texttt{at(X)}$
|
||||||
|
\end{description}
|
||||||
|
\end{descriptionlist}
|
||||||
|
\end{minipage}
|
||||||
|
\begin{minipage}{.5\linewidth}
|
||||||
|
\begin{descriptionlist}
|
||||||
|
\item[\texttt{BUY(S, Y)}] \phantom{}
|
||||||
|
\begin{description}
|
||||||
|
\item[Preconditions] $\texttt{at(S)}$, $\texttt{sells(S, Y)}$
|
||||||
|
\item[Effects] $\texttt{have(Y)}$
|
||||||
|
\end{description}
|
||||||
|
\end{descriptionlist}
|
||||||
|
\end{minipage}\\[0.5em]
|
||||||
|
|
||||||
|
Partial order planning steps are:
|
||||||
|
\begin{enumerate}
|
||||||
|
\item Define the initial plan:
|
||||||
|
\begin{center}
|
||||||
|
\includegraphics[width=0.7\textwidth]{img/_pop_example1.pdf}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
\item The loop of POP is:
|
||||||
|
\begin{itemize}
|
||||||
|
\item Choose an action $a_i$ and one of its unsolved preconditions $c$.
|
||||||
|
\item Select an action $a_j$ with the precondition $c$ in its effects.
|
||||||
|
\item Add the ordering constraint $\texttt{start} < a_j < \texttt{stop}$.
|
||||||
|
\item Add the causal link $\langle a_j, a_i, c \rangle$ (and ordering $a_j < a_i$).
|
||||||
|
\item Solve threats.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
We choose the action $a_i = \texttt{stop}$ and the precondition $c = \texttt{have(drill)}$.
|
||||||
|
We choose as action with $c$ in its effects $a_j = \texttt{BUY(X, drill)}$.
|
||||||
|
We therefore add to the plan the ordering $\texttt{start} < \texttt{BUY(X, drill)} < \texttt{stop}$ and
|
||||||
|
the causal link $\langle \texttt{BUY(X, drill)}, \texttt{stop}, \texttt{have(drill)} \rangle$:
|
||||||
|
\begin{center}
|
||||||
|
\includegraphics[width=0.7\textwidth]{img/_pop_example2.pdf}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
\item Repeat the previous point for the preconditions $\texttt{have(milk)}$ and $\texttt{have(banana)}$:
|
||||||
|
\begin{center}
|
||||||
|
\includegraphics[width=0.7\textwidth]{img/_pop_example3.pdf}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
\item Now, we choose as action $\texttt{BUY(X, drill)}$ and as unsolved precondition $\texttt{sells(X, drill)}$.
|
||||||
|
This can be solved from the action $\texttt{start}$ with effect $\texttt{sells(hws, drill)}$.
|
||||||
|
We make the substitution $\texttt{X}/\texttt{drill}$ and
|
||||||
|
add $\langle \texttt{start}, \texttt{BUY(hws, drill)}, \texttt{sells(hws, drill)} \rangle$ to the causal links.
|
||||||
|
The same process can be repeated for $\texttt{BUY(X, milk)}$ and $\texttt{BUY(X, banana)}$:
|
||||||
|
\begin{center}
|
||||||
|
\includegraphics[width=0.7\textwidth]{img/_pop_example4.pdf}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
\item Now, we choose as action $\texttt{BUY(hws, drill)}$ and as unsolved precondition $\texttt{at(hws)}$.
|
||||||
|
This can be solved using the action $\texttt{GO(X, hws)}$.
|
||||||
|
We add $\langle \texttt{GO(X, hws)}, \texttt{BUY(hws, drill)}, \texttt{at(hws)} \rangle$ to the causal links.
|
||||||
|
|
||||||
|
We continue by choosing as action $\texttt{GO(X, hws)}$ and as unsolved precondition $\texttt{at(X)}$.
|
||||||
|
This can be solved from $\texttt{start}$ with effect $\texttt{at(home)}$.
|
||||||
|
We therefore make the substitution $\texttt{X}/\texttt{home}$ and
|
||||||
|
add $\langle \texttt{start}, \texttt{GO(home, hws)}, \texttt{at(home)} \rangle$ to the causal links.
|
||||||
|
|
||||||
|
The same process can be repeated for the $\texttt{milk}$ and $\texttt{banana}$ branch:
|
||||||
|
\begin{center}
|
||||||
|
\includegraphics[width=0.7\textwidth]{img/_pop_example5.pdf}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
\item We have a threat between $\texttt{GO(home, hws)}$ and $\texttt{GO(home, sm)}$ as they both
|
||||||
|
require the precondition $\texttt{at(home)}$ and both have as effect $\lnot\texttt{at(home)}$.
|
||||||
|
It can be easily seen that neither promotion nor demotion solves the conflict.
|
||||||
|
We are therefore forced to backtrack.
|
||||||
|
|
||||||
|
We backtrack at the previous point, where we chose as action $\texttt{GO(X, sm)}$ and as precondition $\texttt{at(X)}$
|
||||||
|
(this step has been implicitly done in the previous point).
|
||||||
|
\begin{itemize}
|
||||||
|
\item Instead of choosing the action $\texttt{start}$, we choose $\texttt{GO(home, hws)}$ with the effect $\texttt{at(hws)}$.
|
||||||
|
We therefore make the substitution $\texttt{X}/\texttt{hws}$ and update the causal links.
|
||||||
|
\item We also resolve the threat $\texttt{GO(hws, sm)}$ to $\texttt{BUY(hws, drill)}$
|
||||||
|
(it removes the precondition $\texttt{at(hws)}$)
|
||||||
|
by promoting $\texttt{GO(hws, sm)}$
|
||||||
|
and adding the ordering constraint $\texttt{BUY(hws, drill)} < \texttt{GO(hws, sm)}$:
|
||||||
|
\end{itemize}
|
||||||
|
\begin{center}
|
||||||
|
\includegraphics[width=0.7\textwidth]{img/_pop_example6.pdf}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
|
\item Now, we choose as action $\texttt{stop}$ and as precondition $\texttt{at(home)}$.
|
||||||
|
We choose as action $\texttt{GO(sm, home)}$ and update the causal links.
|
||||||
|
|
||||||
|
Finally, we solve the threat $\texttt{GO(sm, home)}$ to
|
||||||
|
both $\texttt{BUY(sm, milk)}$ and $\texttt{BUY(sm, banana)}$ (it removes the required precondition $\texttt{at(sm)}$)
|
||||||
|
by promoting $\texttt{GO(sm, home)}$.
|
||||||
|
The newly added ordering constraints are
|
||||||
|
$\texttt{BUY(sm, milk)} < \texttt{GO(sm, home)}$ and
|
||||||
|
$\texttt{BUY(sm, banana)} < \texttt{GO(sm, home)}$.
|
||||||
|
|
||||||
|
The final plan is:
|
||||||
|
\begin{center}
|
||||||
|
\includegraphics[width=0.7\textwidth]{img/_pop_example7.pdf}
|
||||||
|
\end{center}
|
||||||
|
By considering the ordering constraints, a linearization could be:
|
||||||
|
\[
|
||||||
|
\begin{split}
|
||||||
|
\texttt{GO(home, hws)} &\rightarrow
|
||||||
|
\texttt{BUY(hws, drill)} \rightarrow
|
||||||
|
\texttt{GO(hws, sm)} \rightarrow\\
|
||||||
|
&\texttt{BUY(sm, milk)} \rightarrow
|
||||||
|
\texttt{BUY(sm, banana)} \rightarrow
|
||||||
|
\texttt{GO(sm, home)}
|
||||||
|
\end{split}
|
||||||
|
\]
|
||||||
|
\end{enumerate}
|
||||||
|
\end{example}
|
||||||
Reference in New Issue
Block a user