1 \subsection{Implementation of the hitting-set algorithm
}
2 \subsubsection{Task
12: Generate conflict
}
4 \caption{Generating conflict sets
}
5 \prologcode{./src/task12.pl
}
8 \subsubsection{Task
13: Define your data structure
}
10 \caption{Hitting set datastructure
}
11 \prologcode{./src/hs.pl
}
15 \caption{Examples of good hitting set trees
}
16 \begin{tikzpicture
} [grow=down
]
17 \node[bag
] {\
{$a, b\
}$
}
19 node
[end, label=below:$
\checkmark$
]{}
24 node
[end, label=below:$
\checkmark$
]{}
29 \begin{tikzpicture
} [grow=down
]
30 \node[bag
] {\
{$a, b\
}$
}
32 node
[bag
] {$\
{c, d\
}$
}
34 node
[end, label=below:$
\checkmark$
]{}
39 node
[end, label=below:$
\checkmark$
]{}
47 node
[end, label=below:$
\checkmark$
]{}
55 \caption{Examples of bad hitting set trees due to duplicate edge labels
}
56 \begin{tikzpicture
} [grow=down
]
57 \node[bag
] {\
{$a, b\
}$
}
59 node
[bag
] {$\
{c, a\
}$
}
61 node
[end, label=below:$
\checkmark$
]{}
66 node
[end, label=below:$
\checkmark$
]{}
74 node
[end, label=below:$
\checkmark$
]{}
81 \subsubsection{Task
14: Implementation
}
83 \caption{Code for generating a hitting set tree
}
84 \prologcode{./src/task14part1.pl
}
88 \caption{Code for generating a minimal hitting sets
}
89 \prologcode{./src/task14part2.pl
}