Skip to content

Instantly share code, notes, and snippets.

@rndmcnlly
Created May 7, 2017 21:24
Show Gist options
  • Save rndmcnlly/9bf1f3e3d0508e0ad6fb36cdf0638b99 to your computer and use it in GitHub Desktop.
Save rndmcnlly/9bf1f3e3d0508e0ad6fb36cdf0638b99 to your computer and use it in GitHub Desktop.
Recreating the grid embedding tool from https://adamsmith.as/papers/fdg2012generation.pdf with Clingo-5
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Formulation"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Overwriting embedding.lp\n"
]
}
],
"source": [
"%%file embedding.lp\n",
"\n",
"#const dimensions = 2.\n",
"#const width = 10.\n",
"\n",
"% define spatial grid\n",
"axis(0..dimensions-1).\n",
"ineq(lt;gt).\n",
"dir((A,R)) :- axis(A), ineq(R).\n",
"opposite((A,R1),(A,R2)) :- axis(A), ineq(R1), ineq(R2), R1 != R2.\n",
"\n",
"% piece i/o port counts by type (In,Out)\n",
"ports(source,0,1).\n",
"ports(splitter2,1,2).\n",
"ports(splitter3,1,3).\n",
"ports(combiner2,2,1).\n",
"ports(combiner3,3,1).\n",
"ports(target,1,0).\n",
"ports(bender,1,1).\n",
"\n",
"% guess piece positions for each dimension\n",
"piece(P) :- type(P,T).\n",
"1 { at(P,A,0..width-1) } 1 :- axis(A), piece(P).\n",
"\n",
"% guess piece ports\n",
"piece_ports(P,in,NumIn) :- type(P,T), ports(T,NumIn,_).\n",
"piece_ports(P,out,NumOut) :- type(P,T), ports(T,_,NumOut).\n",
"N { port(P,D,S):dir(D) } N :- piece_ports(P,S,N).\n",
":- piece(P), dir(D), 2 { port(P,D,S) }. % forbid overlapping input/output ports\n",
":- type(P,bender), opposite(D1,D2), port(P,D1,in), port(P,D2,out), dimensions > 1. % benders bend!\n",
"\n",
"% deduce relations\n",
"eq_coord(P1,P2,A) :- axis(A), piece(P1), piece(P2), 0 = #sum { S1: at(P1,A,S1); -S2: at(P2,A,S2) }.\n",
"gt_coord(P1,P2,A) :- axis(A), piece(P1), piece(P2), 0 < #sum { S1: at(P1,A,S1); -S2: at(P2,A,S2) }.\n",
"lt_coord(P1,P2,A) :- axis(A), piece(P1), piece(P2), 0 > #sum { S1: at(P1,A,S1); -S2: at(P2,A,S2) }.\n",
"\n",
"%% Alternative quadratic formulation:\n",
"%% eq_coord(P1,P2,A) :- at(P1,A,S1), at(P2,A,S2), S1==S2.\n",
"%% lt_coord(P1,P2,A) :- at(P1,A,S1), at(P2,A,S2), S1>S2.\n",
"%% gt_coord(P1,P2,A) :- at(P1,A,S1), at(P2,A,S2), S1<S2.\n",
" \n",
"% forbid overlap of pieces\n",
":- piece(P1), piece(P2), P1 < P2, eq_coord(P1,P2,A):axis(A).\n",
"\n",
"% deduce relative orientations\n",
"relative_dir(P1,P2,(A,lt)) :- lt_coord(P1,P2,A); eq_coord(P1,P2,Ai):axis(Ai),Ai!=A.\n",
"relative_dir(P1,P2,(A,gt)) :- gt_coord(P1,P2,A); eq_coord(P1,P2,Ai):axis(Ai),Ai!=A.\n",
"\n",
"% deduce pairs with compatible ports\n",
"portable(P1,P2,Do) :- port(P1,Do,out), port(P2,Di,in), opposite(Do,Di).\n",
"\n",
"% deduce blocked portable directions\n",
"blocked(P1,P2,D) :- portable(P1,P2,D), relative_dir(P1,P,D), relative_dir(P,P2,D).\n",
"\n",
"% deduce unblocked portable edges\n",
"grid_edge(P1,P2,D) :- portable(P1,P2,D), relative_dir(P1,P2,D), not blocked(P1,P2,D).\n",
"grid_edge(P1,P2) :- grid_edge(P1,P2,D).\n",
"\n",
"\n",
"% forbid not realizing a required edge\n",
":- graph_edge(P1,P2), not grid_edge(P1,P2)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Sanity Checking"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Rather than jumping to visualization, we'll do some sanity checking by counting the number of models here. Recall that the the number of permutations of $k$ elements from collection of $n$ items is $P(n,k)=\\frac{n!}{k!(n-k)!}$."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## instance-st.lp\n",
"Let's do some initial testing on a very simple world with a source and a target piece that should be connected."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Overwriting instance-st.lp\n"
]
}
],
"source": [
"%%file instance-st.lp\n",
"#const include_edge = yes.\n",
"type(s,source).\n",
"type(t,target).\n",
"graph_edge(s,t) :- include_edge = yes."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If we don't include the edge and work in one dimension, there should be $10\\cdot9\\cdot2\\cdot2 = 360$ solutions. That's $10$ places to put the source, $9$ places to put the target, $2$ directions for the source output port and $2$ directions for the target input port."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Models : 360\r\n"
]
}
],
"source": [
"!clingo embedding.lp instance-st.lp -c dimensions=1 0 -c include_edge=no | grep Models"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If we include the edge, there should be only $10\\cdot9 = 90$ solutions because the pair of port directions are now fully determined by the positions of the pieces."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Models : 90\r\n"
]
}
],
"source": [
"!clingo embedding.lp instance-st.lp -c dimensions=1 0 | grep Models"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"If we move up to two dimensions, we should get $2\\cdot10$ copies of those $90$ solutions ($10$ for each possible shift in the axis perpendicular to the laser and $2$ to account for horizontal and vertical orientations), or $1800$ total."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Models : 1800\r\n"
]
}
],
"source": [
"!clingo embedding.lp instance-st.lp -c dimensions=2 0| grep Models"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## instance-sbt.lp\n",
"Let's add a bender piece to make things interesting."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Overwriting instance-sbt.lp\n"
]
}
],
"source": [
"%%file instance-sbt.lp\n",
"type(s,source).\n",
"type(b,bender).\n",
"type(t,target).\n",
"graph_edge(s,b).\n",
"graph_edge(b,t)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In one dimension we'll have $10\\cdot9\\cdot8$ possible positions for which only $\\frac{2}{6}$ put the bender between the source and target. Thus, we expect $240$ overall."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Models : 240\r\n"
]
}
],
"source": [
"!clingo embedding.lp instance-sbt.lp 0 -c dimensions=1 | grep Models"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Just one two-dimensional test here. In one dimension, we'll have $10$ place to put the source, $9$ places to put the bender, $10\\cdot2$ ways to shift and rotate that picture, and finally $9$ ways to place the target orthogonal to the input of the bender. Remember, benders must bend when there are more than one dimensions. So, thats $10\\cdot9\\cdot10\\cdot2\\cdot9 = 16200$ expected solutions."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Models : 16200\r\n"
]
}
],
"source": [
"!clingo embedding.lp instance-sbt.lp 0 -c dimensions=2 | grep Models"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## instance-tri.lp\n",
"Here's a tricky instance. This graph describes a triangle, but we can't express a triangle on the grid. It should be un-embeddable."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Overwriting instance-tri.lp\n"
]
}
],
"source": [
"%%file instance-tri.lp\n",
"type(a,splitter2).\n",
"type(b,bender).\n",
"type(c,combiner2).\n",
"graph_edge(a,c).\n",
"graph_edge(a,b).\n",
"graph_edge(b,c)."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Models : 0\r\n"
]
}
],
"source": [
"!clingo embedding.lp instance-tri.lp | grep Models"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## instance-quad.lp\n",
"If we include another bender to the scenario above, we'll have a quadrilateral that we can embed into a rectangle on the grid. If we only count shapes at the level of the directions of edge on the grid (and not individual steps on the grid) there are $4$ corners to put the splitter in and $2$ ways to swap the positions of the benders. all other edge directions are determined by these. Together, we expect $4\\cdot2=8$ distinct solutions under projection."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Overwriting instance-quad.lp\n"
]
}
],
"source": [
"%%file instance-quad.lp\n",
"type(a,splitter2).\n",
"type(b1,bender).\n",
"type(b2,bender).\n",
"type(c,combiner2).\n",
"graph_edge(a,b1).\n",
"graph_edge(a,b2).\n",
"graph_edge(b1,c).\n",
"graph_edge(b2,c)."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Overwriting projection-grid.lp\n"
]
}
],
"source": [
"%%file projection-grid.lp\n",
"#show grid_edge/3."
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Models : 8\r\n"
]
}
],
"source": [
"!clingo embedding.lp instance-quad.lp projection-grid.lp --project 0 | grep Models"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## instance-paper.lp\n",
"This is almost the example mission graph used in [A Case Study of Expressively Constrainable Level Design\n",
"Automation Tools for a Puzzle Game](https://adamsmith.as/papers/fdg2012generation.pdf). The expander piece E2 was removed (expanders were dropped from the game design in *Refraction 2*).\n",
"\n",
"We'll visualize the embedding later. For now we just want to make sure it is feasible."
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Overwriting instance-paper.lp\n"
]
}
],
"source": [
"%%file instance-paper.lp\n",
"\n",
"type(src(1..2),source).\n",
"type(s2(1..2),splitter2).\n",
"type(b(1..7),bender).\n",
"type(c2(1..2),combiner2).\n",
"type(tgt(1..2),target).\n",
"type(xs2(1..5),splitter2).\n",
"type(xb(1..2),bender).\n",
"type(x(1..24),blocker).\n",
"\n",
"graph_edge(src(2),s2(1)).\n",
"graph_edge(s2(1),s2(2)).\n",
"graph_edge(s2(1),b(7)).\n",
"graph_edge(b(7),c2(2)).\n",
"graph_edge(c2(2),b(5)).\n",
"graph_edge(b(5),b(6)).\n",
"graph_edge(b(6),tgt(2)).\n",
"graph_edge(s2(2),b(3)).\n",
"graph_edge(b(3),b(4)).\n",
"graph_edge(b(4),c2(2)).\n",
"graph_edge(s2(2),b(1)).\n",
"graph_edge(b(1),b(2)).\n",
"graph_edge(b(2),c2(1)).\n",
"graph_edge(src(1),c2(1)).\n",
"graph_edge(c2(1),tgt(1))."
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"clingo version 5.2.0\n",
"Reading from embedding.lp ...\n",
"Solving...\n",
"SATISFIABLE\n",
"\n",
"Models : 1+\n",
"Calls : 1\n",
"Time : 2.248s (Solving: 0.99s 1st Model: 0.99s Unsat: 0.00s)\n",
"CPU Time : 2.244s\n"
]
}
],
"source": [
"!clingo embedding.lp instance-paper.lp -q "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For this formulation, the rule related to piece blocking grounds in $O(p^3)$ time for $p$ total pieces. $75\\%$ of the ground rules emitted in \"`--text`\" mode are associated with the one rule with `blocked(P1,P2,D)` at the head. In comparison to the grounding time, solving time is modest."
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" 117654\n",
" 89056\n"
]
}
],
"source": [
"!clingo embedding.lp instance-paper.lp --text | wc -l\n",
"!clingo embedding.lp instance-paper.lp --text | grep -e \"^blocked\" | wc -l"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Visualization\n",
"We'll wrangle JSON output of the solver into a DOT file. The `at(Piece,Axis,Step)` predicate will give the position of nodes and the `grid_edge(P1,P2)` predicate will give the edges (laser beams)."
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from IPython.display import Image"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Overwriting projection-viz.lp\n"
]
}
],
"source": [
"%%file projection-viz.lp\n",
"#show at/3.\n",
"#show port/3.\n",
"#show grid_edge/2.\n",
"#show type/2."
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Overwriting visualize.py\n"
]
}
],
"source": [
"%%file visualize.py\n",
"import sys\n",
"import json\n",
"from collections import defaultdict\n",
"\n",
"result = json.load(sys.stdin)\n",
"atoms = result['Call'][0]['Witnesses'][0]['Value']\n",
"\n",
"\n",
"positions = defaultdict(dict)\n",
"edges = set()\n",
"types = dict()\n",
"for a in atoms:\n",
" if a.startswith('at'):\n",
" piece,axis,step = a.replace('at','')[1:-1].split(',')\n",
" positions[piece][axis] = step\n",
" elif a.startswith('grid_edge'):\n",
" src,dst = a.replace('grid_edge','')[1:-1].split(',')\n",
" edges.add((src,dst))\n",
" elif a.startswith('type'):\n",
" p,t = a.replace('type','')[1:-1].split(',')\n",
" types[p] = t\n",
"\n",
"print(\"digraph {\")\n",
"print(\"\\tnode [shape=circle];\")\n",
"\n",
"for node, position in positions.items():\n",
" x,y = position['0'], position['1']\n",
" #print(\"\\t\\\"%s\\\" [pos=\\\"%s,%s!\\\", label=\\\"%s (%s,%s)\\\"];\" % (node, x, y, node, x, y))\n",
" print(\"\\t\\\"%s\\\" [pos=\\\"%s,%s!\\\"];\" % (node, x, y))\n",
" if types[node] == 'blocker':\n",
" print(\"\\t\\\"%s\\\" [color=grey];\" % node)\n",
" if types[node] in ['source', 'target','blocker']:\n",
" print(\"\\t\\\"%s\\\" [shape=square];\" % node)\n",
" \n",
"for e in edges:\n",
" print(\"\\t\\\"%s\\\" -> \\\"%s\\\";\" % e)\n",
"\n",
"print(\"}\")"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n/wVP98a95nB1mgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"!clingo embedding.lp instance-quad.lp projection-viz.lp --outf=2 \\\n",
" | python visualize.py \\\n",
" | neato -o quad.png -Tpng\n",
"Image(filename='quad.png')"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA7gAAAPFCAIAAADA59MTAAAABmJLR0QA/wD/AP+gvaeTAAAgAElE\nQVR4nOzdeSBU6/8H8DPGmjWlaLVkTxstQlLR7aq0CkVpue1F+y2tV0nLLaV9JXLbtCqVPapbSSFZ\nqlsiWuxjbMP8/ph75+tnC3Nmzgzv1185c5zz9vTxzMeZs9DYbDYBAAAAAAD/nxjVAQAAAAAAhBEa\nZQAAAACABqBRBgAAAABoABplAAAAAIAGiFMdAABA0Kqqql69epWRkZGenp6enp6RkZGfn89gMMrL\ny4uLiwmCoNFoSkpKMjIy0tLS3bp109HR0dbW1tHR0dPT09fXp9FoVP8EAAAgCDTc9QIA2oOampqE\nhISIiIiIiIhHjx6VlpbS6XR1dXVdXV09Pb0uXbrIyspKS0srKipyVi4qKmIymWVlZZmZmenp6Wlp\nadnZ2QRBdOnSxcrKatSoUaNGjerTpw/VPxYAAPARGmUAaONSUlL8/f0DAwOzsrJUVFQsLS2trKws\nLCx0dXUlJSWbv52SkpLk5OSoqKioqKi4uLjS0tL+/fu7uLg4OTmpqqryLz8AAFAFjTIAtE0VFRV+\nfn6nTp168eKFpqbmzJkzp0+f3rdvX1JOnKiqqnry5ElQUNDly5eLiopsbGyWLFlia2uLszIAANoS\nNMoA0NYwmcxTp07t3bu3oKDA2dnZ2dl5+PDhfGphKysr79696+fnd+vWrf79+2/atGny5MliYrhO\nGgCgLUCjDABtB4vFOnr06K5du8rKypYuXeru7q6ioiKYXb99+9bLyysoKEhXV9fLy2vChAmC2S8A\nAPAPGmUAaCPi4uKWLl2akZGxdu3alStXduzYUfAZPnz4sGPHDn9///Hjx/v4+GhoaAg+AwAAkAWf\nDwKAyMvPz3d1dbWwsNDQ0EhJSdm2bRslXTJBEJqamufPn4+Li/v8+bOhoaGnpyeLxaIkCQAA8A5H\nlAFAtD1+/NjR0VFMTMzX19fW1pbqOP+qrq4+evTopk2b+vXrd/HixV69elGdCAAAWgxHlAFAVFVX\nV2/YsMHc3Hz48OFJSUnC0yUTBEGn05cvX56cnMxisYyMjIKCgqhOBAAALYYjygAgkkpLSx0cHEJD\nQ3fu3Ll27VqhvS9baWnp4sWLAwICNm7c+McffwhtTgAQpJKSkr///jvtP3l5eQUFBcXFxdXV1VJS\nUvLy8goKCj169NDV1dXR0TEwMDAxMZGQkKA6dXuERhkARE9+fr6trW1aWlpwcPDIkSOpjvNzR44c\nWbly5ezZs0+cOCEuLk51HACgxpMnT27fvh0ZGfnixQsWi6WgoKCrq6uvr6+mpiYpKSkrK8tZraio\niMViffz4MTU1NT09vaKiQlZW1tzc3MrKasqUKdra2tT+FO0KGmUAEDHv3r2zsbERFxcPDQ3V1NSk\nOk5zhYWFTZ061cTE5Pr16woKClTHAQDB+fz5s5+f34ULF9LT03V0dEaOHDlixAgLC4vmXL1QXV2d\nlpYWHR0dExMTFRWVm5s7fPhwFxcXR0dHIZxJoqOjv337RnWK1tPT0zMyMqq9BI0ygNBhMpkfP36k\nOkUr0el0LS0t/h00zcrKMjMzU1BQuHfvXo8ePfi0Fz55/PjxxIkT+/Xrd+/ePSkpKarjADQA8w+5\nnj9/vmPHjrt372pqas6fP9/BwaF37968bDA+Pt7f3z8oKIjJZM6bN2/t2rXCMxM+e/Zs2LBhIt1Y\nysnJ5ebmcg/tE7iYD0AIZWVlFRUVUZ2ilb5+/fr9+3c+bbygoGDcuHGKiooxMTHC897QfMOHD4+K\ninr16pWzs3NNTQ3VcQAagPmHLNnZ2Y6OjsOGDXv//r2/v39qaur69et57JIJgjA2Nvbx8fnw4cPm\nzZs5Tzj6/fffmUwmKZl5VFhYyGazCwoK2KLp/v37DAajqqqq9g8lRH91AQCXrKysgYEB1SlaIy4u\njk9bZjAYY8eOraqqevToEVW3SeZd3759Hzx4YGVltWjRopMnT1IdB6ABmH94VF1d7evru2XLlk6d\nOgUGBtrb25P+WHs5Obn169cvW7bM19fX09Pzr7/+Eqr7Y7YlOKIMACKAzWa7urp+/Pjx1q1bAnsq\nNZ+YmJgEBgaeO3du//79VGcBAJJ9/PjR3Nz8999/d3d3f/PmjYODA+ldMpesrOz69evfvn07cODA\n8ePHu7i4MBgMPu2r3UKjDAAi4MCBA7du3bp165aOjg7VWUgwceLEgwcPbtiw4dGjR1RnAQDSXL16\ndeDAgRUVFa9fv962bZuMjIwAdtqjR4/g4ODg4OCQkBBjY+OEhAQB7LT9IOfUi+Tk5Ly8PFI2xSfq\n6uq8nxgEfIL6gaY9evRo/fr1Pj4+w4YNozoLaZYuXfrs2bNp06YlJCR069aN6jjtF+YfIMvmzZs9\nPT0XLFhw6NAhaWlpAe998uTJxsbGjo6OpqamQUFBkydPFnCAtoqcRrmoqEhNTU1ozxrMyckR3UsT\n2gPUDzQhLy9v1qxZtra2ixcvpjoLyQ4fPmxsbOzq6nrv3j3+fTgLTcP8A7yrqalZsWLF8ePHjx07\ntmjRIqpi9OrVKzo6etGiRdOnTz916pSrqytVSdoS0i7mk5eXF9oTBwsKCsrLy6lOAU1B/UBjVq1a\nRRDEuXPn2t4z7RQUFC5dumRqanry5EkK31wB8w/woqamxtXV9dKlS3/99de0adOoDSMuLn7q1Kmu\nXbvOmzevtLR02bJl1OZpA3DXCwAQXmFhYf7+/qGhoUJ7wI9HgwYNWrdu3fr16ydOnIgTMABE0YoV\nKy5dunT79m1ra2uqsxAEQdBotJ07dyoqKq5YsUJJSWnWrFlUJxJt+LAPAIRUeXn5kiVL7Ozsxo4d\nS3UWPtq4cWOnTp3Wrl1LdRAAaLGtW7ceP348MDBQSLpkrnXr1q1du3bu3LkhISFUZxFtaJQBQEgd\nPnz48+fPbf4eajIyMt7e3kFBQbGxsVRnAYAWuHbt2o4dO44cOTJ16lSqszRg9+7dTk5Ojo6OGRkZ\nVGcRYWiUAUAYMRgMb29vNzc3LS0tqrPw3fTp00eMGLFlyxaqgwBAc6Wlpc2ZM2fZsmULFy6kOkvD\naDTaqVOnjIyMJk+eLCSP7hNFaJQBQBgdPXq0srKy/ZyQsH379sjISNxWGUAksFis2bNna2pq7tmz\nh+osTZGQkPD398/KytqwYQPVWUQVGmUAEDplZWV//vnnwoULlZWVqc4iIJaWlubm5jt37qQ6CAD8\n3NGjR1+9enXp0iXBPFKEF1paWkeOHDly5MizZ8+oziKS0CgDgNAJCAgoLCx0c3OjOohArVu37sGD\nB4mJiVQHAYCmZGdne3h4bNq0SU9Pj+oszTJz5sxx48bNnz+fxWJRnUX0oFEGAKFz+vTpGTNmdO/e\nneogAjV+/HgdHZ0zZ85QHQQAmrJx48YuXbqsWbOG6iAtsG/fvrS0tHPnzlEdRPSgUQYA4ZKcnPzs\n2bO5c+dSHUTQaDSaq6trQEBAZWUl1VkAoGEZGRmBgYFeXl7Cf9JFbXp6eosXL965c2dVVRXVWUQM\nGmUAEC6BgYGampojRoygOggFnJ2di4qKQkNDqQ4CAA3z9PTU19en/Al8rbBhw4Zv376dPXuW6iAi\nBo0yAAgRNpsdFBTk6OjY9h5Y3RzdunWztLS8ePEi1UEAoAFZWVlBQUGrVq0SxQlKVVV15syZ+/bt\nq6mpoTqLKEGjDABCJDEx8dOnT/b29lQHoYy9vf29e/dwzQ2AEPL391dUVJw5cybVQVrJzc3t3bt3\n0dHRVAcRJWiUAUCIhIWFqaqqGhkZUR2EMmPGjCkuLsaNnACEDZvNPnfunJOTk6SkJNVZWsnQ0HDw\n4MF+fn5UBxElaJQBQIhERkZaWlqK4seaZNHS0urdu3dERATVQQDg/4mPj3/37p2TkxPVQXji5OR0\n48aNsrIyqoOIDDTKACAsqqqqYmJirKysqA5CMSsrKzTKAMLmzp076urqQ4cOpToIT6ZPn15UVBQT\nE0N1EJGBRhkAhEVKSkpJSYmZmRnVQShmbm7+999/44IbAKESHh4+ZswYqlPwqnv37oaGhuHh4VQH\nERlC1yizWKzHjx9z/l1SUnLixIkNGzacPn2ayWRyFr58+fLTp0/UBQShVrt+CgsL9+/fv3LlygcP\nHlRXV3MWtrf6qT0gHLm5uVFRUY2tX+dVAQ/X27dvJSQkdHV1BbZHjganmtrqD2NISEjQf/bs2cNk\nMkkcK0NDQyaTmZmZScrWQGBq10leXt7Zs2e3bdsWHBzMYDA4CzH/NDb/VFRUPHjwYM+ePY8fPxbO\n6bq0tPTvv/9uxeddDAbj5s2b27dv/+ma9YeLIIjXr18fPnz4xIkTWVlZZA2IlZVVZGQk79uhluDa\nRTYZYmNjv3z5wvt2CgsLd+3aVVxczGazU1NTVVVVtbW1OWfNa2lp5eTksNnsqqqqRYsWRUdHN3+z\naWlpr1+/5j0e8Ak/6icvL09LS8vZ2XnUqFFiYmJDhgzhrCMS9UPWHmsPCJvN/vbt2+rVq2VkZFas\nWFF/5QZfbcVw8fK/uX37dh0dndZ9b6s1NtVw1RlGNpv99u3b2mdROzg4sFs1Vo3Jz88nCOL+/fu8\nbwp+ih/zT0JCQt++fZ88eVJaWurt7d2vXz/OLjD/NDj/fP36VUND49SpU9+/f1+7dq2trS2LxWIL\nfP5pGudOEZmZmS39xnPnznXu3FlXV7fp1erPM9+/f583b964ceM+ffrEWULWJHPp0iU6nc5kMnnc\nTn33798nCKKgoID0LdfBp3axwfxC1ChnZWVNmDChsLCQ8+W4ceM4v6vfvn2bP38+QRBz587lvMRi\nscaNG5eYmNjMLaNRFnL8qJ9jx47l5eVx/r1jxw6CIGJjYzlfCn/9kLLHOgPCZrOfPXv2+vVrgiAa\nbJQbe7Wlw8XL/6aTk9P48eNb972t1sRUw25oGNls9oIFCyIjIzP/U1ZWxlne0rFqQufOnQ8dOsT7\nduCnSJ9/qqur+/fvv27dOu6rQ4YMsba25vwb80+dGaa6utrc3HzixImcL1ksVu/evdevX8/9UmDz\nT9OOHTvWsWPH1n3vL7/80nSjXH+4/vnnn86dO8+aNavOmqRMMikpKQRBJCQk8LKRBjW/Ufbz82v+\nZuuszL92scH8QnTqxapVqyZPnqyoqEgQRHx8/MyZM/v160cQhIqKyo4dO8TExLjH2Ol0+qpVq377\n7Tcq44KQqV0/lZWVY8eOVVZW5rzk4uJCEISCggLny3ZSP7UHhGPw4MF6enqNrd/Yq4IcroyMDG1t\nbQHsiKvpqYZoaBhzc3MTExP79OnT8z/S0tKcl0gcKx0dnYyMDN63A4JRu06ePn36+vXrgQMHcl8d\nMmTIw4cP4+PjCcw/9cTExMTGxi5YsIDzJZ1Onz17tq+vb2lpKSFMw5WWlqajo9O676XT6U3fyafO\ncFVWVtrb2ysrKx8/frz+pngfEC0tLXFx8bS0tOZ/y/Xr1wcNGuTt7U3KyQwRERG///57q1cWcLso\nzss3N19SUhJ3jrCxsXn58uXXr18lJCTs7e0lJCQIgnj27FlISMjp06c566urqw8aNIj77WpqasbG\nxuLi/0s7ZswYNze34ODgKVOmCOZHAAq1tH4kJSU1NDS4356YmDh+/Pjat+ZtA/XT9JjUGRAeCWy4\nvn//rqqq2upv/2mdsNns6OjoV69e0el0PT09a2vrpqeaBofx8OHDf//9d8+ePTU0NLZs2TJ79uza\nb4FkjZWqqur379952QKQpaXzD6f/YLPZ3C0MHjyYIIjY2FhjY2MC88//FxwcTBBE7fm5b9++paWl\nd+/enT59OiE0w5Went7qRpnr8ePH9+/f79ev39SpU7kL6w/Xpk2bnj9/fvr0aVlZ2fob4X1AJCUl\n1dXV09PTm/8tt2/ffvXqVWJi4oYNG4yNjV1dXe3t7VVUVFqx98jIyEmTJtFotBMnTnTr1m3ChAkE\nQTAYjAsXLmRmZmpraw8ZMkRfX59Opze4suDbRQEdUTYyMqLRaK6urg8ePOjatauYmNj58+d/+eUX\nzixDEMSePXtMTU3l5eU5X3bq1KnOn1+fP38eN25c7SVmZmaenp6CyQ/Uamn9cLHZ7MuXL2/YsOHY\nsWN1XhL1+ml6TBobkFYTzHCVlJTwkvmndeLh4fHu3Ts3NzdTU1MPDw/iZ1NNg8NoaWm5du1ac3Pz\nrKwsV1dXGxsb7rVHHKSMlby8fHFxMY8bAVK0dP6RkZEhCOLFixfcLWhpaREEUfvqTMw/XO/evSMI\nQk1NjbukS5cuBEHUbuOEYbi+ffvGy5/xFRUVEyZM2LVr15UrV6ZNm+bs7Mx9qf5wBQUFiYuLJyUl\njRo1Sk5ObsSIES9fvqy9Nd4HRE1NraV/iouJiXHmuvj4eDc3t65duw4ZMsTHx+fbt28t2k7Hjh37\n9esnJSWlq6vbs2dPgiAKCgqMjY379u3r4eFx584dIyMjU1NTd3f3BlcWfLsouFMvZs+ePWvWrKtX\nr2ZkZPj6+l66dKlTp07cVxMTE7t169bY98bExIiLi3NGjcvQ0DApKamyspKPoUFotKJ+SktLFy5c\n6OrqmpKSYmRk9Pz589qvtoH6aWJMmv6FagXBDBePjTLR5Jiw2eyTJ0/26dOHIAgTE5OJEyfW//Y6\nU02Dw2hjY7Nnz55Hjx49f/5cT08vLCxs7969tVcgZawUFBRKSkp42QKQqEXzj5mZmaSkJOcSIs6S\noqIigiDU1dW562D+4fr69SudTq/9rLsOHToQBJGTk8NdIgzDxWAweJmdsrOz9+3bd+fOnTdv3tjZ\n2QUEBNy7d4/zUp3hys7Ozs7O7tu375YtWyIiIl6+fPnu3TtLS8vs7GzuOrwPiLy8PC8zDOdqyxcv\nXqxevVpNTc3Kysrf37+ZGxwwYICKioq0tPTIkSMHDBhAEMTevXsrKiosLCxkZWU5hzCcnJwOHDjQ\n4MqCbxcFeo6yj4+PkpKSqanp3Llzu3btyl1eWVn54cOH2n9Q1lZdXb1ly5Zbt27JycnVXq6oqMhi\nsTh/jEJ70NL6kZWVPXnyZElJyYEDB0pKShYvXlz71bZRPw2OSdO/UK0jgOGqrKysrKzk/Sh4Y3VC\no9F0dXVnzJhx8+ZNgiDWrFlT5xvrTDU/Hcb+/fvHx8f36NEjKCio9nJSxgpHlIVN8+efnj17enp6\nxsfHu7q63r17d//+/Vu3biUIon///tx1MP9w1XlnJwiCc9iy9uFbYRiukpKS+lGbz9DQkHPjSxqN\nxnkzCgkJIRoaLs7B40mTJnEus9HR0fnzzz8ZDMbRo0e56/A+IPLy8jk5OVearcFTk9lsdnV1dU1N\nTUxMzJw5c1RVVescNWhC7cPA79+///79O6eR7d+/v6ys7OfPnxtcmZJ2UaCNsrKysqenZ15eHvem\nkhz5+fnV1dWcj6vqW7NmzapVq2pfGMHBGYisrCw+pQVh07r6ERMTc3NzmzJlSkJCQkVFBXd526if\nBsek6QFpHQEMV3l5OUEQUlJSPG6nsTohCMLX11dBQWHSpEljxowpLCys82qdqaY5w9ihQwc7O7s6\nV92RMlbS0tK1yxUo16L5Z+3atVFRUd27d4+NjeWcCq+oqFj7XQzzD1fPnj2rq6trVzvnwKSBgQF3\niTAMV0VFBfeyXR4NGzZMTEzsy5cvREPDxblGrXPnztwlpqamxH/nvnPwPiDS0tJfvnyxbzbO3fEa\nU1NTw2azmUxmWFhYMwPUbpStrKyYTGZsbCxBEAUFBZWVldbW1g2uTEm7KNBGuaamJiQkZNiwYStX\nrszNzeUuV1VVVVJSavCg/cmTJwcOHNjgh6QFBQUEQXDOWYH2oBX1w2Vtba2srFy7CWsb9dPgmDRn\nQFpKAMMlKytLo9E4l7rzorE6IQhiwIABL1++XLJkSVRU1KBBgzi3K+aoP9U0cxj19PTqXOJDylgx\nGAxeDl8B6Vo6/1haWu7cuXPXrl3y8vK3bt3asWNH7U9LMP9w6evrEwRR+wjijx8/iP/fKAvDcMnK\nytb/27t1FBQU5OTkNDU1iYaGizOfcK6V5OjVq5eEhAS59cNgMPT19Zt/gzbOzaMaJC4uLiUlRaPR\nTE1Nly1b1swAtRvl+fPnr169etGiRVeuXNmyZYuXl9cvv/zS4MqUtIsCbZQPHDhgZ2d38eLFysrK\nOp+DGxoa1j8f/Pr163X+e2r/TZOTk0Oj0Wrf3ADatpbWT23JycmcS2u52kb9NDYmPx2QlhLAcNHp\ndBkZGd77+8bGpKKi4sKFC/Ly8keOHAkJCcnJyeFcbk80PtU0ZxivX79uZ2dXewkpY1VcXEzitZjA\nu9bNP5WVlTNmzNDV1V2yZEnt5Zh/uObNmyclJRUXF8ddEh8fP2DAgNp/fwrDcMnJyZHVKCckJBQX\nF3MvOKszXKqqqmPHjn369Cl3SUZGRlVVlZmZGXcJ7wPC+wxDo9EkJCRoNJqxsfGhQ4e+f//++PHj\nOu+zTXxv7WugxcXF1dTUzp07169fvwMHDqxevbqJlQXfLgquUU5OTo6Kipo9e7aGhsbmzZtv3LgR\nEBDAfdXCwiIpKan2+mFhYd7e3lVVVb6+vr6+vj4+PgsXLkxMTOSu8PHjRxsbG7I+CgEh16L6KSsr\n27lzZ3JyMufLvLy8hIQEzpUBXG2gfpoYk/q/UBycP6w5Jzm06FXBDBeP15cQTY4Jm80+fvw45/oq\nGxubzp07cz7cbGKqqT+M6enpbm5uCQkJnC/fvHlTWlrKufqEi5Sx4v26RiBRS9+/OEpLSxcsWKCh\noREWFlb7flUE5p9aVFVVly1btnfvXs7vZnl5+e3bt8+cOSMm9r/+RBiGS15enpdGmcFg1NTUcP59\n5cqVGTNmjB49mvNl/eHav3//58+fuTcDjoyM1NfXnzNnDncF3geElxmGc+WlkZHR3r17P378+PTp\n099++6325a0/paamlpub++HDh/fv35eWlh47duzq1atVVVWVlZWZmZl13gXqrExBu9j8A+9N+Omz\ncCIiItTV1desWcM5kSUwMJAgCGlp6VOnTnFWyM/P79Kly7t37zhfxsfH1799oLS0NPdZaxUVFZ06\ndXr48GFz4uHJfEKO9PphMBgDBw6k0WiDBw/evHmzj49PSUlJ7Q0Kef00Z49Nj0mdAeG4e/fujBkz\nCILo0qXLqVOn6jyouYlXWzRcvDwZq0+fPrt27Wrd97J/NiZlZWVqamoODg5XrlzZt2/fli1b2D+b\nauoPY3x8POcMQisrq/Xr13t7e9d5DGyLxqoJEydOnDlzJo8bgeYgff5hs9k/fvw4c+bM8OHDg4OD\n628Q80+dGaampmb9+vXjx48/dOjQ77//7u/vX/sbBTb/NG3y5MnTp09v3fc+ePBg4MCBY8aM2bZt\n28KFCz08PKqqqrivNjhcr1+/Hj169JYtW3bu3Dl+/PjaPxQpk0z37t29vb2bv76rqyvn/AcVFZUV\nK1Y8efKkwdWa+WS+yMhIcXFxJSUlzvNHr1+/XmceHjNmDLdC6qzM13ZR2B9hffz48aVLlzZz5cuX\nL9vZ2TVzZTTKQo5P9VNQUFBaWtrgykJeP6TssUW/UE1r0XDx8r9pbm6+ZMmS1n1vc1RVVVVUVHz6\n9Kn531J/GMvLy9PT07Oyshpcv0Vj1YRBgwatWbOG9+3AT/Fj/rl+/fr79+8bWxnzT4NYLFZubm79\n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\nBjjgiJNM2xdMJpPJZApZKBMEsWfPntTUVHt7+4MHD2pra/OX02g0MzOzefPmRUREeHh4BAQEtPsg\nm83+6aefzp07p6Kiwsvz5MmTL7/8sm2b6urq8PDw+Pj4DgKoq6uzWKySkhJLS8tu/xbdOKNcV1fH\nS949vK9+CIKg0Wj+/v5nz55NSkqaPHnyh9tBPBtBVVW1uLj4xIkT3fs4gECFhYXtvkkkCILL5fJO\nmdy+ffv27duBgYHTp0+vra3t9g71999/37t3b+rUqbyXtra2dXV1Hz54tjPHnI81bouU3a2wsBC7\nG4A45eXlCVzOq5jv3Llz586ddevWTZ069d27d+IZ39v67LPPsrOzzczM4uPjAwMD+ctJOeDgK6xO\n+leh3NzcTBCEvLy8kJ1qampu3bp18eLF9fX17d4KDw+fM2fOjBkzPv/887i4uLZlNEEQAQEBa9eu\nHT58OO/l+/fv2Wy2oqJi2zZr1qwZOXLkuXPneC+Li4ubm5tPnz6toaHh6urKW8j711xeXi5Moayg\noNDS0tKlj7S0tPBn3AtpzJgxdDqdN3fzw+0gno2goKCQk5Mzd+5coX4TgA98WLDy8Wro5ubmhIQE\nGo3W7cPR/fv3lZWVtbS0Ol5pZ445H2vcFim72/Pnz7G7AYjZJw9Hra2tiYmJsrKy4hnf21FSUvLw\n8Dhy5EjbhaQccD6s0ECgfxXKysrKNBqtoaFByE45HE5SUtKYMWNWrVo1ceLEttN6hg0bdvfu3cDA\nwAMHDtja2ubm5mpqavLeioiIGD58eNv5GDo6OhoaGu2+HXj79i3vKkCempqaxsbG7777zsrKil8j\nVlVVEQQxaNAgYX6L+vr6rv75qKysTNa/PDU1NRUVFSMjI0LQdhDPRqivr582bdrx48e73QPAh9at\nWxcWFibwLTqdLisr29LSMmLECG9v702bNnX7cMThcBoaGjIyMtzc3D7WppPHnI81bouU3c3GxiYl\nJaXbPQBAV/3666+//PKLwLfodLqcnFxzc/PQoUN9fHzCwsLEM75/yNzcvN11hKQccJSVlbv9cany\nrznKDAZDUVFR+Gkru3bt8vDwOHbsGJPJ9Pf35y9vaWmJiYlRVVX9448/kpKSKioq+Jdt8m4g6ufn\nx2/Mu7m3lZUVb3oQ34ULF8rb8Pf319LSKi8vv3TpEr9NRUUFjUYT8nr52trars5CUVFRIWtHysnJ\n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\nAwAAAAAY8T+x5vg4T8A/ZwAAAABJRU5ErkJggg==\n",
"text/plain": [
"<IPython.core.display.Image object>"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"!clingo embedding.lp instance-paper.lp projection-viz.lp --outf=2 --sign-def=rnd --seed=$RANDOM \\\n",
" | python visualize.py \\\n",
" | neato -o paper.png -Tpng\n",
"Image(filename='paper.png')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Test Automation\n",
"Let's automate the testing above using ansunit. I created the test suite in an outside editor."
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Definitions:\r\n",
" embedding: {filename: embedding.lp}\r\n",
" projection: \"#show grid_edge/3.\"\r\n",
"\r\n",
"Modules:\r\n",
" - embedding\r\n",
" - graph\r\n",
"\r\n",
"Test x: # just one blocker\r\n",
" Definitions:\r\n",
" graph: type(x,blocker).\r\n",
"\r\n",
" Test 10 positions in 1D:\r\n",
" Arguments: -c dimensions=1 11\r\n",
" Expect: OPTIMAL\r\n",
"\r\n",
" Test 100 positions in 2D:\r\n",
" Arguments: -c dimensions=2 101\r\n",
" Expect: OPTIMAL\r\n",
" \r\n",
"Test xx: # two blockers\r\n",
" Definitions:\r\n",
" graph: type((x;y),blocker).\r\n",
"\r\n",
" Test overlap is illegal:\r\n",
" Program: at(x,0,0). at(y,0,0).\r\n",
" Arguments: -c dimensions=1\r\n",
" Expect: UNSAT\r\n",
"\r\n",
"Test b: # just one bender\r\n",
" Definitions:\r\n",
" graph: type(b,bender).\r\n",
"\r\n",
" Test clockwise bending okay:\r\n",
" Program: |\r\n",
" port(b,(1,lt),in).\r\n",
" port(b,(0,gt),out).\r\n",
"\r\n",
" Test opposite ports:\r\n",
" Program: |\r\n",
" port(b,(0,lt),in).\r\n",
" port(b,(0,gt),out).\r\n",
" Test legal in 1D:\r\n",
" Arguments: -c dimensions=1\r\n",
" Expect: SAT\r\n",
" Test illegal in 2D:\r\n",
" Arguments: -c dimensions=2\r\n",
" Expect: UNSAT\r\n",
"\r\n",
"Test st: # source --> target\r\n",
" Definitions:\r\n",
" graph: |\r\n",
" #const include_edge = yes.\r\n",
" type(s,source).\r\n",
" type(t,target).\r\n",
" graph_edge(s,t) :- include_edge = yes.\r\n",
" \r\n",
" Test 360 solutions with no edge [graded]:\r\n",
" Arguments: -c dimensions=1 -c include_edge=no 361\r\n",
" Expect: OPTIMAL\r\n",
" \r\n",
" Test 90 solutions with the edge [graded]:\r\n",
" Arguments: -c dimensions=1 91\r\n",
" Expect: OPTIMAL\r\n",
"\r\n",
" Test 1800 solutions in 2D (with edge) [graded]:\r\n",
" Arguments: \"1801\" # quote because it becomes a YAML int otherwise\r\n",
" Expect: OPTIMAL\r\n",
"\r\n",
"Test sbt:\r\n",
" Definitions:\r\n",
" graph: |\r\n",
" type(s,source).\r\n",
" type(b,bender).\r\n",
" type(t,target).\r\n",
" graph_edge(s,b).\r\n",
" graph_edge(b,t).\r\n",
"\r\n",
" Test 240 solutions in 1D [graded]:\r\n",
" Arguments: -c dimensions=1 241\r\n",
" Expect: OPTIMAL\r\n",
"\r\n",
" Test 16200 solutions in 2D [graded]:\r\n",
" Arguments: \"16201\"\r\n",
" Expect: OPTIMAL\r\n",
" \r\n",
"\r\n",
"Test tri:\r\n",
" Definitions:\r\n",
" graph: |\r\n",
" type(a,splitter2).\r\n",
" type(b,bender).\r\n",
" type(c,combiner2).\r\n",
" graph_edge(a,c).\r\n",
" graph_edge(a,b).\r\n",
" graph_edge(b,c).\r\n",
"\r\n",
" Test 0 solutions! [graded]:\r\n",
" Expect: UNSAT\r\n",
"\r\n",
"Test quad:\r\n",
" Definitions:\r\n",
" graph: |\r\n",
" type(a,splitter2).\r\n",
" type(b1,bender).\r\n",
" type(b2,bender).\r\n",
" type(c,combiner2).\r\n",
" graph_edge(a,b1).\r\n",
" graph_edge(a,b2).\r\n",
" graph_edge(b1,c).\r\n",
" graph_edge(b2,c).\r\n",
" \r\n",
" Modules: [projection]\r\n",
" Test 8 projected solutions [graded]:\r\n",
" Arguments: --project 9\r\n",
" Expect: OPTIMAL\r\n",
"\r\n",
"Test paper:\r\n",
" Definitions:\r\n",
" graph: |\r\n",
" type(src(1..2),source).\r\n",
" type(s2(1..2),splitter2).\r\n",
" type(b(1..7),bender).\r\n",
" type(c2(1..2),combiner2).\r\n",
" type(tgt(1..2),target).\r\n",
" type(xs2(1..5),splitter2).\r\n",
" type(xb(1..2),bender).\r\n",
" type(x(1..24),blocker).\r\n",
"\r\n",
" graph_edge(src(2),s2(1)).\r\n",
" graph_edge(s2(1),s2(2)).\r\n",
" graph_edge(s2(1),b(7)).\r\n",
" graph_edge(b(7),c2(2)).\r\n",
" graph_edge(c2(2),b(5)).\r\n",
" graph_edge(b(5),b(6)).\r\n",
" graph_edge(b(6),tgt(2)).\r\n",
" graph_edge(s2(2),b(3)).\r\n",
" graph_edge(b(3),b(4)).\r\n",
" graph_edge(b(4),c2(2)).\r\n",
" graph_edge(s2(2),b(1)).\r\n",
" graph_edge(b(1),b(2)).\r\n",
" graph_edge(b(2),c2(1)).\r\n",
" graph_edge(src(1),c2(1)).\r\n",
" graph_edge(c2(1),tgt(1)).\r\n",
"\r\n",
" Test at least 1 solution [graded]:\r\n",
" Expect: SAT\r\n",
"\r\n",
" Test Adam's solution:\r\n",
" Program: \"port(s2(1),(0,lt),in). port(s2(2),(0,lt),out). port(xs2(1),(0,lt),out). port(xs2(2),(0,lt),out). port(xs2(3),(0,lt),out). port(xs2(4),(0,lt),out). port(xs2(5),(0,lt),out). port(c2(1),(0,lt),out). port(c2(2),(0,lt),in). port(b(1),(0,lt),in). port(b(2),(0,lt),out). port(b(5),(0,lt),out). port(b(7),(0,lt),in). port(src(1),(1,lt),out). port(s2(1),(1,lt),out). port(xs2(3),(1,lt),in). port(xs2(4),(1,lt),in). port(c2(2),(1,lt),out). port(b(2),(1,lt),in). port(b(4),(1,lt),in). port(b(6),(1,lt),out). port(b(7),(1,lt),out). port(xb(1),(1,lt),out). port(xb(2),(1,lt),in). port(src(2),(0,gt),out). port(s2(1),(0,gt),out). port(s2(2),(0,gt),out). port(xs2(1),(0,gt),out). port(xs2(2),(0,gt),out). port(xs2(3),(0,gt),out). port(xs2(4),(0,gt),out). port(xs2(5),(0,gt),out). port(c2(1),(0,gt),in). port(tgt(1),(0,gt),in). port(b(3),(0,gt),in). port(b(4),(0,gt),out). port(b(6),(0,gt),in). port(xb(1),(0,gt),in). port(xb(2),(0,gt),out). port(s2(2),(1,gt),in). port(xs2(1),(1,gt),in). port(xs2(2),(1,gt),in). port(xs2(5),(1,gt),in). port(c2(1),(1,gt),in). port(c2(2),(1,gt),in). port(tgt(2),(1,gt),in). port(b(1),(1,gt),out). port(b(3),(1,gt),out). port(b(5),(1,gt),in). at(src(1),0,7). at(src(2),0,7). at(s2(1),0,2). at(s2(2),0,2). at(b(1),0,1). at(b(2),0,1). at(b(3),0,7). at(b(4),0,7). at(b(6),0,5). at(c2(1),0,7). at(tgt(1),0,8). at(tgt(2),0,5). at(xs2(1),0,6). at(xs2(2),0,9). at(xs2(3),0,7). at(xs2(4),0,5). at(xs2(5),0,8). at(xb(1),0,1). at(x(2),0,3). at(x(3),0,7). at(x(4),0,8). at(x(5),0,9). at(x(6),0,9). at(x(7),0,9). at(x(8),0,9). at(x(9),0,8). at(x(11),0,6). at(x(12),0,1). at(x(13),0,6). at(x(14),0,9). at(x(15),0,8). at(x(16),0,9). at(x(17),0,8). at(x(18),0,8). at(x(19),0,9). at(x(20),0,9). at(x(21),0,3). at(x(22),0,2). at(x(23),0,5). at(x(24),0,4). at(src(1),1,1). at(s2(2),1,8). at(b(1),1,8). at(b(2),1,2). at(b(3),1,8). at(b(4),1,4). at(b(5),1,6). at(b(6),1,6). at(c2(1),1,2). at(c2(2),1,4). at(tgt(1),1,2). at(tgt(2),1,9). at(xs2(1),1,3). at(xs2(2),1,2). at(xs2(3),1,3). at(xs2(4),1,3). at(xs2(5),1,9). at(xb(1),1,1). at(xb(2),1,7). at(x(1),1,8). at(x(2),1,1). at(x(3),1,9). at(x(5),1,1). at(x(6),1,8). at(x(7),1,3). at(x(8),1,9). at(x(9),1,4). at(x(10),1,9). at(x(11),1,9). at(x(12),1,9). at(x(13),1,1). at(x(14),1,6). at(x(15),1,5). at(x(16),1,5). at(x(17),1,3). at(x(18),1,1). at(x(19),1,4). at(x(21),1,3). at(x(22),1,9). at(x(23),1,1). at(x(24),1,5). at(b(5),0,0). at(b(7),0,0). at(c2(2),0,0). at(xb(2),0,0). at(x(1),0,0). at(x(10),0,0). at(src(2),1,0). at(s2(1),1,0). at(b(7),1,0). at(x(4),1,0). at(x(20),1,0).\""
]
}
],
"source": [
"!cat p3-tests.yaml"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Test p3-tests.yaml :: b :: clockwise bending okay ... ok\n",
"Test p3-tests.yaml :: b :: opposite ports :: illegal in 2D ... ok\n",
"Test p3-tests.yaml :: b :: opposite ports :: legal in 1D ... ok\n",
"Test p3-tests.yaml :: paper :: Adam's solution ... ok\n",
"Test p3-tests.yaml :: paper :: at least 1 solution [graded] ... ok\n",
"Test p3-tests.yaml :: quad :: 8 projected solutions [graded] ... ok\n",
"Test p3-tests.yaml :: sbt :: 16200 solutions in 2D [graded] ... ok\n",
"Test p3-tests.yaml :: sbt :: 240 solutions in 1D [graded] ... ok\n",
"Test p3-tests.yaml :: st :: 1800 solutions in 2D (with edge) [graded] ... ok\n",
"Test p3-tests.yaml :: st :: 360 solutions with no edge [graded] ... ok\n",
"Test p3-tests.yaml :: st :: 90 solutions with the edge [graded] ... ok\n",
"Test p3-tests.yaml :: tri :: 0 solutions! [graded] ... ok\n",
"Test p3-tests.yaml :: x :: 10 positions in 1D ... ok\n",
"Test p3-tests.yaml :: x :: 100 positions in 2D ... ok\n",
"Test p3-tests.yaml :: xx :: overlap is illegal ... ok\n",
"\n",
"----------------------------------------------------------------------\n",
"Ran 15 tests in 4.947s\n",
"\n",
"OK\n"
]
}
],
"source": [
"!ansunit p3-tests.yaml -vv"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment