Moved FAIKR1 in year1
1
src/year1/fundamentals-of-ai-and-kr/module1/ainotes.cls
Symbolic link
@ -0,0 +1 @@
|
||||
../../../ainotes.cls
|
||||
20
src/year1/fundamentals-of-ai-and-kr/module1/faikr1.tex
Normal 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}
|
||||
BIN
src/year1/fundamentals-of-ai-and-kr/module1/img/1perceptron.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
src/year1/fundamentals-of-ai-and-kr/module1/img/3layer.png
Normal file
|
After Width: | Height: | Size: 57 KiB |
BIN
src/year1/fundamentals-of-ai-and-kr/module1/img/4layer.png
Normal file
|
After Width: | Height: | Size: 35 KiB |
BIN
src/year1/fundamentals-of-ai-and-kr/module1/img/_bfs.pdf
Normal 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="<font style="font-size: 18px;" face="Times New Roman">X<sub>1</sub></font>" 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="<font style="font-size: 18px;" face="Times New Roman">X<sub>2</sub></font>" 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="<font style="font-size: 18px;" face="Times New Roman">X<sub>3</sub></font>" 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="&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="&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="&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="<div style="font-size: 13px;"><font face="Times New Roman" style="font-size: 18px;">[1, 2, 3]</font></div>" 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="<div style="font-size: 13px;"><font face="Times New Roman" style="font-size: 18px;">[1, 2, 3]</font></div>" 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="<div style="font-size: 13px;"><font face="Times New Roman" style="font-size: 18px;">[1, 2, 3]</font></div>" 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>
|
||||
BIN
src/year1/fundamentals-of-ai-and-kr/module1/img/_dfs.pdf
Normal 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="<font style="font-size: 18px;">at(a, l)<br></font>" 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="<font style="font-size: 18px;">at(b, l)<br></font>" 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="<font style="font-size: 18px;">at(r, l)<br></font>" 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="<font style="font-size: 18px;">hasFuel(r)<br></font>" 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="<font style="font-size: 18px;">LOAD(a, r)<br></font>" 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="<font style="font-size: 18px;">LOAD(b, r)<br></font>" 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="<font style="font-size: 18px;">MOVE(r, l, p)<br></font>" 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="<font style="font-size: 14px;">NO-OP<br style="font-size: 14px;"></font>" 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="<font style="font-size: 14px;">NO-OP<br></font>" 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="<font style="font-size: 14px;">NO-OP<br style="font-size: 14px;"></font>" 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="<font style="font-size: 14px;">NO-OP<br style="font-size: 14px;"></font>" 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="<font style="font-size: 18px;">at(a, l)<br></font>" 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="<font style="font-size: 18px;">at(b, l)<br></font>" 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="<font style="font-size: 18px;">at(r, l)<br></font>" 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="<font style="font-size: 18px;">hasFuel(r)<br></font>" 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="<font style="font-size: 18px;">in(r, a)<br></font>" 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="<font style="font-size: 18px;">in(r, b)<br></font>" 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="<font style="font-size: 18px;">at(r, p)<br></font>" 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="<font style="font-size: 12px;">NO-OP<br style="font-size: 12px;"></font>" 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="<font style="font-size: 12px;">NO-OP<br style="font-size: 12px;"></font>" 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="<font style="font-size: 12px;">NO-OP<br style="font-size: 12px;"></font>" 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="<font style="font-size: 12px;">NO-OP<br style="font-size: 12px;"></font>" 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="<font style="font-size: 12px;">NO-OP<br style="font-size: 12px;"></font>" 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="<font style="font-size: 12px;">NO-OP<br style="font-size: 12px;"></font>" 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="<font style="font-size: 12px;">NO-OP<br style="font-size: 12px;"></font>" 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="<font style="font-size: 16px;">LOAD(a, l)<br style="font-size: 16px;"></font>" 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="<font style="font-size: 16px;">LOAD(b, l)<br style="font-size: 16px;"></font>" 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="<font style="font-size: 16px;">MOVE(r, l, p)<br style="font-size: 16px;"></font>" 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<font style="font-size: 16px;">LOAD(a, l)<br style="font-size: 16px;"></font>" 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<font style="font-size: 16px;">LOAD(b, l)<br style="font-size: 16px;"></font>" 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="<font style="font-size: 18px;">at(a, l)<br></font>" 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="<font style="font-size: 18px;">at(b, l)<br></font>" 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="<font style="font-size: 18px;">at(r, l)<br></font>" 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="<font style="font-size: 18px;">hasFuel(r)<br></font>" 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="<font style="font-size: 18px;">in(r, a)<br></font>" 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="<font style="font-size: 18px;">in(r, b)<br></font>" 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="<font style="font-size: 18px;">at(r, p)<br></font>" 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="<font style="font-size: 16px;" face="Times New Roman"><i>t = 0</i><br></font>" 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="<font style="font-size: 16px;" face="Times New Roman"><i>t = 1<br></i></font>" 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="<font style="font-size: 16px;" face="Times New Roman"><i>t = 2<br></i></font>" 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="<font style="font-size: 16px;" face="Times New Roman"><i>t = 3<br></i></font>" 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="<font style="font-size: 16px;" face="Times New Roman"><i>t = 4<br></i></font>" 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>
|
||||
BIN
src/year1/fundamentals-of-ai-and-kr/module1/img/_graphplan.pdf
Normal file
BIN
src/year1/fundamentals-of-ai-and-kr/module1/img/_minmax.pdf
Normal file
BIN
src/year1/fundamentals-of-ai-and-kr/module1/img/_search_tree.pdf
Normal file
BIN
src/year1/fundamentals-of-ai-and-kr/module1/img/_ucs.pdf
Normal file
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 72 KiB |
|
After Width: | Height: | Size: 81 KiB |
@ -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="<font style="font-size: 18px;"><i style="font-size: 18px;">f</i> = 3</font>" 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="<font style="font-size: 18px;"><i style="font-size: 18px;">f</i> = 4</font>" 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="<font style="font-size: 18px;"><i style="font-size: 18px;">f</i> = 1</font>" 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="<font style="font-size: 18px;"><i style="font-size: 18px;">f</i> = 2</font>" 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="<font style="font-size: 18px;"><i style="font-size: 18px;">f</i> = 1</font>" 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="<font style="font-size: 18px;"><i style="font-size: 18px;">f</i> = 1</font>" 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="<font style="font-size: 18px;"><i style="font-size: 18px;">f</i> = 1</font>" 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="<font style="font-size: 18px;"><i style="font-size: 18px;">f</i> = 1</font>" 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="<font style="font-size: 18px;">Goal</font>" 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="<div style="font-size: 18px;"><font style="font-size: 18px;">Goal</font></div>" 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="<font style="font-size: 18px;"><i style="font-size: 18px;">f</i> = 0+3</font>" 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="<font style="font-size: 18px;"><i style="font-size: 18px;">f</i> = 1+4</font>" 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="<font style="font-size: 18px;"><i style="font-size: 18px;">f</i> = 2+1</font>" 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="<font style="font-size: 18px;"><i style="font-size: 18px;">f</i> = 1+2</font>" 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="<font style="font-size: 18px;"><i style="font-size: 18px;">f</i> = 2+1</font>" 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="<font style="font-size: 18px;"><i style="font-size: 18px;">f</i> = 3+1</font>" 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="<font style="font-size: 18px;"><i style="font-size: 18px;">f</i> = 4+1</font>" 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="<font style="font-size: 18px;"><i style="font-size: 18px;">f</i> = 5+1</font>" 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="<font style="font-size: 18px;">Goal</font>" 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="<div style="font-size: 18px;"><font style="font-size: 18px;">Goal</font></div>" 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="<font style="font-size: 18px;"><i style="font-size: 18px;">f</i> = 3+0</font>" 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="<font style="font-size: 18px;"><i style="font-size: 18px;">f</i> = 6+0</font>" 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="<font style="font-size: 18px;"><i style="font-size: 18px;">f</i> = 0</font>" 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="<font style="font-size: 18px;"><i style="font-size: 18px;">f</i> = 0</font>" 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>
|
||||
@ -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="<font style="font-size: 16px;">on(tire1, hub1), flat(tire1), inflated(spare), off(spare), tire(tire1)<br style="font-size: 16px;"></font>" 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>
|
||||
|
After Width: | Height: | Size: 60 KiB |
BIN
src/year1/fundamentals-of-ai-and-kr/module1/img/neuron.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
@ -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="<div align="right"><font style="font-size: 20px;" face="Times New Roman"><i>c</i>=4 (4)</font></div>" 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="<div align="right"><font style="font-size: 20px;" face="Times New Roman"><i>c</i>=4 (8)</font></div>" 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="<div><font style="font-size: 20px;" face="Times New Roman"><i>c</i>=2 (6)</font></div>" 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="<div><font style="font-size: 20px;" face="Times New Roman"><i>c</i>=3 (5)</font></div>" 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="<div><font style="font-size: 20px;" face="Times New Roman"><i>c</i>=2 (2)</font></div>" 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="<div><font style="font-size: 20px;" face="Times New Roman"><i>c</i>=9 (9)</font></div>" 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>
|
||||
@ -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,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="<font style="font-size: 24px;" face="Times New Roman">Root</font>" 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="<font style="font-size: 24px;" face="Times New Roman">Expansion</font>" 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="<font style="font-size: 24px;" face="Times New Roman">Strategy</font>" 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>
|
||||
@ -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="<font style="font-size: 20px;">on(c, b) <span role="presentation" data-mathml="<math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;><mo>&amp;#x2227;</mo></math>" style="position: relative; font-size: 20px;" tabindex="0" id="MathJax-Element-12-Frame" class="MathJax"></span><span role="presentation" data-mathml="<math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;><mo>&amp;#x2227;</mo></math>" style="position: relative; font-size: 20px;" tabindex="0" id="MathJax-Element-12-Frame" class="MathJax"></span></font>∧ 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="<div style="font-size: 20px;"><font style="font-size: 20px;">ontable(a)<span style="white-space: pre;">	</span><font style="font-size: 20px;"><span style="white-space: pre;"></span>ontable(b)</font></font></div><div style="font-size: 20px;"><font style="font-size: 20px;">clear(b)<font style="font-size: 20px;"><span style="white-space: pre;">	</span>clear(c)</font></font></div><div style="font-size: 20px;"><font style="font-size: 20px;">on(c, a) <span style="white-space: pre;">	</span>handempty<font style="font-size: 20px;"><br></font></font></div>" 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="<font style="font-size: 20px;">on(c, b) <span role="presentation" data-mathml="<math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;><mo>&amp;#x2227;</mo></math>" style="position: relative; font-size: 20px;" tabindex="0" id="MathJax-Element-12-Frame" class="MathJax"></span><span role="presentation" data-mathml="<math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;><mo>&amp;#x2227;</mo></math>" style="position: relative; font-size: 20px;" tabindex="0" id="MathJax-Element-12-Frame" class="MathJax"></span></font>∧ 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="<font style="font-size: 20px;">on(c, b)</font>" 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="<div style="font-size: 16px;" align="left"><font style="font-size: 16px;"><b><font style="font-size: 16px;" face="Times New Roman">Disjunction of goals<br></font></b></font></div><div style="font-size: 16px;" align="left"><font style="font-size: 16px;" face="Times New Roman">Push in arbitrarily decided order</font></div>" 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="<font style="font-size: 20px;">on(c, b) <span role="presentation" data-mathml="<math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;><mo>&amp;#x2227;</mo></math>" style="position: relative; font-size: 20px;" tabindex="0" id="MathJax-Element-12-Frame" class="MathJax"></span><span role="presentation" data-mathml="<math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;><mo>&amp;#x2227;</mo></math>" style="position: relative; font-size: 20px;" tabindex="0" id="MathJax-Element-12-Frame" class="MathJax"></span></font>∧ 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="<font style="font-size: 20px;">on(c, b)</font>" 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="<div style="font-size: 16px;" align="left"><font style="font-size: 16px;"><b><font style="font-size: 16px;" face="Times New Roman">Single goal (not ⊆ of current state)<br></font></b></font></div><div style="font-size: 16px;" align="left"><font style="font-size: 16px;" face="Times New Roman">Pop and push suitable action<br></font></div>" 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)&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="<font style="font-size: 16px;" face="Times New Roman">Preconditions of STACK</font>" 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="<font style="font-size: 20px;">on(c, b) <span role="presentation" data-mathml="<math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;><mo>&amp;#x2227;</mo></math>" style="position: relative; font-size: 20px;" tabindex="0" id="MathJax-Element-12-Frame" class="MathJax"></span><span role="presentation" data-mathml="<math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;><mo>&amp;#x2227;</mo></math>" style="position: relative; font-size: 20px;" tabindex="0" id="MathJax-Element-12-Frame" class="MathJax"></span></font>∧ 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)&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="<div style="font-size: 16px;" align="left"><font style="font-size: 16px;"><b><font style="font-size: 16px;" face="Times New Roman">Disjunction of goals<br></font></b></font></div><div style="font-size: 16px;" align="left"><font style="font-size: 16px;" face="Times New Roman">Push in arbitrarily decided order</font></div>" 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="<font style="font-size: 20px;">on(c, b) <span role="presentation" data-mathml="<math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;><mo>&amp;#x2227;</mo></math>" style="position: relative; font-size: 20px;" tabindex="0" id="MathJax-Element-12-Frame" class="MathJax"></span><span role="presentation" data-mathml="<math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;><mo>&amp;#x2227;</mo></math>" style="position: relative; font-size: 20px;" tabindex="0" id="MathJax-Element-12-Frame" class="MathJax"></span></font>∧ 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)&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="<div style="font-size: 16px;" align="left"><font style="font-size: 16px;"><b><font style="font-size: 16px;" face="Times New Roman">Single goal (not ⊆ of current state)<br></font></b></font></div><div style="font-size: 16px;" align="left"><font style="font-size: 16px;" face="Times New Roman">Pop and push suitable action<br></font></div>" 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="<font style="font-size: 16px;" face="Times New Roman">Preconditions of UNSTACK</font>" 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="<font style="font-size: 20px;">on(c, b) <span role="presentation" data-mathml="<math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;><mo>&amp;#x2227;</mo></math>" style="position: relative; font-size: 20px;" tabindex="0" id="MathJax-Element-12-Frame" class="MathJax"></span><span role="presentation" data-mathml="<math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;><mo>&amp;#x2227;</mo></math>" style="position: relative; font-size: 20px;" tabindex="0" id="MathJax-Element-12-Frame" class="MathJax"></span></font>∧ 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)&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="<div style="font-size: 16px;" align="left"><font style="font-size: 16px;"><font style="font-size: 16px;" face="Times New Roman"><b>Goals ⊆ of current state</b></font><b><font style="font-size: 16px;" face="Times New Roman"><br></font></b></font></div><div style="font-size: 16px;" align="left"><font face="Times New Roman" style="font-size: 16px;">with substitution X/a<br></font></div>" 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="<b><font style="font-size: 16px;"><font face="Times New Roman">Apply action</font><br></font></b>" 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="<div style="font-size: 20px;"><font style="font-size: 20px;">ontable(a)<span style="white-space: pre;">	</span><font style="font-size: 20px;"><span style="white-space: pre;"></span>ontable(b)</font></font></div><div style="font-size: 20px;"><font style="font-size: 20px;">clear(a)<font style="font-size: 20px;"><span style="white-space: pre;">	</span>clear(b)</font></font></div><div style="font-size: 20px;"><font style="font-size: 20px;">holding(c)<font style="font-size: 20px;"><br></font></font></div>" 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="<font style="font-size: 16px;"><font face="Times New Roman">UNSTACK(c, a)</font><br></font>" 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="<font style="font-size: 20px;">on(c, b) <span role="presentation" data-mathml="<math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;><mo>&amp;#x2227;</mo></math>" style="position: relative; font-size: 20px;" tabindex="0" id="MathJax-Element-12-Frame" class="MathJax"></span><span role="presentation" data-mathml="<math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;><mo>&amp;#x2227;</mo></math>" style="position: relative; font-size: 20px;" tabindex="0" id="MathJax-Element-12-Frame" class="MathJax"></span></font>∧ 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)&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="&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="&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="&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="&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="<div style="font-size: 16px;" align="left"><font style="font-size: 16px;"><font style="font-size: 16px;" face="Times New Roman"><b>Goal ⊆ of current state</b></font><b><font style="font-size: 16px;" face="Times New Roman"><br></font></b></font></div>" 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="<div style="font-size: 16px;" align="left"><font style="font-size: 16px;"><font style="font-size: 16px;" face="Times New Roman"><b>Goals ⊆ of current state</b></font><b><font style="font-size: 16px;" face="Times New Roman"><br></font></b></font></div>" 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="<b><font style="font-size: 16px;"><font face="Times New Roman">Apply action</font><br></font></b>" 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="<div style="font-size: 20px;"><font style="font-size: 20px;">ontable(a)<span style="white-space: pre;">	</span><font style="font-size: 20px;"><span style="white-space: pre;"></span>ontable(b)</font></font></div><div style="font-size: 20px;"><font style="font-size: 20px;">clear(a)<font style="font-size: 20px;"><span style="white-space: pre;">	</span>clear(c)</font></font></div><div style="font-size: 20px;"><font style="font-size: 20px;">on(c, b)<span style="white-space: pre;">	</span>handempty<font style="font-size: 20px;"><br></font></font></div>" 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="<font style="font-size: 16px;"><font face="Times New Roman">STACK(c, b)</font><br></font>" 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="<font style="font-size: 20px;">on(c, b) <span role="presentation" data-mathml="<math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;><mo>&amp;#x2227;</mo></math>" style="position: relative; font-size: 20px;" tabindex="0" id="MathJax-Element-12-Frame" class="MathJax"></span><span role="presentation" data-mathml="<math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;><mo>&amp;#x2227;</mo></math>" style="position: relative; font-size: 20px;" tabindex="0" id="MathJax-Element-12-Frame" class="MathJax"></span></font>∧ 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="&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="&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="&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="&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="<div style="font-size: 16px;" align="left"><font style="font-size: 16px;"><b><font style="font-size: 16px;" face="Times New Roman">Single goal (not ⊆ of current state)<br></font></b></font></div><div style="font-size: 16px;" align="left"><font style="font-size: 16px;" face="Times New Roman">Pop and push suitable action<br></font></div>" 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="<font face="Times New Roman" style="font-size: 18px;">Continue until stack empty</font>" 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>
|
||||
@ -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>
|
||||
|
After Width: | Height: | Size: 81 KiB |
|
After Width: | Height: | Size: 110 KiB |
@ -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}
|
||||
146
src/year1/fundamentals-of-ai-and-kr/module1/sections/_games.tex
Normal 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}
|
||||
215
src/year1/fundamentals-of-ai-and-kr/module1/sections/_intro.tex
Normal 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{}
|
||||
@ -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}
|
||||
1039
src/year1/fundamentals-of-ai-and-kr/module1/sections/_planning.tex
Normal file
409
src/year1/fundamentals-of-ai-and-kr/module1/sections/_search.tex
Normal 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}
|
||||
@ -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}
|
||||