diff -r fd3f8581ce85 -r f8a781322499 cws/cw02.tex --- a/cws/cw02.tex Thu Dec 08 12:50:54 2016 +0000 +++ b/cws/cw02.tex Tue Dec 13 13:02:52 2016 +0000 @@ -34,7 +34,9 @@ copy any code you need from files \texttt{knight1.scala}, \texttt{knight2.scala} and \texttt{knight3.scala}. Make sure the functions you submit are defined on the ``top-level'' of Scala, not -inside a class or object. +inside a class or object. Also note that the running time of +each part will be restricted to a maximum of 360 seconds. + \subsection*{Disclaimer} @@ -319,19 +321,19 @@ \item[(3a)] Write a function ordered-moves that calculates a list of onward moves like in (1b) but orders them according to the Warnsdorf’s rule. That means moves with the fewest legal onward moves - should come first (in order to be tried out first). + should come first (in order to be tried out first). \hfill[1 Mark] \item[(3b)] Implement a first-closed-tour-heuristic function that searches for a \textbf{closed} tour on a $6\times 6$ board. It should use the first-function from (2a) and tries out onward moves according to the ordered-moves function from (3a). It is more likely to find a solution when started in the middle of the board (that is - position $(dimension / 2, dimension / 2)$). + position $(dimension / 2, dimension / 2)$). \hfill[1 Mark] \item[(3c)] Implement a first-tour-heuristic function for boards up to $50\times 50$. It is the same function as in (3b) but searches for \textbf{open} tours. You have to be careful to write a tail-recursive version of the first-tour-heuristic - function otherwise you will get problems with stack-overflows. + function otherwise you will get problems with stack-overflows. \hfill[1 Mark] \end{itemize} \end{document}